omu*_*gru 14 continuous-integration continuous-deployment jenkins
我正试图从我目前的工作中触发下游工作
pipeline {
stages {
stage('foo') {
steps{
build job: 'my-job', propagate: true, wait: true
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
目的是等待工作结果,然后根据结果失败或成功.詹金斯总是对这条消息失败Waiting for non-job items is not supported.上面提到的工作没有任何参数,并且使用multibranch管道插件定义为我的其余工作.
我能想到的是,这种类型的jenkins项目不支持作为构建步骤输入,但这似乎违反直觉并且会被证明对我来说是一种阻碍.任何人都可以确认这是否确实如此?
如果是这样,有人可以提出任何变通方法吗?
谢谢
omu*_*gru 31
我实际上设法通过更多地关注构建步骤的定义来解决这个问题.由于我的所有下游作业都被定义为多分支管道作业,因此它们的结构类似于文件夹,文件夹中的每个项目代表一个单独的作业.因此,调用下游工作的正确方法不是build job: 'my-job', propagate: true, wait: true,而是build job: "my-job/my-branch-name", propagate: true, wait: true.
此外,与问题无关但与手头的问题有关,请确保jenkins机器上至少还有一个执行器可用,因为等待语法将占用等待作业的一个线程,等待作业的一个线程在,你很容易发现自己处于资源饥饿类型的情况.
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
4223 次 |
| 最近记录: |