Jenkinsfile 签出不同的 repo 并更新文件

Jenkinsfile to checkout different repo and update a file

我有 2 个存储库 A 和 B。在构建 A 结束时,我想用 A 的构建号更新存储库 B 中的属性文件

  1. 我如何才能在回购 A 的 Jenkinfile 中检出 master 分支 repo B(这是最后一个阶段)?
  2. 结帐后,我可以按照步骤操作吗 下面提到更新文件或者有没有更好的方法 实现了吗?

回购 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 添加 .,并单独或使用通配符添加文件。