在我的詹金斯管道腳本中創建git的標籤,我願做這樣的事情:從詹金斯管道腳本
sh("git tag ${BUILD_NUMBER}")
但是,如果Git是不是在外殼上發現這個是行不通的。
是否有Jenkins插件可以從Jenkins管道腳本執行此操作?
在我的詹金斯管道腳本中創建git的標籤,我願做這樣的事情:從詹金斯管道腳本
sh("git tag ${BUILD_NUMBER}")
但是,如果Git是不是在外殼上發現這個是行不通的。
是否有Jenkins插件可以從Jenkins管道腳本執行此操作?
可以使用Git-Client plugin做出這樣的事情: sh "git tag build_${gitCommit}"
有這個目前還沒有插件的支持,但可能在未來:
https://issues.jenkins-ci.org/browse/JENKINS-28335
當你走在這個JIRA問題看看Andrey Makeev的臨時解決方案。也記錄在here。
Credit to @Amaksoft – eyalstoler
您應該繼續前進並在此概述解決方案 - 這可以防止鏈接腐爛使您的「正確」答案無法使用。 – rbellamy
非常感謝@rbellamy。由於這不是我的解決方案,我不想爲此付出代價。 – eyalstoler
以下是我分別做了,在那裏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 。
[https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin] – DevDonkey
在我的「Jenkins管道腳本」中... – octavian
在shell中使用git命令需要在路徑上有GIT。 – JamesD