Jenkins使用SCM中的Jenkinsfile参数化构建

时间:2018-05-03 21:02:40

标签: jenkins jenkins-pipeline

我们使用位于bitbucket服务器as described here中的Jenkinsfile定义了一些jenkins管道作业。这些构建是参数化的,我们希望能够使用非默认参数手动运行它们。

问题是,由于Jenkinsfile在我们运行之前没有签出,所以我们第一次运行构建时,构建按钮只是“Build Now”而不是“Build with Parameters”。目前我们使用默认值运行一次以使其失败,然后使用“使用参数构建”按钮再次运行它,以便我们可以传入我们想要的内容。

显然不理想。这样做的正确方法是什么,以便我们可以在第一次使用自定义参数运行它?

1 个答案:

答案 0 :(得分:1)

目前这是不可能的,因为它们是后处理的,它们需要在第一次运行之前执行,然后才能被jenkins知道并可用作“使用参数构建”。此处跟踪问题:https://issues.jenkins-ci.org/browse/JENKINS-41929

有多种方法可以解决这个问题, 第一个就是你所提到的,自动/手动运行并让它失败,不过如果你可以设置工作默认值,那么它至少会成功吗?

另一种选择是评估这是否是第一次运行,如果是,则执行Jenkins作业,跳过所有步骤并纯粹处理参数。