Jenkins Pipeline As Code
目录
[toc]
本节实战
实战名称 |
---|
💘 实战:第一条Pipeline-2023.4.7(测试成功) |
💘 实战:脚本式语法测试-2023.4.7(测试成功) |
💘 实战:测试脚本式语法-2023.4.7(测试成功) |
💘 实战:声明式语法嵌入脚本式语法-2023.4.7(测试成功) |
💘 实战:利用片段生成器生成执行shell命令代码-2023.4.7(测试成功) |
💘 实战:单引号和双引号的区别-2023.4.7(测试成功) |
💘 实践:使用jenkins的内置变量来显示构建名及构建分支-2023.3.23(测试成功) |
💘 实践:输出全局变量BUILD_ID和BUILD_URL (测试成功)-2023.4.8 |
💘 实践:agent配置的几种方法(测试成功)-2023.4.8 |
💘 实践:post测试(测试成功)-2023.4.8 |
💘 实践:变量测试(测试成功)-2023.4.8 |
💘 实践:options测试(测试成功)-2023.4.8 |
💘 实践:配置流水线跳过默认代码检出功能-2023.6.26(测试成功) |
💘 实践:parameters测试(测试成功)-2023.4.8 |
💘 实践:input测试(测试成功)-2023.4.8 |
💘 实践:when测试(测试成功)-2023.4.8 |
💘 实践:parallel测试(测试成功)-2023.4.10 |
💘 实战:groovy字符串测试-2023.4.10(测试成功) |
💘 实战:groovy列表测试-2023.4.10(测试成功) |
💘 实战:groovy if语句测试-2023.4.10(测试成功) |
💘 实战:groovy switch语句测试-2023.4.10(测试成功) |
💘 实战:groovy for语句测试-2023.4.10(测试成功) |
💘 实战:groovy while语句测试-2023.4.10(测试成功) |
💘 实战:groovy 异常处理测试-2023.4.10(测试成功) |
💘 实战:groovy 函数测试-2023.4.10(测试成功) |
💘 实践:Jenkins共享库实践(测试成功)-2023.4.11 |
一、pipeline
1、什么是Pipeline
1、Pipeline简介
- Pipeline是Jenkins 2.0 版本推出的核心功能;
- Pipeline可以实现以代码的方式定义工作流程;
- 商业价值:
- 组织级别及团队间工作流复用;
- 便于Pipeline开发与维护;
- 减少人工Web页面操 作;
如果装了中文插件后,这里可能显示为流水线
。
Jenkins的核心是Pipeline(流水线项目),实现了Pipeline As Code。即我们将构建部署测试等步骤全部以代码的形式写到Jenkinsfile中。Jenkins在运行Pipeline任务的时候会按照Jenkinsfile中定义的代码顺序执行。写Jenkinsfile是一项很重的工作,如果稍不注意很容易造成Jenkins的流水线任务失败。Jenkinsfile类似于Dockerfile,具有一套特定的语法。
在2年前, 18年的时候,我们一直在使用自由风格类型的项目。 每个项目中会有代码库的参数信息。 直到有一天项目的代码块从SVN迁移到了GITLAB,即需要我来操作修改Jenkins作业中的代码库URL信息。 修改的过程不复杂,即在web页面中修改然后保存即可。看似简单的过程,但是有大量的流水线作业,基本上一上午就在点点点。(操作简单,重复性动作太多了)
后来了解到Jenkins的核心特性Pipeline, 用代码的方式描述流水线。 这样我就可以维护多个Jenkinsfile来对应不同类型的项目了。 也实现了一部分项目使用统一的一个Jenkinsfile模板来管理。
2、Pipeline组成
- Jenkinsfile: 描述Pipeline的代码文件
- Agent: Pipeline的运行节点
- Stage: Pipeline的阶段
Jenkinsfile:是实现Pipeline as Code的核心功能。 该文件用于描述流水线的过程。
Agent: (是否还记得上次 课程添加的JenkinsAgent节点)执行Pipeline的实际节点。
在Jenkins pipeline中,一条流水线是由多个阶段组成的,每个阶段一个stage。例如:构建、测试、部署等等。
3、第一条Pipeline
==💘 实战:第一条Pipeline-2023.4.7(测试成功)==
- 安装Pipeline插件;
- 创建Pipeline类型项目;
- 项目设置,编写Pipeline;
- 构建项目;
让我们开始编写第一条Pipeline吧: 第一条流水线不用太复杂,主要是便于理解流水线的结构。
pipeline {
agent any
stages{
stage("hello"){
steps{
echo "Hello Jenkins"
}
}
}
}
安装Pipeline插件
在创建Pipeline类型的作业的时候,需要提前安装好pipeline插件,不然可能会出现找不到pipeline类型的作业。
进入插件管理, 搜索关键字"pipeline" 。安装后重启一下。
创建Pipeline类型的作业,然后用我们上面编写好的代码运行一下吧。