一、系统环境:

操作系统:centos7.8

jenkins版本:2.289.3

二、input简介

执行input步骤的时候会暂停pipeline的构建进程,直到用户输入参数。这是一种特殊的参数化pipeline的方法。

我们也可以利用input步骤实现以下两种场景:

1、实现简易的审批流程。例如,pipeline暂停在部署前的阶段,由负责人点击确认后,才能部署。

2、实现手动测试阶段。在pipeline中增加一个手动测试阶段,该阶段中只有一个input步骤,当手动测试通过后,测试人员才可以通过这个input步骤

三、具体操作

        此操作需要在pipeline项目下进行,其他风格本人还没有研究。

1、构建pipeline任务

首先需要创建一个pipeline的任务。

jenkins 流水线 docker push命令 jenkins流水线审核_ci/cd

 2、生成测试脚本

        在流水线脚本中,我们可以先新建一个Hello World的模板,然后会出来一些脚本的语法,我们可以根据这个语法,进行步骤编辑测试。

jenkins 流水线 docker push命令 jenkins流水线审核_linux_02

3、编辑测试脚本

        这边先根据语法,简单配置一个输出的测试项目,如果在实际环境中,可以参照下方提示的流水线语法进行操作。

pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                echo '拉取代码'
            }
        }
        stage('编译构建') {
            steps {
                echo '编译构建'
            }
        }
        stage('项目部署') {
            steps {
                echo '项目部署'
            }
        }    
    }
}

jenkins 流水线 docker push命令 jenkins流水线审核_测试脚本_03

 然后点击应用和保存,进行构建,测试结果,可以看到构建任务已经成功了,可以看到pipeline的每个过程的时间都有显示。

 

jenkins 流水线 docker push命令 jenkins流水线审核_测试阶段_04

 4、增加input节点

        选择片段生成器-->选择input步骤-->写入提示语-->点击生成流水线脚本-->复制脚本写入到项目的pipeline脚本中。

jenkins 流水线 docker push命令 jenkins流水线审核_测试脚本_05

5、input节点测试

可以看到,在确认发布这一步骤的时候,他需要我们手动点击进行确认,才能继续向下进行执行,否则就一直处于暂停状态。

jenkins 流水线 docker push命令 jenkins流水线审核_测试阶段_06

        当我们点击继续的时候,可以看到已经开始继续向下构建,并且在历史记录中可以查看到是谁进行确认的。

jenkins 流水线 docker push命令 jenkins流水线审核_ci/cd_07

 6、指定用户input

        审阅的过程中,我们需要特定的人进行确认,确认后才可以进行发布,那就需要继续进行优化,将特定的人添加到允许的提交者中。

        注:此步骤需要明确jenkins中的权限设置,一般人没有配置任务的权限,否则设置审阅将没有任何意义。

 

jenkins 流水线 docker push命令 jenkins流水线审核_ci/cd_08

         复制脚本进行替换,然后点击应用保存,进行测试。

jenkins 流水线 docker push命令 jenkins流水线审核_linux_09

 7、input指定用户测试

        然后点击构建进行测试,我们会发现,特定的用户点击确认后,才可以继续向下执行。

        其他的普通用户点击之后,没有任何反应,这一点我还没有琢磨明白,难道不能提示无权限执行或者根本不能点击吗?

        先不管他了,反正目的已经实现了。后期将继续探索自动input的操作。毕竟每次手动点击还是比较麻烦的。

注: 

以上为本人实际搭建过程中的经验总结,如果有什么问题,可以在评论区留言,大家一起探讨进步!