2013-07-09 25 views
9

我有幾個項目,我想有在單獨構建配置與略微不同的配置:如何減少類似構建配置的重複?

  • VCS源和建立觸發器(即,唯一的區別是使用哪個項目根目錄的子目錄)
  • 構建步驟(第一少數是完全一樣的,但過去的幾年可能取決於單元測試將如何運行,依賴等)

就是這樣。我研究了構建配置模板,但似乎不允許指定額外VCS根的定製構建步驟的靈活性。

真的,我只是希望不必手動將我們最初的項目構建配置中的(幾個)構建步驟複製到多個配置中,並且在事物發生變化時不得不維護它們。看來應該有更好的解決方案?

+0

您正在使用哪個TeamCity版本? [Build Configuration Template](http://confluence.jetbrains.com/display/TCD8/Build+Configuration+Template)適用於我。 –

+0

@ user1177636是的,我認爲它最終也會適用於我的案例。我只需要稍微調整參數。 – jwalk

回答

3

我也很想知道這一點,但是我在網上發現的這些數據表明你偏好冗餘而不是試圖在多個分支機構或項目中重複使用一種配置。

然而,所有的這是發佈版本8之前,它引入了提取meta-runner

自己的博客from April 13, 2013提供它們是什麼一個很好的總結,以及他們如何從模板不同的能力。

元亞軍

元亞軍是一個強大的功能提供定製的TeamCity,使之更加以人爲本,一個充滿希望的新途徑。爲了理解它,我們來看一個例子。

想象一下,您在不同的構建配置中會重複使用一些重複的任務。該任務被定義爲基於內置運行程序的一個或多個構建步驟,如Ant或命令行。很可能您希望在多個構建配置中輕鬆重複使用此任務。您無法使用模板執行此操作,因爲模板會強制您在不同的配置間共享相同的設置,但這並非總是可行。我們建議的解決方案是將Meta Runner從這些步驟中提取出來,瞭解它在發行說明中的​​工作原理。

我還沒有實現這一點,但我會盡快進行測試。它使我認爲你應該能夠通過存儲庫作爲參數,但我不確定。

+0

感謝您的建議。在使用構建參數進行一些修改之後,我能夠使用模板來處理它,但是如果我覺得比它值得的更麻煩,這將是一個很好的選擇。 – jwalk

+0

GitHub提供了一些meta-runners的例子:https://github.com/JetBrains/meta-runner-power-pack –

+0

@Pavel for sharing! – Damon