jenkins 从 git到k8s

pipeline {
    agent any
    environment {
      
       GIT_URL = "https://github.com/LiuYuDamon/eureka.git"
      GIT_CRED = "XXXXXXX-31f8-4cee-a4ed-XXXXXXXXXX"
      DOCKER_REPO="registry.cn-shanghai.aliyuncs.com/yuanbing/sba-gateway"
      DOCKER_REG="https://registry.cn-shanghai.aliyuncs.com"
      DOCKER_REG_KEY = "XXXXXXXX-6135-41d1-902c-XXXXXXXXXXX"
      dockerImage = ''
      
    }
    stages {
    
       stage('CheckOut Code'){
           steps{
               checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: GIT_URL]]])
               }
              }
        stage('Maven Build'){
           steps{
               sh 'mvn clean install -DskipTests'
           }

        }
        
        stage('Building image') {
         steps{
           script {
              docker.withRegistry( DOCKER_REG, DOCKER_REG_KEY ) {dockerImage = docker.build DOCKER_REPO + ":$BUILD_NUMBER"
              }
           }
         }
       }
       stage('Push Image') {
      steps{
        script {
         docker.withRegistry( DOCKER_REG, DOCKER_REG_KEY ) {
                  dockerImage.push()
                }
              }
            }
      }
      
      stage('Deploy Image to K8s') {
      steps{
        script {
           sh "sed -i 's/{version}/" + BUILD_NUMBER + "/g' deployment.yaml"
             sh 'kubectl apply -f deployment.yaml'
            }
      }
      }
      
      
      stage('Remove Unused docker image') {
      steps{
        sh "docker rmi $DOCKER_REPO:$BUILD_NUMBER"
      }
    }
   }
  

}
发布了159 篇原创文章 · 获赞 177 · 访问量 147万+

猜你喜欢

转载自blog.csdn.net/hanghangaidoudou/article/details/102954331