如何从Jenkinsfile内部标记当前的git changeset?
我想标记当前的git changeset并从Jenkinsfile内部推送标记。如果标签已经存在,则必须将其替换。
我想使用此逻辑来标记随snapshot
标记传递的内部版本,该标记将是移动标记。
我怎样才能做到这一点?
回答:
这是我能够以这种方式实现的方法,但是,如果您知道更好的方法,我很乐意听到。
#!groovystage '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