如何覆盖 jenkinsfile 的默认参数?

Mik*_*peg 7 jenkins jenkins-plugins jenkins-pipeline

有时,我们想要创建多个使用相同 Jenkinsfile 的作业,而不是单个作业。例如,这可能发生,因为我们希望维护基于参数划分的日志,而不是让单个作业查找正确的日志。

但是,在这种情况下,我们不能使用 Jenkinsfile 中的参数定义,因为我们在作业实例上定义的任何默认值都将被以下执行覆盖 Jenkinsfile 中定义的任何内容(如果我们没有定义默认值)。

所以,在这种情况下,我们唯一的办法就是去掉 Jenkinsfile 中的参数定义,直接在作业上定义参数,这不是最优的。

我的意思是,我同意在大多数情况下这是正确的行为,因为您不希望您的参数不同步并且没有版本化,但是有没有办法指定 Jenkins 跳过参数重新配置或覆盖 Jenkinsfile 中写入的默认参数?可以按作业激活/停用的东西。

小智 8

我自己也有这个问题,我们是这样解决的:

string(name: 'parameterName', defaultValue: params.parameterName ?:'your default value')
Run Code Online (Sandbox Code Playgroud)

现在通过 Jenkins 作业配置定义的默认值不会被覆盖。