2016-05-25 70 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。 –

相关问题