2011-01-07 61 views
9

當在TeamCity中的工件頁面上時,可以選擇將所有工件下載爲zip文件。TeamCity壓縮的工件依賴項

我在想你是否可以設置依賴的構建配置來實際獲取工件的壓縮版本?

我意識到我可以壓縮最初創建它們的項目配置中的所有工件,但我寧願不這樣做。

或者,我可以使用像Nant這樣的東西壓縮它們,但是我會想象如果發送的文件首先被壓縮,那麼這些工件的傳輸可能會更快一些。

是否有人知道如何從其他項目傳輸壓縮的工件,或者TeamCity是否支持這些工件?

+0

你有沒有找到答案? – reach4thelasers 2011-03-20 15:42:52

回答

17

沒錯。這很簡單,至少在當前版本的TeamCity(6.5.3)中是如此。在您的「主」項目中,創建壓縮的工件:

MyProjectBuildFolder\** => mybuild-%system.build.number%.zip 

生成後,您將看到zip工件中的所有文件。然後創建一個新的構建配置。您將需要編輯此構建的依賴關係並添加一個新的「構件依賴關係」。編輯其屬性,像這樣:

  1. 取決於:構建配置從您的主項目從上面。從
  2. 獲取文物:上次成功構建
  3. 文物路徑:如果你想剛纔複製的zip文件,這將是*.zip。如果您希望TeamCity爲您解壓zip文件,請使用*.zip!**
  4. 目標路徑:%some.parameter.representing.your.path%

現在,當爲相關的構建跑步者拉開帷幕,它將從您的主項目獲取最新的zip壓縮包並解壓它進入你的依賴版本的目標文件夾。

0

也許您可以在第一個構建步驟中通過構建從屬配置的URL來手動獲取壓縮的構件。在構建中,您可以獲取相關構建的參數,這可以幫助您構建URL。

URL看起來像: http://your.server/(guestAuth|httpAuth)/repository/downloadAll/bt457/12345:id/artifacts.zip

其中bt457 - 建立相關的構建,你應該能夠在您的構建進行以獲得系統屬性dep.bt457.teamcity的ID - 生成配置 12345的ID .build.id

在這裏閱讀更多:http://confluence.jetbrains.net/display/TCD6/Predefined+Build+Parameters#PredefinedBuildParameters-DependenciesProperties

這不是很優雅所有,但它應該工作