3

我有一个 Jenkins Workflow,我可以通过单击Build来运行它。但是,当我尝试从(自由式)项目的Build other projects post-build 操作启动它时,我只是在表单中收到错误

我的流程不可构建

并且在构建上游项目时不运行下游流程。

4

1 回答 1

3

构建后操作构建其他项目并不像听起来那样简单:在运行步骤时构建这些项目。事实上,运行该步骤根本没有任何作用。相反,它会导致命名项目包含在依赖图的边缘中,然后根据图的下游项目根据单独的逻辑运行。目前,依赖关系图 API 的定义方式是工作流作业无法参与。长话短说,这种模式不起作用。

参数化触发器插件提供了启动下游作业的其他方法。非阻塞触发器的工作原理很像 Jenkins 核心触发器:它影响依赖关系图。还有一个阻塞触发器(这是一个构建步骤,而不是构建后操作),它只是执行您可能期望的操作:启动下游构建(很像buildWorkflow 中的步骤)。目前这个插件不支持 Workflow,虽然它可能很容易让它使用更多最新的 API,这样它就会:JENKINS-26050

起作用的是反向配置关系:在工作流作业配置中,选择构建其他项目后构建,然后选择您的自由式项目。现在,当自由式项目完成构建时,将触发 Workflow 作业。

于 2015-04-23T11:08:12.770 回答