Jenkins pipeline push Git tag

文章目录

  • Jenkins pipeline push Git tag

Jenkins pipeline push Git tag

在Jenkins pipeline中可以通过Jenkins Node服务器上的原生的git命令来创建并push Git tag:

stage('Checkout') {
    steps {
        // Pull code
        git branch: "${GIT_REPO_BRANCH}", credentialsId: "${GIT_CREDENTIALS_ID}", url: "${GIT_REPO_URL}"
        
        // Git tag and push tag
		// Requires to install User Build Vars plugin
		// https://wiki.jenkins.io/display/JENKINS/Build+User+Vars+Plugin
        wrap([$class: 'BuildUser']) {
		    // Requires to install SSH Agent plugin
			// http://wiki.jenkins-ci.org/display/JENKINS/SSH+Agent+Plugin
			sshagent(["${GIT_CREDENTIALS_ID}"]) {
				sh """
					git config user.email "${env.BUILD_USER_EMAIL}"
					git config user.name "${env.BUILD_USER_ID}"
					git checkout "${GIT_REPO_BRANCH}"
					git tag -a -m "${params.GIT_TAG_MSG}" ${params.GIT_TAG_NAME}
					git push origin ${params.GIT_TAG_NAME}
				"""
			}
        }
    }
}

说明:

  • 通过wrap([$class: 'BuildUser'])来获取Build User ID和Email
  • 通过sshagent来使得Jenkins Node服务器上的原生git有权限可以操作Git remote repository

参考文档:

  • https://softwarecave.org/2014/03/09/git-how-to-use-tags/
  • Jenkins pipeline获取Build User和Email

你可能感兴趣的:(Jenkins,Git)