2013-03-22 64 views
2

我的設置是這樣的,TeamCity啓動另一個項目的成功建設。TeamCity:可以結合構建觸發器和計劃觸發器嗎?

這很好,但現在我需要限制它,以便上述只發生在白天的某個窗口。

即脫掉y的建設項目X的成功構建,但只有9個小時和5

從之間我可以告訴,我不能OR 2構建觸發器以實現此目的。有誰知道解決這個問題的方法嗎?

非常感謝

+0

在上午6:00成功構建Project X時會發生什麼?項目Y的構建是延遲還是被忽略? – 2013-03-22 13:41:02

+0

現在,只需完成「完成構建」觸發器,項目Y將在任何時候構建X成功,無論發生什麼時間。 – Pyderman 2013-03-22 15:44:41

+0

我在問你想要發生什麼。 – 2013-03-22 15:54:58

回答

1

爲了解決賈斯汀的評論:我的理解是你要的項目Ÿ建立在指定的時間窗口之外跳過。

我可以提供以下解決方案:

  • 創建一個輔助構建Z:
    • 生成步驟。一個構建步驟:命令行運行器,腳本檢查當前時間,如果時間在9到5之間,則返回錯誤級別= 0,否則返回不同的錯誤級別。
    • 構建失敗條件。如果構建過程退出代碼不爲零,它會失敗。
    • 構建觸發。由成功打造十
  • 修改建Ÿ觸發到成功構建ž而不是X.

這將這樣的伎倆被觸發。

但是,您將不得不花費Z的構建配置,如果您使用的是TeamCity專業版,則可能會出現問題,其版本限制爲20個構建配置。您也可以在不創建構建Z的情況下,將相同的構建步驟添加到Y中,但我不知道它是否能夠滿足您的需求。缺點是它會導致項目Y有一些構建失敗,只是因爲它不適合他們。不過,通過避免構建Y的剩餘步驟(如果節省資源是您試圖實現的目標),您將節省CPU資源。

+0

非常有創意的解決方案,謝謝。 – Pyderman 2013-04-09 10:41:16

2

另一種解決方案可能是添加構建Y的第一步,它將在指定的時間間隔內返回成功代碼;下一步將只在這種情況下執行;