企业DevOps之路:Jenkins 流水线

虚幻大学 xuhss 179℃ 0评论

Python微信订餐小程序课程视频

https://blog.csdn.net/m0_56069948/article/details/122285951

Python实战量化交易理财系统

https://blog.csdn.net/m0_56069948/article/details/122285941

1. Pipeline 概述

Pipeline 即流水线,是 jenkins2.X 的新特性,是 jenkins 官方推荐使用的持续集成方案。与传统的自由风格项目不同,它是通过 jenkins DSL 编写代码来实现。相比于之前用户只能通过 Web 界面进行配置的方式来定义 Jenkins 任务,现在通过使用 jenkins DSL 和 Groovy 语言编写程序,用户可以定义流水线并执行各种任务。

Jenkins pipeline包含两类元素,分别是stages和steps。如图:

1aee07df41ed76d625c6de93b1af468a - 企业DevOps之路:Jenkins 流水线

  • step 代表单一的操作;告诉 Jenkins 做什么。比如,代码从仓库检出代码,执行脚本
  • stage 等于一系列 step 的组合,通常来表示 Jenkins pipeline 进程的可示化。例如,Build、Test、Deploy等

更详细的资料请查看官网


|  | https://www.jenkins.io/doc/book/pipeline/ |

Pipeline 有两种语法,分别是声明式和脚本式

声明式语法


|  | pipeline { |
|  |  agent any |
|  |  stages { |
|  | stage('Build') { |
|  |  steps { |
|  | // TODO |
|  |  } |
|  |  } |
|  | stage('Test') { |
|  |  steps { |
|  | // TODO |
|  |  } |
|  |  } |
|  | stage('Deploy') { |
|  |  steps { |
|  | // TODO |
|  |  } |
|  |  } |
|  |  } |
|  | } |

agent any:表示任意一个可用代理节点上执行该Pipeline

stage('Build'):定义阶段

steps {}:阶段执行的步骤

脚本式语法


|  | node { |
|  | stage('Build') { |
|  | // TODO |
|  |  } |
|  | stage('Test') { |
|  | // TODO |
|  |  } |
|  | stage('Deploy') { |
|  | // TODO |
|  |  } |
|  | } |

node:表示任意一个可用代理节点上执行该Pipeline

stage('Build') {}:定义阶段。在脚本式语法中 stage 代码块是可选的;不过明确写上的话可以让每个阶段的任务更清晰

3. 安装 Jenkins Pipeline 插件

安装 Pipeline 和 Pipeline Maven Integration 插件

Manage Jenkins -> Manage Plugins

fc3cbf1eafc5fb5462f567b5083942a7 - 企业DevOps之路:Jenkins 流水线

安装后,重启 Tomcat。

3. 流水线编译与部署

创建流水线任务

新建Item

cda3dbb41bed57ec97b097ace46c5b0b - 企业DevOps之路:Jenkins 流水线

配置流水线任务

初学者对于 Pipeline 的脚本肯定无从入手的;但是 Pipeline 提供了一个非常有用的帮助文档。

fb93e6f182fb8d11407e5435e0bb938d - 企业DevOps之路:Jenkins 流水线


|  | http://127.0.0.1:8080/jenkins/job/Pipeline\_maven/pipeline-syntax/ |

Pipeline 脚本有两种编写模式

  • Pipeline 脚本
  • Jenkinsfile 文件

71c195081792428f22ff6bddab3f72eb - 企业DevOps之路:Jenkins 流水线

这里选择 Pipeline script

3.1 克隆代码


|  | git credentialsId: 'c8eea0cc-24e7-4eb1-a2dd-42fc1066f35a', url: 'https://gitee.com/hjj520/ruoyi-patrol.git' |

3.2 编译


|  | bat 'mvn clean install' |

在 Windows 操作系统 Jenkins Pipeline 中要使用bat来运行 Windows 命令;而 Linux 操作系统则需要使用sh来运行 Shell 命令。

3.3 上传 jar包


|  | bat 'C:/jenkins/pscp.exe -r -l root -pw root %WORKSPACE%/ruoyi-admin/target/ruoyi-admin.jar 192.168.10.8:/home/huangjinjin/software/springdocker' |

图片

完整 Pipeline 脚本


|  | pipeline { |
|  |  agent any |
|  |  |
|  |  stages { |
|  | stage('git clone') { |
|  |  steps { |
|  |  git credentialsId: 'c8eea0cc-24e7-4eb1-a2dd-42fc1066f35a', url: 'https://gitee.com/hjj520/ruoyi-patrol.git' |
|  |  } |
|  |  } |
|  |  |
|  | stage('complie') { |
|  |  steps { |
|  |  bat 'mvn clean install' |
|  |  } |
|  |  } |
|  |  |
|  | stage('upload') { |
|  |  steps { |
|  |  bat 'C:/jenkins/pscp.exe -r -l root -pw root %WORKSPACE%/ruoyi-admin/target/ruoyi-admin.jar 192.168.10.8:/home/huangjinjin/software/springdocker' |
|  |  } |
|  |  } |
|  |  |
|  |  } |
|  |  |
|  | } |

其他步骤可以自行添加,例如,测试、部署等。

转载请注明:xuhss » 企业DevOps之路:Jenkins 流水线

喜欢 (0)

您必须 登录 才能发表评论!