从Jenkins管道脚本中创建git标记

时间:2017-03-02 09:06:19

标签: git jenkins jenkins-pipeline

在我的Jenkins管道脚本中,我想做这样的事情:

sh("git tag ${BUILD_NUMBER}")

但是,如果在shell上找不到git,这将无法正常工作。

是否有任何Jenkins插件可以从Jenkins管道脚本执行此操作?

3 个答案:

答案 0 :(得分:3)

目前没有插件支持,但可能在将来:
https://issues.jenkins-ci.org/browse/JENKINS-28335

当你回顾这个Jira问题时,请看看Andrey Makeev的临时解决方案。还记录了here

答案 1 :(得分:3)

以下是我的工作方式,shellVersion分别是自定义函数和类,shellsh函数的替代品:

    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}"