2010-02-02 50 views
8

我們正在嘗試爲發佈標籤定義TeamCity項目。當我們準備發佈時,我們用包含版本號的標籤標記trunk。我們希望構建過程根據此標記進行簽出,並在構建完成時將文件移動到名稱也基於版本號的文件夾中。使用變量在Team City中定義VCS根URL

我們只對擁有「最新版本」項目感興趣,所以每當我們轉向新版本時,我們都會用新版本號重新配置現有的TC項目。

我遇到的問題是參數化VCS根URL(SVN)。我知道如何設置可用於構建過程的構建變量,我們可以使用這些變量來配置我們將文件移動到的文件夾。但是,我似乎無法找到一種方法來創建一個我們可以在SVN url中引用的變量。

有沒有辦法從變量派生VCS網址?是否可以在VCS根目錄和項目配置之間共享一個變量?

回答

3

我不認爲Team City支持這一點,只要我嘗試過時發現,就不能在VCS設置中使用變量。我做了什麼來解決這個問題是我有一個父模板,它定義了一個根VCS源,SVN在我的情況下,每個構建配置都是建立在此模板之外的,然後您可以在您使用的VSC名稱右側定義檢出規則對於「版本控制設置」選項卡上的給定編譯配置,並在那裏使用變量。所以我可以讓所有構建配置共享SVN根目錄,並從那裏定義具體細節。您可以通過在「屬性和環境變量」屏幕中將其設置爲配置變量,或者使其作爲用戶參數在特定的屏幕中作爲系統或環境變量構建特定的構建變量,從而使此變量成爲每個構建配置的靜態固定設置。希望這可以幫助。

0

我不知道我完全理解你的要求了,所以我會嘗試點來回答這個問題:

問:「我們希望構建過程結賬基於此標記當生成完成後,將文件移動到名稱也基於版本號的文件夾中。「

答:如果您試圖動態更改vcs根目錄,那麼我不認爲這是可能的。

問: 「我有他的問題是參數化的VCS根URL(SVN)」

答:這裏有一些變數,這可能有助於:

%dep.btXX.vcsroot { svn_branch} .client-mapping% - 這將顯示vcs root的視圖。你只需要設置正確的項目代碼。 %dep.btXX.env.BUILD_VCS_NUMBER% - 連接到生成配置的第一個VCS根目錄的VCS修訂版號。

我希望這有助於..但它聽起來像你有一個過於複雜的設置。如果你爲我彈出步驟,我可能會給你一個更好的答案。