关于jenkins:Jenkins-pipeline-拉取gitlab项目大文件失败

39次阅读

共计 890 个字符,预计需要花费 3 分钟才能阅读完成。

背景:

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. 如果推动程序去布局化打包公布流程?

正文完
 0