sha*_*jan 1 integration hudson build process continuous
我想知道是否有办法在Hudson(或任何各种插件)中执行此操作.我的IDEAL场景:
我想通过类似REST的API触发基于作业的构建,并且在该构建上,我希望它返回一个作业ID.之后,我想调查此ID以查看其状态.完成后,我希望看到状态和内部版本号.
现在,因为我似乎无法实现这一点,这是我目前尚未实施的解决方案:
当你做一个REST调用来做一个构建时,它不是非常RESTful.它只是返回HTML,我将不得不进行一种解析来获取作业ID.或者,我可以为列出所有作业的所有历史记录执行REST调用,最新的作业将是我刚刚构建的作业.有了这个,我可以轮询控制台输出以获得构建的输出.
任何人都知道我可以实现"理想"解决方案吗?
是的,您可以使用Hudson Remote API(如@Dan所述).具体来说,您需要将作业配置为接受远程触发器(作业配置 - > 构建触发器 - > 远程触发器构建),然后您可以使用简单的HTTP GET将构建发送到正确的URL.
(如果您的Hudson需要身份验证,您可能需要跳过几个额外的箍.)
我可以用wget开始一个Hudson工作:
wget --auth-no-challenge --http-user=test --http-password=test "http://localhost:8080/job/My job/build?TOKEN=test"
Run Code Online (Sandbox Code Playgroud)
这将返回一堆HTML,其中包含#20
您可以解析的内部版本号.然后可以使用构建号来查询作业是否已完成/成功.
您可以直接从浏览器检查Hudson Remote API,以查看您通常通过附加/api
(或/api/xml
查看实际的XML输出)访问的大多数Hudson网页,例如http://your-hudson/job/My job/api/
.
更新:我从你的问题中看出你可能对我写的很多东西都很了解.值得探讨一下内置的Hudson API文档.我刚发现这个可能有帮助的小贴士.
您可以从URL获取最新版本的内部版本号(以纯文本格式): http://your-hudson/job/My job/lastBuild/buildNumber
一旦你有了内部版本号,我认为一旦你理解了API,轮询和工作状态就会很简单.
归档时间: |
|
查看次数: |
2367 次 |
最近记录: |