(七)Jenkins流水线(Pipeline)

Jenkins流水线(Pipeline)

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

一、配置Pipeline

1、创建流水线任务

image

2、根据场景添加需要等项目、注:我这里根据上一节的内容一次添加,以测试为主。

....略(自定义)

3、使用Pipeline流水线Shell、保存。

使用Hello World模板
image

4、Pipeline-test 任务 --> Build with Parameters --> Build 构建

Pipeline-test 任务 --> Console Output 查看日志
image
Pipeline-test 任务 --> Full Stage View 点击查看视图
image

二、通过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

pipeline 脚本

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...'
   }
}

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脚本路径

image

4、查看 Stage View

image

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

image

三、 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']]])

image

四、Pipeline Syntax 生成echo流水线脚本

1、使用 echo

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

echo 'test'

image

五、其他

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

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...'
   }
posted @ 2022-05-24 13:14  比特边界  阅读(420)  评论(0编辑  收藏  举报