2014-11-04 33 views
0

在我們的Jenkins和git設置中,主設備是Windows,而從設備是Linux。 (有時在未來幾個月內將被更改爲linux全部)。Jenkins如何只在發生變化時觸發按計劃生成

當您在作業中設置輪詢SCM時,輪詢操作發生在主設備上,而不是作業配置爲運行的從設備。無論如何..服務器配置有問題,我不能在那裏運行git,並通過SSH到達另一臺機器上的回購站。

net,我不能使用poll scm直到服務器被修復。但是,我有一個構建作業需要在有變化時運行,因爲它構建了用於自動部署應用程序以供進一步測試的工件。 我可以定期使用Build,但每隔30分鐘(僅作爲示例),每週晚上和整個週末,大部分時間都會浪費時間。

所以,我想創建一些定時任務,它檢查一些東西,看看自上次以來是否有變化。構建僅適用於特定分支中的內容。

我'認爲'我可以使用rev-list獲得最後一次提交,但我只想在特定分支中提交。那麼我可以將它保存到一個文件中,然後重新檢查下一個這項工作。

如果修訂版不匹配,則觸發其他作業。

有沒有人有更好的指導?

回答

0

我相信你錯了。 SCM輪詢發生在作業配置爲運行的其中一個從站上。至少這是它配置爲使用git的作業的方式。如果您的輪詢在Windows主服務器上運行,那是因爲您沒有選中作業配置中的「限制作業可以運行的位置」框,並指定了一組不包含主服務器的節點。

+0

我這樣做是希望你是對的..但是我們絕對確認這次調查發生在我們的案例中。 – Sam 2014-11-07 01:25:39

+0

作業被配置爲僅在運行linux的從節點上運行。我可以使用Windows任務管理器來查看git.exe進程掛起等待ssh密碼提示,這將永遠不會到來,並最終連接超時(大約10分鐘)..第一個錯誤是我們只爲unix git可執行文件(/ usr/bin/git,而不是c:/ git_windows/git),它找不到文件(/ usr/bin/git)。然後我們走了路,它找不到'混帳'。 – Sam 2014-11-07 01:38:21

+0

奇怪。它是自由風格的作業還是多配置作業還是別的?主人是否有克隆的工作區?也許它有助於刪除它,以強制詹金斯克隆在其中一個Linux奴隸,並希望運行工作區的民意調查。 – sti 2014-11-09 13:07:51

相關問題