h1b流水线

pipeline {
    // 选择标签为maven的模板
    agent { node { label "maven" } }
    options {
        buildDiscarder(logRotator(numToKeepStr: '3'))
    }
    parameters {
          gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH'
          choice choices: ['hunan'], description: '请选择需要发布的名称空间', name: 'NS_NAME'
          string(name: 'NACOS_ADDRESS', defaultValue: 'nacos-service.tools.svc.cluster.local:8848', description: '请输入配置参数')
          string(name: 'NACOS_NAMESPACE', defaultValue: 'hunan', description: '请输入配置参数')
          string(name: 'NACOS_SERVER_GROUP', defaultValue: 'cems-hn', description: '请输入配置参数')
          string(name: 'NACOS_CONFIG_DATA_ID', defaultValue: 'cems-algorithm-hn.yml', description: '请输入配置参数')
          string(name: 'NACOS_CONFIG_SHARED_DATA_ID', defaultValue: 'cems-algorithm-hn.yml', description: '请输入配置参数')
    }
	stages{
	  stage('代码拉取') {
        steps {
             script {
                  checkout scmGit(branches: [[name: '${BRANCH}']], extensions: [], userRemoteConfigs: [[credentialsId: 'aliyun', url: 'https://codeup.aliyun.com/glr/cems/cems-algorithm.git']])
                  env.BUILD_TAG = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
                  env.APP_NAME = sh(returnStdout: true, script: "git config -l|git config -l|grep remote.origin.url|awk -F/ '{print \$NF}'|cut -d. -f1").trim()
             }
          }
        }
      stage('镜像构建、上传') {
		steps {
		     script {
                withCredentials([usernamePassword(credentialsId: 'dockerhub', passwordVariable: 'dockerHubPassword',usernameVariable: 'dockerHubUser')]) {
                sh "docker login -u ${dockerHubUser} -p ${dockerHubPassword} harbor.glroad.com:8800"
				sh "docker build -t harbor.glroad.com:8800/cems/${APP_NAME}:${BUILD_TAG} ."
                sh "docker push harbor.glroad.com:8800/cems/${APP_NAME}:${BUILD_TAG}"
		     }
		   }
	     }
	   }
      stage('部署&更新') {
        steps {
             script {
                sh "sed -i \"s/<APP_NAME>/${APP_NAME}/g\" k8s-cems-algorithm.yaml"
                sh "sed -i \"s/<BUILD_TAG>/${BUILD_TAG}/g\" k8s-cems-algorithm.yaml"
                sh "sed -i \"s/<NS_NAME>/${NS_NAME}/g\" k8s-cems-algorithm.yaml"
                sh "sed -i \"s/<NACOS_ADDRESS>/${NACOS_ADDRESS}/g\" k8s-cems-algorithm.yaml"
                sh "sed -i \"s/<NACOS_NAMESPACE>/${NACOS_NAMESPACE}/g\" k8s-cems-algorithm.yaml"
                sh "sed -i \"s/<NACOS_SERVER_GROUP>/${NACOS_SERVER_GROUP}/g\" k8s-cems-algorithm.yaml"
                sh "sed -i \"s/<NACOS_CONFIG_DATA_ID>/${NACOS_CONFIG_DATA_ID}/g\" k8s-cems-algorithm.yaml"
                sh "sed -i \"s/<NACOS_CONFIG_SHARED_DATA_ID>/${NACOS_CONFIG_SHARED_DATA_ID}/g\" k8s-cems-algorithm.yaml"
                sh "cat k8s-cems-algorithm.yaml "
                sh "kubectl apply -f k8s-cems-algorithm.yaml --record"
             }
         }
       }
    }
}

  

posted @ 2024-01-19 11:45  beawh  阅读(6)  评论(0)    收藏  举报