[jenkins]-pipeline 修改build name 和 description

[jenkins]-pipeline 修改build name 和 description

效果如下

流水线脚本写的有点粗糙

哪里修改build name 和 description 均备注了

// Using git without checkout 
pipeline {
  agent any
  parameters {
    gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'Branch', sortMode: 'DESCENDING_SMART', type: 'PT_BRANCH'
  }

  stages {
    stage('更新拉取最新代码') {
      steps {
        git branch: "${params.Branch}", url: 'git@gitlab.ihaozhuo.com:Java_Service/YJK-Java.git'
      }
    }
    stage('输出项目的参数') {
      steps {
        sh "echo ${WORKSPACE} "
        sh "echo ${Branch} "
        //sh "echo ${deploy_step} "
        sh "echo ${env.JOB_NAME} "
        script {
            //设置buildName
            wrap([$class: 'BuildUser']) {
            def deploylog="${BUILD_USER} use pipeline  '${JOB_NAME}(${BUILD_NUMBER})' "
            println deploylog
            buildName "#${BUILD_NUMBER}-^${BRANCH}^-${BUILD_USER}"
            //输出最新一次提交信息
            HTTPD_LOCATION= sh(  returnStdout: true, script: 'git show -s  |grep -vE "commit|Date" |grep -v "^$"')
            //修改Description"
            buildDescription "${HTTPD_LOCATION}" 
            }
        }
        script
        {
            switch(Model)
            {
                case "all":
                    sh "echo \u001B[31m部署全部模块\u001B[0m !!!"
                default:
                    sh "echo others"
            
        }
        }
            }

      }
    }

  }
node {
    //时间插件
    timestamps {
    env.PRO_TYPE = "test"
    //颜色插件
    ansiColor('xterm') {
    stage('Java编译') { 
        sh "echo ${WORKSPACE} "
        sh "echo ${Branch} "
        //sh "echo ${deploy_step} "
        sh "echo ${env.JOB_NAME} "
        script
        {
            switch(Model)
            {
                case "all":
                    sh "echo \u001B[31m部署全部模块\u001B[0m !!!"
                    sh "cd ${WORKSPACE} && rm dev-properties/ -rf && git clone git@gitlab.ihaozhuo.com:dev-properties/dev-properties.git  &&  cd ${WORKSPACE}/haozhuo/ && mvn clean install -T 1C -Dmaven.test.skip=true  -Dmaven.compile.fork=true -Ptest -Dautoconfig.userProperties=${WORKSPACE}/dev-properties/test1.properties -Dautoconfig.charset=utf-8 -Dautoconfig.interactive=off"
                default:
                    sh "echo 部署  \u001B[32m $Model \u001B[0m !!!"
                    sh "cd ${WORKSPACE} && rm dev-properties/ -rf && git clone git@gitlab.ihaozhuo.com:dev-properties/dev-properties.git  &&  cd ${WORKSPACE}/haozhuo/ && mvn clean install  -pl $model -am -U  -T 1C -Dmaven.test.skip=true  -Dmaven.compile.fork=true -Ptest -Dautoconfig.userProperties=${WORKSPACE}/dev-properties/test1.properties -Dautoconfig.charset=utf-8 -Dautoconfig.interactive=off"
            
        }
        }
   }
    stage('构建镜像预发布') { 
        sh "echo ${Model}"
        sh "echo ${WORKSPACE} "
        sh "echo ${env.PRO_TYPE} "
        //sh "echo ${deploy_step} "
        sh "echo ${BUILD_NUMBER} "
        sh "sh /srv/deploy_scripts/deploy.sh $Model $WORKSPACE ${env.PRO_TYPE}  $BUILD_NUMBER"
        sh "echo build successful"

   }


}
}

}



参考

https://plugins.jenkins.io/build-name-setter/

https://blog.csdn.net/a910196454/article/details/106375630/

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
JenkinsPipeline,可以通过环境变量、参数化构建和全局变量等方式在不同的stage之间传递参数。以下是一些示例: 1. 环境变量 在stage定义一个环境变量,可以通过${env.VARIABLE_NAME}在其他stage引用。例如: ``` pipeline { agent any stages { stage('Build') { environment { IMAGE_TAG = '1.0.0' } steps { sh 'echo "Building image with tag ${IMAGE_TAG}"' } } stage('Deploy') { steps { sh 'echo "Deploying image with tag ${IMAGE_TAG}"' } } } } ``` 2. 参数化构建 通过参数化构建,可以在Pipeline执行之前让用户输入参数值,并将这些参数传递给不同的stage。例如: ``` pipeline { agent any parameters { string(name: 'ENVIRONMENT', defaultValue: 'dev', description: 'Environment to deploy to') booleanParam(name: 'ENABLE_CACHE', defaultValue: true, description: 'Enable caching?') } stages { stage('Build') { steps { sh 'echo "Building application for ${params.ENVIRONMENT}"' } } stage('Deploy') { steps { sh 'echo "Deploying application to ${params.ENVIRONMENT}"' if (params.ENABLE_CACHE) { sh 'echo "Caching enabled"' } else { sh 'echo "Caching disabled"' } } } } } ``` 3. 全局变量 可以在Pipeline定义全局变量,并在不同的stage引用。例如: ``` pipeline { agent any options { // Define global variable envVars([ // Use Jenkins built-in variable for current build number // and assign to MY_BUILD_NUMBER envVar('MY_BUILD_NUMBER', "${BUILD_NUMBER}") ]) } stages { stage('Build') { steps { sh 'echo "Building application for build ${MY_BUILD_NUMBER}"' } } stage('Deploy') { steps { sh 'echo "Deploying application for build ${MY_BUILD_NUMBER}"' } } } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值