如何从Jenkinsfile内部标记当前的git changeset?

我想标记当前的git changeset并从Jenkinsfile内部推送标记。如果标签已经存在,则必须将其替换。

我想使用此逻辑来标记随snapshot标记传递的内部版本,该标记将是移动标记。

我怎样才能做到这一点?

回答:

这是我能够以这种方式实现的方法,但是,如果您知道更好的方法,我很乐意听到。

#!groovy

stage 'build'

node {

repositoryCommiterEmail = 'ci@example.com'

repositoryCommiterUsername = 'examle.com'

checkout scm

sh "echo done"

if (env.BRANCH_NAME == 'master') {

stage 'tagging'

sh("git config user.email ${repositoryCommiterEmail}")

sh("git config user.name '${repositoryCommiterUsername}'")

sh "git remote set-url origin git@github" title="github">github.com:..."

// deletes current snapshot tag

sh "git tag -d snapshot || true"

// tags current changeset

sh "git tag -a snapshot -m \"passed CI\""

// deletes tag on remote in order not to fail pushing the new one

sh "git push origin :refs/tags/snapshot"

// pushes the tags

sh "git push --tags"

}

}

以上是 如何从Jenkinsfile内部标记当前的git changeset? 的全部内容, 来源链接: utcz.com/qa/410184.html

回到顶部