admin

pipeline自动打标签

admin linux 2023-01-25 532浏览 0

生产在进行项目发布成功后,需要多当前代码在git上打个标签,已确保以后回滚或是需要用对应版本代码基础上继续开发使用,具体代码如下:

pipeline {
    agent any
    options{
        timeout(8) 
    }
    environment{
        git="项目git地址,前面不能带http://或是https://"
        GIT_TAG = sh(script: "echo `date '+%Y%m%d%H%M%S'`", returnStdout: true).trim()
    }
    
    stages {
        stage('清理工作空间'){steps {cleanWs()}}
        stage('代码下载') {
            steps {
                checkout([$class: 'GitSCM', 
                          branches: [[name: "master"]], 
                          doGenerateSubmoduleConfigurations: false, 
                          extensions: [], 
                          gitTool: 'Default', 
                          submoduleCfg: [], 
                          userRemoteConfigs: [[credentialsId: 'jenkins中Credentials信息', url: "http://${git}",]]
                        ])
            }
        }
            
        stage('编译打包'){
            steps {
		sh "${tools} clean package -Dmaven.test.skip=true"
        }
        
        stage('版本标签') {
            steps {
                withCredentials([usernamePassword(credentialsId: "jenkins中Credentials信息", passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) {
                    sh """
                        git config --global user.email "test@test.com"
                        git config --global user.name "test"
                        git tag -a ${GIT_TAG} -m 'test'
                        git push http://${GIT_USERNAME}:${GIT_PASSWORD}@${git} --tags
                    """
                }
            }
        }
    }
}

转载请注明:IT运维空间 » linux » pipeline自动打标签

继续浏览有关 LINUX技术 的文章
发表评论