我在两个不同的服务器上安装了jenkins s1
(我可以在其中看到项目的状态,但无法修改或添加任何项目)和s2
,其中我可以完全控制 Jenkins 和服务器。
我在 s2
的 Jenkins 中有一个项目,我想在 s1
上的特定构建完成(成功)时执行该项目。
我知道我可以使用Parameterized Trigger Plugin在 s1 中,然后从那里触发 s2
中的作业,但我必须请具有所需权限的人为我执行此操作。
我想知道是否有任何方法可以从 s2
监控 s1
(我具有读取访问权限)中的作业,并在构建成功时触发我的项目。我可以这样做吗?
最佳答案
解决方案是使用 URLTrigger plugin .
请在 s2 服务器上安装此插件。
在您的 s2 作业中,选择“[URLTrigger] - 使用 URL 进行轮询”构建触发器,并使用如下所示的一些设置:
您可以检查以下状态: lastBuild、lastStableBuild、lastSuccessfulBuild、lastFailedBuild、lastUnstableBuild、lastUnsuccessfulBuild、lastCompletedBuild。
对于每种状态,您都可以通过添加/buildNumber 来获取内部版本号。
示例:.../lastSuccessfulBuild/buildNumber 将返回 4(版本 #4)
该插件将使用此版本号计算 MD5。每小时,triggerURL 插件都会查看该 URL。 如果MD5发生变化,就会触发构建。
它应该可以完成这项工作:)
关于jenkins - 当远程 Jenkins 作业完成时触发 Jenkins 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34139139/