在我的Jenkins管道脚本中,我想做这样的事情:
sh("git tag ${BUILD_NUMBER}")
但是,如果在shell上找不到git,这将无法正常工作。
是否有任何Jenkins插件可以从Jenkins管道脚本执行此操作?
答案 0 :(得分:3)
目前没有插件支持,但可能在将来:
https://issues.jenkins-ci.org/browse/JENKINS-28335
当你回顾这个Jira问题时,请看看Andrey Makeev的临时解决方案。还记录了here。
答案 1 :(得分:3)
以下是我的工作方式,shell
和Version
分别是自定义函数和类,shell
是sh
函数的替代品:
void gitTag(Version releaseVersion) {
sshagent(['devops_deploy_DEV']) {
shell 'git tag -d \$(git tag)'
shell 'git fetch --tags'
echo "New release version ${releaseVersion.normalVersion}"
shell "git tag -fa ${releaseVersion.normalVersion} -m 'Release version ${releaseVersion.normalVersion}'"
}
}
您可以找到此here的来源。
答案 2 :(得分:0)
您可以使用Git-Client plugin制作以下内容:
sh "git tag build_${gitCommit}"