如何远程触发CruiseControl构建?

时间:2015-12-09 12:08:55

标签: .net cruisecontrol.net gerrit

我有一个CruiseControl.net(v1.8.4.1)服务器,它根据检查Git中的更改的触发器运行构建。我希望能够通过将参数提供给URL来远程启动参数化构建。像“http://cruisecontrol.local/api/build?job=PreCommitBuild&project=widgets&branch=feature/story123”之类的东西。

最终目标是通过使用Web API调用将一些参数发布到CruiseControl服务器,使Gerrit或Stash内置的审核系统能够启动特定分支的构建。

这是可能的,如果是的话,怎么样?

2 个答案:

答案 0 :(得分:1)

您可以使用监视磁盘上文件的UrlTrigger,它需要通过http(iis?)和Last-Modified标头公开。我应该能够为你本地做这件事。

E.g。 http://aserver/triggers/project1.txt

然后使用其他工具修改文件(在磁盘上)以触发构建。

但这不支持构建参数。

否则你将进入为api编写.net远程客户端的领域。

修改

由于上面的选项不包括将参数传递给最初要求的构建/集成,因此以下可能是您唯一的选择 - 创建与巡航控制的连接并以编程方式触发构建。

请参阅前面的问题:CruiseControl.net Remoting - ForceBuild with reason,其中显示了调用构建的方法。

本文中的链接是显示如何实现这一目标的重要部分。

答案 1 :(得分:0)

稍微修改一下后,我从GitHub获取了Remote程序集的代码。客户端代码工作正常,但服务器的公开API(至少我的服务器)似乎容易出现意外的空引用异常。