私のJenkinsパイプラインスクリプト内で、次のようなことをしたいと思います。
sh("git tag ${BUILD_NUMBER}")
ただし、シェルでgitが見つからない場合、これは機能しません。
Jenkinsパイプラインスクリプトからこれを実行できるJenkinsプラグインはありますか?
現在、これに対するプラグインサポートはありませんが、将来サポートされる可能性があります。
https://issues.jenkins-ci.org/browse/JENKINS-28335
このJiraの問題を検討している間、Andrey Makeevの一時的な解決策を見てください。文書化 ここ 。
これが私のやり方です。ここで、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 。
Git-Client plugin を使用して、次のようにすることができます:sh "git tag build_${gitCommit}"