Jenkins 服务中 Pipeline 流水线的参数设置

2020-06-19 0 By admin

在 Jenkins 服务中执行任务 Job 时,很多时候,我们都需要对任务预先设定参数。任务在执行过程中,会根据输入的参数,做某些执行过程的调整。

一、Pipeline 中定义自身参数信息

在 Pipeline as Code 开发过程中,一般由一个【种子任务】(可以使用 job dsl 插件) 来批量常见真正执行的工作任务(可以利用常见对 Pipeline 任务的支持)。
在 Pipeline 任务的 Jenkinsfile 文件中可以通过 parameters 指令,来定义任务的参数。

1.1、直接使用 parameters 的缺点

这种将参数信息写入到 Pipeline 中的方式设置任务;任务初始化后,并没有设置好参数信息;需要执行过一次后,任务经过 Pipeline 的修改,才能设置好参数信息。

1.2、Pipeline 自身设置参数示例

parameters {
  booleanParam(
      name: "isRollingUpdate",
      defaultValue: true,
      description: "平滑升级"
  )
  string(
      name: "serial",
      defaultValue: "-1",
      description: "发版批次"
  )
}

1.3、Pipeline 自身设置参数支持类型说明

  1. string,字符串类型。
  2. text,多行文本类型,换行使用\n。
  3. booleanParam,布尔类型。
  4. choice,选择参数类型,使用\n来分隔多个选项。
  5. file,文件类型,用户可上传文件。
  6. password,密码类型。

二、Job DSL 中定义其他 Job 参数的信息

在 Job DSL 插件中使用【种子任务】来批量创建 Pipeline 任务;可以直接设置任务的参数信息。

parameters {
  booleanParam("isRollingUpdate",true,"平滑升级")
  stringParam( "serial", "-1", "发版批次")
}

其中支持的参数类型编写方式和上面的是不同的。

三、两种方式的设置

在 Jenkins 服务中使用【种子任务】批量创建 Pipeline 任务时,考虑到使用的流畅性,需要两个地方都设置好【参数】;并且在修改参数配置的时候,要记得两个地方一起修改,保持一致。