Gitlab.com工件大小超限问题咨询及替代方案寻求
GitLab.com CI/CD工件413过大问题解决方案
关于GitLab.com工件大小限制调整
GitLab.com的共享运行器和工件存储有固定的大小限制,普通免费/付费套餐用户无法自行调整该限制(官方文档中针对本地GitLab实例的调整选项不适用于GitLab.com托管服务)。目前GitLab.com的单工件归档大小上限为1GB,你的1.3GB构建包已超出阈值,因此触发413错误。
可行替代方案
拆分工件上传
将构建包拆分为多个小于1GB的分片,在CI脚本中用split命令分割后分别上传:# 分割构建包为1GB分片 split -b 1G ./build-output.zip ./build-output-part-对应的工件配置:
artifacts: paths: - build-output-part-*后续下载时通过
cat命令合并:cat build-output-part-* > build-output.zip上传至外部存储(以Google Drive为例)
跳过GitLab工件存储,直接在CI流水线内将构建包上传到Google Drive:- 在GitLab项目的
Settings > CI/CD > Variables中添加Google Drive服务账号的JSON密钥(命名为GDRIVE_SERVICE_ACCOUNT_KEY,设为保密变量) - CI脚本中安装工具并执行上传:
# 安装gdrive工具 wget https://github.com/prasmussen/gdrive/releases/download/2.1.1/gdrive_2.1.1_linux_amd64.tar.gz tar -xzf gdrive_2.1.1_linux_amd64.tar.gz chmod +x gdrive # 认证服务账号 ./gdrive auth service-account --key <(echo "$GDRIVE_SERVICE_ACCOUNT_KEY") # 上传到指定Drive文件夹 ./gdrive upload --parent <你的文件夹ID> ./build-output.zip注意需确保服务账号拥有目标文件夹的上传权限。
- 在GitLab项目的
使用GitLab对象存储(付费用户专属)
若为GitLab.com付费套餐用户,可在项目Settings > CI/CD > Artifacts中配置GitLab对象存储替代默认工件存储,该方案支持更高的存储配额和更大的单个文件上传量。优化构建包体积
通过精简内容缩小构建包:- 用Unity的Addressable或Asset Bundle工具移除未使用资源
- 采用7z/zip高压缩率模式压缩构建包
- 删除日志、调试符号等非必要文件
内容的提问来源于stack exchange,提问作者Matthew Bracey
相关产品推荐
相关产品推荐

