2015-12-09 103 views
0

我有一個CruiseControl.net(v1.8.4.1)服務器,它基於檢查Git中的更改的觸發器來運行構建。我希望能夠通過將參數提供給URL來遠程啓動參數化版本。像「http://cruisecontrol.local/api/build?job=PreCommitBuild&project=widgets&branch=feature/story123」。如何遠程觸發CruiseControl構建?

最終目標是通過使用Web API調用將一些參數發佈到CruiseControl服務器,以使Gerrit或Stash中內置的評審系統能夠爲特定分支啓動構建。

這是可能的,如果是這樣,如何?

+1

您可能需要爲**。NET **添加標籤,以便讓更多人能夠真正看到您的問題。我不熟悉它,所以我不知道它是否真的適用,因此不能爲您添加標籤。 –

回答

0

經過一番修改之後,我終於從GitHub獲得了Remote程序集的代碼。客戶端代碼工作正常,但服務器公開的API(至少是我的服務器)似乎很容易出現意外的空引用異常。

+1

我假設你的意思是空引用異常?我從來沒有遇到過這些問題,你確定服務器/客戶端程序集是完全相同的版本嗎?版本中的差異可能導致此類問題 –

+0

好點。我會檢查。 – mhvelplund

+0

@SimonLaing:我正在運行1.8.4服務器,並使用[Git](https://github.com/ccnet/CruiseControl.NET)中主分支中的遠程程序集。根據[cruisecontrolnet.org](http://www.cruisecontrolnet.org)的最新版本是1.8.5,所以可能存在版本衝突。不幸的是,Git回購沒有標籤對應任何版本,所以我不確定:)目前升級服務器不是一個選項。 – mhvelplund

1

您可能會使用UrlTrigger監視磁盤上的文件,它需要通過http(iis?)公開,並帶有Last-Modified標頭。 Iis應該能夠爲你自己做到這一點。

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

然後讓你的其他工具修改文件(在磁盤上),以觸發構建。

雖然這不支持生成參數。

否則,你將進入爲api編寫.net遠程客戶端的領域。

編輯

由於上述選項不包括的參數來構建/集成傳球最初提出以下也許你唯一的選擇 - 創造巡航控制連接和編程觸發構建。

查看先前的問題:CruiseControl.net Remoting - ForceBuild with reason它顯示了調用構建的方法。

本文中的鏈接是顯示如何實現這一點的重要部分。

+0

原來的帖子已被刪除,請參閱https://web.archive.org/web/20090516002426/http://csut017.wordpress.com/2009/01/02/passing-dynamic-parameters-part-1-服務器/ –

相關問題