0、 Pipeline的几个基本概念

Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。
Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行期环境。
Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供。

1、pipeline语法如下:

node {                    #这里可以定义在node节点运行jenki服务
   stage('拉取代码') { 
    git credentialsId: 'b25e5382-9949-468d-a101-4b40cc479a38', url: 'http://139.159.232.80:3429/root/icp-web-interface.git'        #代码的拉取地址
   }
   stage('Build') {                   #()小括号填写执行步骤的名称
        env.PATH = "/usr/java/jdk1.8.0_151/bin:/usr/local/maven/bin:$PATH"    #定义环境变量
            sh "/usr/local/maven/bin/mvn clean compile"          # “sh” 后面跟需要执行的命令
  }
  stage('单元测试'){
      sh "/usr/local/maven/bin/mvn test"
  }
    stage('质量扫描'){
      sh '/usr/local/sonar-scanner/bin/sonar-scanner'
  }
   stage('构建打包'){
            sh "/usr/local/maven/bin/mvn package"
   }
}

2、pipeline语法如下:

node {
  stage('拉取代码') { 
    git credentialsId: 'b25e5382-9949-468d-a101-4b40cc479a38', url: 'http://139.159.232.80:3429/root/icp-service-tzclaim.git'
   }
  stage('Build') {
        env.PATH = "/usr/java/jdk1.8.0_151/bin:/usr/local/maven/bin:$PATH"
            sh "/usr/local/maven/bin/mvn clean compile"
  }
  stage('单元测试'){
      sh "/usr/local/maven/bin/mvn test"
  }
  stage('质量扫描'){
    withSonarQubeEnv('SonarQube'){             #定义此行可以在jenkins中直接跳转到sonarqube
      sh '/usr/local/sonar-scanner/bin/sonar-scanner'
       }
    }
  stage('构建打包'){
            sh "/usr/local/maven/bin/mvn package"
   }
  stage('Build and push Image'){         #此部分将构建好的项目打包成镜像然后上传到harbor仓库
sh '''
cat > Dockerfile << EOF                  #构建一个Dockerfile
FROM tomcat:8                            #基础镜像信息
ADD target/icp-service-tzclaim /usr/local/tomcat/webapps    
EOF
docker build -t 192.168.2.20/library/icp-service-tzclaim:$Tag .
docker login -u test -p 12345 192.168.2.20
docker push 192.168.1.202/library/icp-service-tzclaim:$Tag
'''
   }
}

3、pipeline效果图

Jenkinsfile Pipeline 语法格式 Devops
Jenkinsfile Pipeline 语法格式 Devops
说明:红色的表示失败,可以通过日志查看具体失败原因

相关文章:

  • 2021-06-08
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
  • 2021-06-03
  • 2021-09-06
猜你喜欢
  • 2021-12-25
  • 2021-09-03
  • 2022-12-23
  • 2021-08-29
  • 2022-12-23
  • 2021-12-23
  • 2022-12-23
相关资源
相似解决方案