我已经设置了Jenkins,我正在使用Jenkins工作流程multibranch插件。我已将其配置为在任何分支的GitHub仓库中监听提交。
这是其中一个分支中提交的Jenkinsfile
的示例:
node {
// Mark the code checkout 'stage'....
stage 'Checkout'
// Get some code from a GitHub repository
git url: 'git@github.com:Me/my-repo.git', credentialsId: '###'
// Get the maven tool.
// ** NOTE: This 'M3' maven tool must be configured
// ** in the global configuration.
def mvnHome = tool 'M3'
stage 'Build'
sh "${mvnHome}/bin/mvn clean install"
}
当我在此分支中提交某些内容时,将触发构建。问题是git检查主分支而不是当前正在构建的分支。
如何查看当前构建的分支?
到目前为止的解决方案
checkout scm
代替git url: 'git@github.com:Me/my-repo.git', credentialsId: '###'
这样您就会检查当前分支。答案 0 :(得分:1)
在Jenkinsfile
中,使用branch
行上的git
参数添加要结帐的分支名称:
git {...}, branch: 'branch-name'
某些构建触发器设置一个包含分支名称的环境变量(例如,Gerrit Trigger Plugin设置GERRIT_BRANCH
),这样您就可以将branch
设置为该环境变量而不是每个分支编码。