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

Nic*_*asW 5 jenkins jenkins-pipeline

我在jenkins文件中使用管道,我不知道如何正确链接Jenkins和管道中的作业.

我在jenkinsfile中定义了参数(有些是默认值,有些没有),并且是从jenkins gui的参数初始化的.问题是它接缝我的管道中的参数覆盖了我的作业参数,即使在管道中没有指定默认值,这意味着管道正在覆盖我在jenkins中的作业设置.

例如,我的一个工作是设置为使用一些特定值(所有NON-EMPTY)运行管道,如果我触发作业,管道似乎将字段b和c的属性重置为''.

如何让管道不接触我的jenkins工作定义?

例如管道中的参数:

    properties([
      parameters([
        string(name: 'a',   defaultValue: 'Default A value', description: '', ),
        string(name: 'b',   description: '', ),
        string(name: 'c',   description: '', ),
       ])
])
Run Code Online (Sandbox Code Playgroud)

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

Pat*_* M. 7

啊,是的,这也是我第一次来到这里.

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

因此,请确保在Jenkins文件中确切地定义参数,然后运行一次作业,并且GUI将具有相同的参数配置,这样当您再次运行时,它将询问参数并使用您在DSL中指定的默认值.没有更多的东西.

是的,每次修改DSL中的参数都要运行两次很烦人.但是如果你认为必须为要评估的DSL执行作业,那就更有意义了,但首先它需要通过UI定义一些参数,在它检查并评估DSL之前......