一、系统环境:
操作系统:centos7.8
jenkins版本:2.289.3
二、input简介
执行input步骤的时候会暂停pipeline的构建进程,直到用户输入参数。这是一种特殊的参数化pipeline的方法。
我们也可以利用input步骤实现以下两种场景:
1、实现简易的审批流程。例如,pipeline暂停在部署前的阶段,由负责人点击确认后,才能部署。
2、实现手动测试阶段。在pipeline中增加一个手动测试阶段,该阶段中只有一个input步骤,当手动测试通过后,测试人员才可以通过这个input步骤
三、具体操作
此操作需要在pipeline项目下进行,其他风格本人还没有研究。
1、构建pipeline任务
首先需要创建一个pipeline的任务。
2、生成测试脚本
在流水线脚本中,我们可以先新建一个Hello World的模板,然后会出来一些脚本的语法,我们可以根据这个语法,进行步骤编辑测试。
3、编辑测试脚本
这边先根据语法,简单配置一个输出的测试项目,如果在实际环境中,可以参照下方提示的流水线语法进行操作。
pipeline {
agent any
stages {
stage('拉取代码') {
steps {
echo '拉取代码'
}
}
stage('编译构建') {
steps {
echo '编译构建'
}
}
stage('项目部署') {
steps {
echo '项目部署'
}
}
}
}
然后点击应用和保存,进行构建,测试结果,可以看到构建任务已经成功了,可以看到pipeline的每个过程的时间都有显示。
4、增加input节点
选择片段生成器-->选择input步骤-->写入提示语-->点击生成流水线脚本-->复制脚本写入到项目的pipeline脚本中。
5、input节点测试
可以看到,在确认发布这一步骤的时候,他需要我们手动点击进行确认,才能继续向下进行执行,否则就一直处于暂停状态。
当我们点击继续的时候,可以看到已经开始继续向下构建,并且在历史记录中可以查看到是谁进行确认的。
6、指定用户input
审阅的过程中,我们需要特定的人进行确认,确认后才可以进行发布,那就需要继续进行优化,将特定的人添加到允许的提交者中。
注:此步骤需要明确jenkins中的权限设置,一般人没有配置任务的权限,否则设置审阅将没有任何意义。
复制脚本进行替换,然后点击应用保存,进行测试。
7、input指定用户测试
然后点击构建进行测试,我们会发现,特定的用户点击确认后,才可以继续向下执行。
其他的普通用户点击之后,没有任何反应,这一点我还没有琢磨明白,难道不能提示无权限执行或者根本不能点击吗?
先不管他了,反正目的已经实现了。后期将继续探索自动input的操作。毕竟每次手动点击还是比较麻烦的。
注:
以上为本人实际搭建过程中的经验总结,如果有什么问题,可以在评论区留言,大家一起探讨进步!