2012-08-24 46 views
3

我想解決一個有效的設置,以確保編譯和部署構建優先於運行測試。我有包含兩個構建配置單一藥劑:是否可以限制某些構建配置的構建隊列?

  • 構建,部署高電平測試(5分鐘)
  • 單元測試,集成測試,煙霧測試(15分鐘)

我有配置觸發器以便每次在VCS中發生提交時都會運行構建項目。我想要做的就是排隊測試項目以低優先級運行。但是,如果在短時間(幾分鐘)內完成多個提交,現在我想排隊進行大量測試項目。

例如,這是我想達到的目標:

  • 12:00提交
  • 12:02提交
  • 日12:08提交

構建/部署配置拉開:

  • 12:00(eta 5分鐘)
  • 12:05(ETA 5分鐘)
  • 12:10(ETA 5分鐘)

測試項目在拉開序幕:

  • 12:15(ETA 15分鐘)

測試項目只運行一次最新的部署代碼。我不想排隊測試項目3次。

實際上,我只想運行測試項目,當代理空閒並且未經測試的更改已被提交時。這可能嗎?如果是的話,實現它的最好方法是什麼?

回答

2

對於批處理頻繁提交,您可以在VCS觸發器設置中使用'安靜期模式',請閱讀here。如果現在隊列中的配置 - 禁用複選框'觸發VCS觸發器設置中的每個簽入的內部版本',則避免構建觸發。

要管理構建隊列優先級,請單擊「構建隊列」鏈接,然後單擊「配置構建優先級」。在這個地方你可以管理優先級。閱讀更多關於here

注意:您應該具有系統管理員角色。

+0

感謝您花時間回答。安靜期模式允許我在開始構建之前等待x分鐘,但是實際上並不妨礙將多個構建添加到隊列中? – psych

+0

如果你看看我上面的例子,5分鐘的安靜時間不會導致在12:07添加測試項目,然後在12:13再次添加測試項目。由於構建優先級,測試不會運行到第三次部署(正確)之後,但是它們會在完全相同的部署上運行兩次?即使代理處於空閒狀態,較大的安靜時間也會導致測試運行頻率降低。理想情況下,我只想說'構建隊列爲空時,如果有任何未經測試的更改運行測試'。我不確定這是否可能。 – psych

+0

如果您禁用'在每個簽入時觸發構建'併爲非測試配置設置較高優先級,則測試構建將保持隊列,堆棧更改並等待,直到代理將空閒。 –

相關問題