Jenkins使用SCM中的Jenkins文件参数化构建

Jenkins使用SCM中的Jenkins文件参数化构建,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我们使用位于bitbucket服务器中的jenkins文件定义了一些jenkins管道作业。这些构建是参数化的,我们希望能够使用非默认参数手动运行它们 问题是,因为Jenkins文件在我们运行它之前是不会签出的,所以我们第一次运行build时,build按钮只是build Now,而不是build with Parameters。目前,我们正在使用默认值运行它一次,这样它就会失败,然后使用Build with Parameters按钮再次运行它,这样我们就可以传递我们想要的内容 显然不理想。要做

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

问题是,因为Jenkins文件在我们运行它之前是不会签出的,所以我们第一次运行build时,build按钮只是build Now,而不是build with Parameters。目前,我们正在使用默认值运行它一次,这样它就会失败,然后使用Build with Parameters按钮再次运行它,这样我们就可以传递我们想要的内容


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

目前这是不可能的,因为它们是后处理的,需要在第一次运行中执行,然后才能被jenkins知道,并作为“带参数的构建”提供。此处跟踪的问题:

处理这个问题有很多方法, 第一个是,正如您所提到的,自动/手动运行它,让它失败,尽管也许您可以设置工作默认值,使它至少成功


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

您是在Jenkins文件中定义参数,还是通过作业属性块中的web界面定义参数?在Jenkins文件中,您可能是说目前不可能这样做吗?