在jenkins中配置流水线:

node ('slave1') {
    def mvnHome = "/usr/local/maven";
    def image_tag = "$imageTag"
    def gatewayservice="jeecg-cloud-gateway-2.4.2.jar";
    def systemservice="jeecg-cloud-system-start-2.4.2.jar";
    def imgName;
    def uatimgName = "docker镜像库地址:443/命名空间/";
    def testimgName = "docker镜像库地址:443/命名空间/";
    def prodImgName = "docker镜像库地址:443/命名空间/";

    if("${profiles}" == "dev") {
        imgName = testimgName
    }else if("${profiles}" == "test"){
        imgName = testimgName
    }else if("${profiles}" == "product"){
        imgName = prodImgName
    }

    stage('Preparation') {
         git branch: '${gitBranch}', credentialsId: 'jenkins凭据标识', url: '代码的git地址'     
    }
    
    stage('Build Source Code') {
        withEnv(["MVN_HOME=$mvnHome"]) {
                sh '"$MVN_HOME/bin/mvn" -Dmaven.test.skip=true clean package install -U'
       }
    }
    stage('镜像构建及推送') {
      sh "docker login -u harbor的用户名 -p harbor的密码 ${imgName}"
      
      dir('jeecg-cloud-module/jeecg-cloud-system-start/'){
          sh "docker build -f Dockerfile -t ${imgName}${systemservice}:${image_tag} ./"
          sh "docker push ${imgName}${systemservice}:${image_tag}"
          def id2=sh(returnStdout: true,script: "kubectl get pods -o name -l app=jeecg-cloud-system-start -n 命名空间").trim().split("/")[1]
          sh "kubectl delete pod ${id2} -n 命名空间"
      }
    }
}

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐