10

我正在設置TeamCity進行持續集成和(希望)持續部署。一些構建步驟將涉及私人文件,例如如何使用私人文件配置TeamCity?

  • 強命名.NET程序集
  • 密碼/令牌文件發佈工件(例如到的NuGet或CodePlex上)

由於這些文件.SNK文件包含私人數據,我不想將它們放入(公衆可訪問的)源代碼管理系統。

我爲AutoFixture設置了http://teamcity.codebetter.com,所以我沒有物理訪問服務器的權限。我希望有一個功能可以讓我上傳這些文件,但是找不到那種類型的東西。

什麼是最合適的解決方案?

+0

對你有好處,持續部署是發展的聖盃 – stimms

回答

9

TeamCity支持多個VCS根目錄,因此您可以添加額外的VCS根目錄與這些私有文件。

顯然這需要第二個存儲庫是私人的 - 但這是你想要的任何方式。在源代碼管理中擁有這些文件是件好事。

+0

這就是我最終做的。工作就像一個魅力:) –

+1

我無法弄清楚第二個存儲庫的行爲。一次嘗試只檢出一個存儲庫。那麼我怎麼參考第二個呢? – Matthias

2

我會把我需要的文件在源代碼管理中,但我會先加密它們。然後,我會在構建中設置一個參數,這是解密文件所需的密碼或密鑰。構建會解密這些文件,無論他們需要簽名還是發佈,然後刪除它們(如果系統允許的話,擦除它們)。這應該足以讓事情安全,除非團隊城市受到損害,而且如果它基本上是沉沒的。

根據您使用的源代碼控制工具,可能會將文件設置爲只能由特定的經過身份驗證的用戶看到。 Perforce當然有這種能力,但我從來沒有見過更受歡迎的DVCS系統。