Jenkins 流水线(Pipeline)

说明:在任务项目构建的过程中通过Pipeline来呈现每个构建阶段的细节信息。

Jenkins 流水线(Pipeline)_git仓库

配置 Pipeline 

1、创建流水线任务

Jenkins 流水线(Pipeline)_maven_02

2、根据场景添加需要等项目、注:我这里根据上一节的内容一次添加,以测试为主。
....略(自定义)
3、使用Pipeline流水线Shell、保存。
使用Hello World模板

Jenkins 流水线(Pipeline)_maven_03

4、Pipeline-test 任务 --> Build with Parameters --> Build 构建
Pipeline-test 任务 --> Console Output 查看日志

Jenkins 流水线(Pipeline)_自定义_04

 Pipeline-test 任务 --> Full Stage View 点击查看视图

Jenkins 流水线(Pipeline)_git_05

通过git来存放jenkins Pipeline文件

1、git服务器操作:通过git创建jenkinsfile仓库

# 切换git用户
su - git
# 创建jenkinsfile仓库
mkdir jenkinsfile
cd jenkinsfile
# 初始话git仓库
git --bare init

2、客户端操作:下载git仓库提交pipeline脚本

# 1、下载仓库
git clone git@118.31.225.36:/home/git/jenkinsfile
cd jenkinsfile/
# 2、创建文件、脚本主要测试4个动作
#     (1)、拉取库
#     (2)、maven 打包
#     (3)、发布服务
#     (4)、自动化测试
vi Jenkinsfile
Jenkins 流水线(Pipeline)_git仓库_06Jenkins 流水线(Pipeline)_git仓库_07
node {
   //def mvnHome
   stage('checkout') { // for display purposes
      checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'git@118.31.225.36:/home/git/repos/app.git']]])
   }
   stage('maven Build') {
      echo 'maven build...'
   }
   stage('deploy') {
      echo 'deploy...'
   }   
   stage('test') {
      echo 'test...'
   }
}
pipeline 脚本
# 3、提交文件
git add .
git commit -m "jenkinsfile"
git push origin master

3、jenkins 添加 git库中的pipeline文件、保存。

  • Definition:选择SCM以git库文件下载形式
  • SCM:选择git
  • Repositories:添加Git仓库
  • Branches to build:使用master分支
  • Script Path:库中指定pipeline脚本路径

Jenkins 流水线(Pipeline)_maven_08

4、查看 Stage View

Jenkins 流水线(Pipeline)_git_09

5、查看日志,直接点击绿色部分

Jenkins 流水线(Pipeline)_自定义_10

 Pipeline Syntax 生成git流水线脚本

1、Git使用:Checkout

  • Sample Step:选择方法
  • Repositories:输入git仓库
  • Generate Pipeline Script:生存Pipeline脚本

pipeline脚本:

checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'git@118.31.225.36:/home/git/repos/app.git']]])

Jenkins 流水线(Pipeline)_git_11

Pipeline Syntax 生成echo流水线脚本

1、使用 echo

  • Sample Step:选择方法
  • Message:输入内容
  • Generate Pipeline Script:生存Pipeline脚本

pipeline脚本:

echo 'test'

Jenkins 流水线(Pipeline)_git仓库_12

其他


通过Slave节点构建 pipline语法格式
说明:node(‘指定Slave标签或名称’)

Jenkins 流水线(Pipeline)_git仓库_06Jenkins 流水线(Pipeline)_git仓库_07
node ('web') {
   //def mvnHome
   stage('checkout') { // for display purposes
      checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'git@118.31.225.36:/home/git/repos/app.git']]])
   }
   stage('maven Build') {
      echo 'maven build...'
   }
   stage('deploy') {
      echo 'deploy...'
   }
   stage('test') {
      echo 'test...'
   }
pipeline 脚本