Jenkinsfile 签出不同的 repo 并更新文件
Jenkinsfile to checkout different repo and update a file
我有 2 个存储库 A 和 B。在构建 A 结束时,我想用 A 的构建号更新存储库 B 中的属性文件
- 我如何才能在回购 A 的 Jenkinfile 中检出 master 分支 repo B(这是最后一个阶段)?
- 结帐后,我可以按照步骤操作吗
下面提到更新文件或者有没有更好的方法
实现了吗?
回购 A 的 Jenkins 文件:
stage('Update properties file in repo B') {
steps {
script {
// how do I checkout master branch ofrepo B here?
sh "git config --global user.email jenkins@abc.com"
sh "git config --global user.name Jenkins"
sh(script: 'echo "repoA_VERSION=$BUILD_NUMBER" > version.properties', returnStdout: true).trim()
git add .
git commit -m "Updated version.properties file with ${env.BUILD_NUMBER}"
}
}
}
您只需调用 git 步骤:
例如
git branch: 'your_branch', credentialsId: 'your_credentials', url: 'your_repo'
如果您不知道凭据的标识符,可以转到:
your_jenkins_server:8080/job/job_name/pipeline-syntax/
其中 job_name 是您服务器中的任何作业,您将访问管道语法,然后您可以配置 git 结帐并生成命令:
对于数字 2,
代码必须在 sh 命令中:
sh """git add .
git commit -m "Updated version.properties file with ${env.BUILD_NUMBER}"
git push
"""
最后的建议,避免使用 git 添加 .,并单独或使用通配符添加文件。
我有 2 个存储库 A 和 B。在构建 A 结束时,我想用 A 的构建号更新存储库 B 中的属性文件
- 我如何才能在回购 A 的 Jenkinfile 中检出 master 分支 repo B(这是最后一个阶段)?
- 结帐后,我可以按照步骤操作吗 下面提到更新文件或者有没有更好的方法 实现了吗?
回购 A 的 Jenkins 文件:
stage('Update properties file in repo B') {
steps {
script {
// how do I checkout master branch ofrepo B here?
sh "git config --global user.email jenkins@abc.com"
sh "git config --global user.name Jenkins"
sh(script: 'echo "repoA_VERSION=$BUILD_NUMBER" > version.properties', returnStdout: true).trim()
git add .
git commit -m "Updated version.properties file with ${env.BUILD_NUMBER}"
}
}
}
您只需调用 git 步骤:
例如
git branch: 'your_branch', credentialsId: 'your_credentials', url: 'your_repo'
如果您不知道凭据的标识符,可以转到:
your_jenkins_server:8080/job/job_name/pipeline-syntax/
其中 job_name 是您服务器中的任何作业,您将访问管道语法,然后您可以配置 git 结帐并生成命令:
对于数字 2, 代码必须在 sh 命令中:
sh """git add .
git commit -m "Updated version.properties file with ${env.BUILD_NUMBER}"
git push
"""
最后的建议,避免使用 git 添加 .,并单独或使用通配符添加文件。