Groovy Jenkins中从Job A触发Job B无需等待B完成即可继续执行Job A的方法问询
解决方案
你可以直接使用Jenkins build 步骤自带的wait参数实现异步触发下游任务,该参数默认值为true(即阻塞等待下游任务执行完成),将其设置为false即可实现触发Job B后立刻继续执行Job A的后续逻辑。
修改后的代码示例如下:
Job A { some methods being called ... .. .. build( job: 'Job B', wait: false, // 新增这一行配置 parameters: [ string( name: 'XYZ', value: 'abc', ) ] ) some more methods to execute ... ... ... }
注意事项
- 设置
wait: false后,build步骤不会返回下游Job的运行结果对象,你无法直接在当前Job A的后续步骤中获取Job B的构建状态、构建编号、产出物等信息,若有后续关联查询需求,需要自行额外实现信息存储、查询逻辑。 - 该参数是Jenkins Pipeline: Build Step插件的原生支持参数,2.15及以上版本的插件均默认支持,无需额外安装扩展。
- 若Job B触发失败(比如目标Job不存在、当前Job没有触发权限、参数校验不通过),即使设置了
wait: false,当前Job A依然会在触发步骤抛出异常终止,和默认同步触发的错误处理逻辑一致。
内容的提问来源于stack exchange,提问作者Aayush
相关产品推荐
相关产品推荐

