jenkins ci demo pipeline

 

job命名 ci_project_service_dev

ci_project_service_qa

参数化构建  branch,dev构建是参数化分支,qa构建只有qa分支

丢弃旧的构建  保留3个

--------------------------------------------------------------

def label = "master"
 
node(label) {
   stage('Checkout JavaSrc') {
      sh "rm ./* -fr"
      git credentialsId: 'gitaccount', url: "https://gitee.com/yangxlgit/guestbook.git", branch: "master"
   }

  stage('build jar ') {
      sh "/usr/bin/mvn clean package"
      echo "mvn build done"
   }
   
  stage('upload jar ') {
           //sh "scp target/hello-world-1.0-SNAPSHOT.jar root@172.16.1.10:/root/"
           echo "upload jar done"
   }
   
   stage('checkout dockerfile') {
        checkout(
          [$class: 'GitSCM',
          branches: [[name: '*/master']],
          doGenerateSubmoduleConfigurations: false,
          extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'dc-dockerfile']],
          submoduleCfg: [],
          userRemoteConfigs:[[credentialsId: 'gitaccount', url: 'https://gitee.com/yangxlgit/guestbook.git']]
          ]
        )

        sh "cp -f ./dc-dockerfile/Dockerfile-MicroService  ./Dockerfile"
        //sh "cp -f ./dc-dockerfile/test/microservice/entrypoint.sh ./entrypoint.sh"
        //sh "sed -i 's#target/.*jar #'`ls '${Jar_dir}'/*.jar`' #g' Dockerfile"
 
        sh "cat Dockerfile"
    }

    stage('build image ') {
        //withCredentials(
        //  [[$class: 'UsernamePasswordMultiBinding',
        //  credentialsId: 'harbor-for-ci-cd',
        //  usernameVariable: 'USERNAME',
        //  passwordVariable: 'PASSWORD']] )
 
        //sh  "docker login -u ${USERNAME} -p ${PASSWORD} harbor.product.co-mall"
        sh  "docker build -t centos7.localdomain:5000/cicd:v1.1 . "
        sh  "docker push   centos7.localdomain:5000/cicd:v1.1   "
 
    }
}
 

posted @ 2021-02-04 10:46  yangxl-dev  阅读(56)  评论(0)    收藏  举报