2017-08-12 98 views
0

我正在尋找一些方法來有效地存儲我們應用程序的配置。一個我們可以存儲的地方,即我們可以在web.config文件中使用的連接字符串,或者甚至可以存儲整個配置文件的方式。.NET應用程序的配置管理

也許有某種關鍵值存儲解決方案可以幫助解決這個問題,在構建或使用TFS/Jenkins部署期間,我們可以指向那裏並獲取應該在web.config中使用的連接字符串。

我的主要觀點是擺脫部署後使用的build/relase步驟或腳本中保留的環境特定連接字符串。只有一個有組織的地方可以將它們全部弄糟。

+0

web.config中的[_ConnectionStrings_](https://www.connectionstrings.com/store-connection-string-in-webconfig/)部分有什麼問題? – Steve

+0

它只是關於如何以及它在哪裏保存價值。當你有幾個應用程序每個都得到開發時,QA和分段環境手動編輯它們,或者爲每個構建/發佈定義在不同的腳本中保留這些值是非常麻煩的。所以我想也許最好將所有環境的連接字符串存儲在一個地方 - 可能是一些關鍵價值存儲解決方案或類似的東西:))感謝您的迴應! – Daveo

+0

嗨Daveo,在TFS中嘗試了發佈管理?如果我的回覆有幫助或給出正確的方向。感謝您的投票或[標記爲答案](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work),這也將有助於社區中的其他人。 –

回答

0

在Team Foundation Server中有一種稱爲發佈管理的工具。

每個部署到每個環境可能有不同的變量。這可以在一個地方更新。在發佈定義中,您可以設置環境變量併爲每個環境設置它們。您也可以在許多應用程序中使用中央替換。

  • 定義一個更通用的部署過程,然後對每個環境輕鬆地進行自定義。例如,可以使用一個變量 來表示Web部署的連接字符串,並且此變量的值可以從一個環境更改爲另一個環境的 。這些是自定義變量
  • 使用關於特定釋放的上下文信息,環境工件,或劑,其中部署過程正在運行。例如,您的腳本可能需要訪問構建的位置來下載它,或者訪問
    的代理來創建臨時文件。這些是默認變量

來源鏈接:Variables in Release Management

對於構建你與RM那麼每個環境作爲替換部署的一部分令牌替換你的開發condign數據。你可以用replace token task做到這一點,它會替換在釋放變量設置的值,您可以通過配置編輯變量定義的任何環境變量:

enter image description here

有關如何使用變量的更多細節,你可以參考這個博客:Using environment variables for configuration with VSTS build and release


此外,Variable groups已在TFS/VSTS被引入到解決this need

這些是團隊項目級別上的共享變量,可用於構建或發佈定義。從發佈定義引用變量組的功能已完成,現在可在TFS 2017和VSTS中使用。在近端功能中計劃從構建定義引用變量組的能力。