专栏首页煮茶科技【GitLab CI/CD】记一个问题 `too large archive`

【GitLab CI/CD】记一个问题 `too large archive`

昨天到今天,我终于解决了一个问题!!

事情是这样子的,我自己搭建了 GitLab ,并导入了我在 GitHub 所有的仓库,并打算未来就在这里提交我的代码了。一方面是因为 GitHub 实在是太慢了,目前使用 iPad 代理切换不智能;另一方面是我想要搭建自己的一套 Git Hosting + CI/CD 系统。搭建过程很顺利、导入过程也十分顺利,但是到了 CI/CD 这里就出了问题,我想要通过 GitLab Runner 编译我的 MKDocs 页面并自动部署到 GitLab Pages,但我被一个错误坑了整整两天:

错误日志如下:

$ mv site/ public
$ du -sh public
6.2M    public
Uploading artifacts...
public: found 185 matching files                   
ERROR: Uploading artifacts to coordinator... too large archive  id=102 responseStatus=413 Request Entity Too Large status=413 Request Entity Too Large token=DwkMS97K
FATAL: too large                                   
ERROR: Job failed: exit code 1

大概是说提交体积过大引发接受端 413 错误,可是这是怎么回事呢?于是我使用 ERROR: Uploading artifacts to coordinator... too large archive 搜索了 BING cn, Google, BaiDu, 最终有两种方案:

1.

In your gitlab, go to Settings > Continuous Integration and Deployment > Maximum artifacts size (MB) and set it to the desired value. The default is 100MB. 

2.

In the gitlab.rb file, mine at /etc/gitlab/gitlab.rb, set or uncomment the following line.

nginx['client_max_body_size'] = '250m' 

尝试后 终无果。

终于在今天晚上,今天晚上,再错误中挣扎了 48 小时后,突然灵光一现,是反代的 nginx 设置错误!!!

我的 GitLab 服务器配置在一台裸金属服务器内部的虚拟机上,没有为它分配外网 IP ,为了使用域名解析,我在宿主机上使用反向代理将域名请求反向代理到内网 IP 上,从而实现了外网访问 GitLab ,但问题就出在这个反代的服务器上了,我思前想后找遍了 GitLab 的配置文件就是没有往它身上想。终于今天我打算使用境外服务器 Runner 配置一下,拉取代码的时候我突然意识到这个问题。

修改后完成,在经历了100多次尝试后,我终于找到了问题所在!!!

好了好了,这件事情带给我几点启示:

  • 在实践过程中可能会遇到很多奇葩问题,且并不是所有问题都是“讲理的”
  • 遇到问题别慌,想办法,理思路,实在解决不了放一放,别钻牛角尖

宋天伦

Author: Frytea Title: 【GitLab CI/CD】记一个脑残问题 `too large archive` Link: https://blog.frytea.com/archives/271/ Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Aria2 + Rclone 实现离线下载 | 完美脚本配置 | 解决无法上传问题

    首先声明,本文完美脚本来自于: P3TERX/aria2.conf,本文记录的是安装完美脚本 2020.08.08 版本时遇到的问题。

    宋天伦
  • 【持续集成】Android使用Github Action自动打包并发布Fir.im内测

    GitHub Actions 是 GitHub 官方提供并免费提供给开源仓库使用的持续集成服务,在进入本文主题之前,先讲讲什么是持续集成 (CI/CD) 。

    宋天伦
  • Wordpress检测文章手否被百度收录

    开通博客后就痴迷于让更多的人看到自己的博客,在百度搜索资源提交链接,又配置了文章自动提交百度的代码,还是想知道文章是否被百度收录,于是找到了下面这篇文章:

    宋天伦
  • 【Node.js】一个愚蠢的Try Catch过错

      前段时间学习《深入浅出Nodejs》时,在第四章 - 异步编程中作者朴灵曾提到,异步编程的难点之一是异常处理,书中描述"尝试对异步方法进行try/catch...

    宋凯伦
  • ​2.3.2 JDK动态代理 -《SSM深入解析与项目实战》

    JDK动态代理是由Java内部使用反射机制来实现的。使用JDK动态代理必须是委托类实现统一的接口,否则JDK动态代理不能应用。虽然有一定的局限性,但是影响不大。...

    谙忆
  • Scrapy(6)Item loader 加载器详解

    接下来,收集数据后,调用 ItemLoader.load_item() 方法来获得 Item 对象。

    公众号---志学Python
  • 【leetcode】4Sum

    Given an array S of n integers, are there elements a, b, c, and d in S such that...

    阳光岛主
  • LeetCode 150. 逆波兰表达式求值

    有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。

    freesan44
  • 观点 | 深度学习,先跟上再说

    用户1737318
  • 资讯 | 你家的网络摄像头可能也正被CIA监控,维基解密曝光CIA视频流窃听工具

    大数据文摘

扫码关注云+社区

领取腾讯云代金券