一尘不染

管道参数和jenkins GUI参数如何协同工作?

jenkins

我在jenkinsfile中使用管道,但不确定如何在Jenkins和管道中正确链接作业。

我在jenkinsfile中定义了参数(有些具有默认值,有些 没有 ),并使用来自jenkins
gui的参数进行初始化。问题是,它接缝了管道中的参数以覆盖我的作业参数, 即使在 管道中 未指定默认值时也是如此,
这意味着管道正在覆盖jenkins中的作业设置。

例如,我的一项工作是设置为使用一些特定值(均为NON-EMPTY)运行管道,如果触发该任务,管道似乎会将字段b和c的属性重置为”。

我如何获得不碰我詹金斯职位定义的渠道?

例如管道中的参数:

    properties([
      parameters([
        string(name: 'a',   defaultValue: 'Default A value', description: '', ),
        string(name: 'b',   description: '', ),
        string(name: 'c',   description: '', ),
       ])
])

我在https://jenkins.io/doc/book/pipeline/syntax/#parameters-
example的文档中找不到任何帮助


阅读 252

收藏
2020-07-25

共1个答案

一尘不染

啊,是的,这也是我第一次来。

第一次运行管道时,jenkinsFile DSL作业定义几乎会覆盖您通过GUI输入的整个作业定义。这尤其会影响参数。

因此,请确保在Jenkinsfile中完全按照所需的方式定义参数,然后运行一次作业,并且GUI将具有相同的参数配置,以便再次运行时,它将要求输入参数并使用您在DSL中指定的默认值。没什么了。

是的,每次修改DSL中的参数都必须运行两次,这很烦人。但是如果您认为必须执行要评估的DSL作业就很有意义,但是首先需要通过UI定义参数来询问参数,然后再检查并评估DSL

2020-07-25