Jenkins 作业 DSL:在 groovy 脚本中提取最后一次提交的分支
Jenkins job DSL: extract branch with last commit in groovy script
我正在使用 Jenkins 自动完成 运行 作业。我还使用 Bitbucket Server 作为版本控制系统。
我使用一些 groovy 脚本来创建我的 Jenkins 作业 DSL(在每次提交时)我的 Bitbucket 存储库中的任何更改:
job(jobName) {
steps {
// Doing some staff. Need name of branch where last commit was done
}
scm {
git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
}
triggers {
bitbucketPush()
scm ''
}
因此,当我对 my_repo
进行一些提交时,此作业运行并且我想提取完成提交的分支的名称。有可能以某种方式做到吗?
P.S。在 Jenkins 端(UI)我可以看到当前执行的分支名称,但我不知道如何在 groovy 端提取它。
基本上,每次构建的分支信息都会存储在ID为"GIT_BRANCH"的环境变量中,所以有很多方法可以提取它。
你可以简单地添加以下脚本
job(jobName) {
steps {
shell('''
echo $GIT_BRANCH
'''.stripIndent().trim())
}
scm {
git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
}
triggers {
bitbucketPush()
scm ''
}
我正在使用 Jenkins 自动完成 运行 作业。我还使用 Bitbucket Server 作为版本控制系统。
我使用一些 groovy 脚本来创建我的 Jenkins 作业 DSL(在每次提交时)我的 Bitbucket 存储库中的任何更改:
job(jobName) {
steps {
// Doing some staff. Need name of branch where last commit was done
}
scm {
git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
}
triggers {
bitbucketPush()
scm ''
}
因此,当我对 my_repo
进行一些提交时,此作业运行并且我想提取完成提交的分支的名称。有可能以某种方式做到吗?
P.S。在 Jenkins 端(UI)我可以看到当前执行的分支名称,但我不知道如何在 groovy 端提取它。
基本上,每次构建的分支信息都会存储在ID为"GIT_BRANCH"的环境变量中,所以有很多方法可以提取它。
你可以简单地添加以下脚本
job(jobName) {
steps {
shell('''
echo $GIT_BRANCH
'''.stripIndent().trim())
}
scm {
git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
}
triggers {
bitbucketPush()
scm ''
}