Jenkins|Jenkins pipeline 拉取gitlab项目大文件失败
背景:
【Jenkins|Jenkins pipeline 拉取gitlab项目大文件失败】pipeline都基本是一个模板,参照:Jenkins Pipeline演进。最近新上了一个项目。springcloud的聚合工程,8个子项目。本来是要求程序直接提交代码到gitlab,我直接自己maven打包,并且docker build构建镜像并发布到线上环境。但是程序喜欢个人提交jar包(每个jar包100m左右)。gitlab比较老只开通了http方式,并没有开通ssh方式。开始还好jenkins还能发布,昨天晚上直接不能发布了....报错如下:
RPC failed;
HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out
解决问题思路: 嗯git文件过大!。解决方式无非两种:
1.增加ssh方式 clone方式修改为ssh。老的不想动了,并且容器里面clone构建的。整ssh的方式就不采用了。
2.获取最新的版本--depth=1的方式 如下:
stage("GetCode"){
agent { label"build01" }
steps{
script{
println("下载代码 --> 分支: ${env.branchName}")
checkout([$class: 'GitSCM', branches: [[name: "${env.branchName}"]],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'CloneOption', depth: 1, noTags: false, reference: '', shallow: true]],
submoduleCfg: [],
userRemoteConfigs: [[credentialsId: 'laya-open-php',
url: "${env.gitHttpURL}"]]])
}
}
}
extensions参数中增加depth等参数!

文章图片
嗯总算可以拉动代码了
思考: 1. git的正确使用方式。应不应该去放大文件?git应该怎样去使用? 3. 灵魂拷问:打包与制品的管理? 3. 如果推动程序去规划化打包发布流程?
推荐阅读
- 2021-04-24|2021-04-24 K8s构建Jenkins(1)
- Jenkins自动化部署-前端篇|Jenkins自动化部署-前端篇 (四)
- Jenkins+SonarQube代码质量检查自动化
- jenkins节点
- Jenkins2.40+Gitee+Maven+Tomcat8.5.56
- 记录Linux下部署jenkins+git+maven构建spingboot项目遇到的坑
- git|git 远程向gitlab上拉取、提交代码
- jenkins配置163邮箱的操作方法
- 使用GitLab+Jenkins实现持续集成CI环境的示例代码
- DataPipeline官宣(前Teradata中国区金融行业总经理黄海硕出任DataPipeline高级销售副总裁)