如何通过另一个不同的哈德森工作来触发哈德森工作

时间:2010-02-26 10:28:11

标签: continuous-integration hudson

我在Hudson A和Hudson B的工作B都有工作A.我想通过工作B触发工作A.

5 个答案:

答案 0 :(得分:6)

在作业B配置中,选中远程触发器构建(例如,从脚本中)复选框并提供令牌。

帮助文本显示了您可以调用以从远程脚本触发构建的URL(例如,来自Hudson作业A中的shell脚本)。

但是,无论工作A的结果是什么,都会触发工作B. Morechilli的答案可能是最好的解决方案。

答案 1 :(得分:5)

我没有使用Hudson,但我猜你最简单的方法是使用URL触发器:

http://wiki.hudson-ci.org/display/HUDSON/URL+Change+Trigger

我认为可以使用最新的构建网址。

答案 2 :(得分:4)

在最新版本的Hudson中,lastSuccessfultBuild / HTML页面将包含自构建以来经过的时间,每次调用都会有所不同。这会导致URL更改触发器旋转。

一个解决方法是使用xml,json或python API仅请求信息的子集。使用'tree'请求参数,以下URL将返回仅包含上次成功构建的内部版本号的XML文档。

http://SERVER:PORT/job/JOBNAME/lastSuccessfulBuild/api/xml?tree=number

使用此URL恢复了我希望从URL更改触发器中获得的行为。

答案 3 :(得分:2)

就个人而言,我发现最简单的方法是观察构建时间戳: PROJECT_NAME/lastSuccessfulBuild/buildTimestamp

答案 4 :(得分:1)

我正在使用 wget 来触发构建:

wget --post-data 'it-just-need-to-be-a-POST-request' 
--auth-no-challenge --http-user=myuser --http-password=mypassword
http://jenkins.xx.xx/xxx/job/A/build?delay=0sec

还有其他方法可以触发构建,请参阅REST和jenkins的其他API。 但这在unix上很有用。