💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ## 声明式pipeline 在声明式流水线语法中,流水线过程定义在 Pipeline{}中,Pipeline 块定义了整个流水线中完成的所有工作,比如 **参数说明**: * agent any:在任何可用的代理上执行流水线或它的任何阶段,也就是执行流水线过程的位置,也可以指定到具体的节点 * stage:定义流水线的执行过程(相当于一个阶段),比如下文所示的 Build、Test、Deploy, 但是这个名字是根据实际情况进行定义的,并非固定的名字 * steps:执行某阶段具体的步骤。 ~~~json //Jenkinsfile (Declarative Pipeline) pipeline { agent any stages { stage('Build') { steps { echo 'Build' } } stage('Test') { steps { echo 'Test' } } stage('Deploy') { steps { echo 'Deploy' } } } } ~~~ ## 脚本化pipeline 在脚本化流水线语法中,会有一个或多个 Node(节点)块在整个流水线中执行核心工作 **参数说明**: * node:在任何可用的代理上执行流水线或它的任何阶段,也可以指定到具体的节点 * stage:和声明式的含义一致,定义流水线的阶段。Stage 块在脚本化流水线语法中是可选的,然而在脚本化流水线中实现 stage 块,可以清楚地在Jenkins UI界面中显示每个stage的任务子集。 ~~~json //Jenkinsfile (Scripted Pipeline) node { stage('Build') { echo 'Build' } stage('Test') { echo 'Test' } stage('Deploy') { echo 'Deploy' } } ~~~ ## 编写声明式例子测试 ```sh pipeline { agent any // 存放所有任务的合集 stages { stage('拉取Git代码') { steps { echo '拉取Git代码' } } stage('检测代码质量') { steps { echo '检测代码质量' } } stage('构建代码') { steps { echo '构建代码' } } stage('制作自定义镜像并发布Harbor') { steps { echo '制作自定义镜像并发布Harbor' } } stage('基于Harbor部署工程') { steps { echo '基于Harbor部署工程' } } } } ``` | 配置Grovvy脚本 | | :----------------------------------------------------------: | | ![](https://img.kancloud.cn/e2/ec/e2ecf26c1f13e7839555f673029850a6_1920x781.png)| - 查看效果 | 查看效果 | | :----------------------------------------------------------: | | ![](https://img.kancloud.cn/bd/ab/bdab2546e12a4fb905a3d3ad741f1cae_1920x783.png) | **Ps:涉及到特定脚本,Jenkins给予了充足的提示,可以自动生成命令** | 生成命令位置 | | :----------------------------------------------------------: | | ![](https://img.kancloud.cn/4a/51/4a512c0853adcf59a8a5cffb369eee10_1920x884.png)|