Jenkins Parameterized Remote Trigger默认阻塞行为及异步触发方案咨询
1. Jenkins A的任务是否会等待Jenkins B的任务执行完成后再继续运行?
默认配置下会等待。结合你提供的两端运行日志和场景,只要未修改插件默认配置,Jenkins A的任务会一直停留于触发步骤,直到Jenkins B的任务执行结束并返回最终构建状态(成功/失败/中止),才会执行后续步骤。
2. 等待远程任务执行完成是Parameterized Remote Trigger插件的默认行为吗?
是的,这是该插件的默认配置。插件默认适配需要依赖远程任务执行结果的场景,默认开启阻塞等待远程构建完成逻辑,同时会同步远程任务的构建状态到本地触发步骤,远程任务失败时本地触发步骤也会标记为失败。
3. 如何实现触发远程任务后无需等待,仅将任务加入队列就标记本地步骤完成?
你只需要调整Parameterized Remote Trigger插件的触发配置即可:
- 如果你使用可视化界面配置任务:
进入Jenkins A对应触发任务的配置页,找到Parameterized Remote Trigger配置模块,取消勾选Block until the remote build is completed(中文界面显示为「阻塞直到远程构建完成」)选项,保存配置即可生效。 - 如果你使用Pipeline代码配置任务:
在triggerRemoteJob方法中添加block: false参数即可,参考代码如下:
triggerRemoteJob job: 'Jenkins B侧的目标任务名', parameters: [string(name: '自定义参数名', value: '参数值')], block: false, remoteJenkinsName: '你预先配置的Jenkins B远程实例名称'
修改完成后,Jenkins A的任务只要成功将目标任务提交到Jenkins B的构建队列,就会直接标记该触发步骤执行成功,无需等待远程任务实际运行结束。
内容的提问来源于stack exchange,提问作者Kunal Indoliya
相关产品推荐
相关产品推荐

