我有一个在Jenkins中运行的作业A,它启动VM上的进程A,等待它完成,获取它生成的报告并将其作为附件发送给构建通知。问题是这个过程A需要很长时间才能完成,而作业A一直在等待它。有没有什么方法可以启动这个过程A,停止作业A,当进程A完成时,触发一个新的作业B,它将获取进程A生成的报告,并以构建成功/失败状态发送出去。
感谢任何帮助。
由于
答案 0 :(得分:2)
Jenkins提供了一个API,用于通过简单的HTTP请求启动作业。您使用curl
或类似的东西启动作业B,作为VM上进程A的最后一步。
文档为on the Jenkins site。您可以使用自己的Jenkins查找用于启动特定作业的特定URL; Jenkins页面的右下角有一个链接。
答案 1 :(得分:1)
对于您的用例而言,更好的匹配可能是类型"监视外部工作"的工作。我自己没有使用它,但从文档中它听起来像一个有用的工具。文档位于:https://wiki.jenkins-ci.org/display/JENKINS/Monitoring+external+jobs