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