2016-05-25 109 views
0

目前我正在運行帶有包含我的項目的私有代碼存儲庫的Visual Studio Team Services。我有持續的集成設置,可以抓取新代碼,構建它,運行單元測試,然後將所有內容發佈到Azure網站上。很棒。Visual Studio團隊服務 - 單元測試公開回購設置

現在時機已經成熟,開放源代碼的代碼。我想把所有東西都移到GitHub上,但仍然使用VS Team Services進行構建,測試和部署。我正在整理公共回購(appsettings,連接字符串)中不想要的東西。對於web應用程序本身而言,它非常簡單,我已將所有'私人'內容移至Azure門戶並從web.config中移除。設置會自動覆蓋,我可以簽入不包含任何敏感數據的web.config。

但後來我來到我的單元測試項目。嗯,現在呢?我不想像現在那樣檢查我的設置文件,但測試依賴於這些設置。那麼確保測試可以在不公開我的設置的情況下運行的最佳做法是?

事先道歉,因爲這個問題可能已經得到了回答,但我可以找到任何真正描述這個特定問題的東西。

回答

0

您可以在沒有任何敏感數據的情況下檢入web.config文件,然後使用Replace Tokens任務在生成過程中使用有效信息填充web.config文件。用於填充web.config文件的字符串存儲在構建定義變量中,因此它不適用於公衆人員。

+0

這似乎確實工作得很好,謝謝埃迪! – Jasper

+0

嘿@Eddie - MSFT,我應該已經意識到這一點,但沒有適當的令牌在我的配置中,當然我不能在本地運行任何測試。是否有類似的方式替代本地測試令牌,而無需檢查任何東西? – Jasper

+0

@Jasper您可以使用web.config轉換:https://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx。 –

相關問題