我正在进行一个小项目,我正在试验AppHarbor。对于那些不熟悉它的人,AppHarbor 允许您通过添加特定的 Git 远程然后将您的项目/源推送到该远程来在云中自动构建和部署 ASP.NET MVC 项目。
我目前的工作方式是在GitHub 上有一个主 Git 存储库,我将其克隆到我的开发机器上。然后我将 AppHarbor 遥控器添加到我的工作副本中。我会进行更改,每隔几次提交就推送到 GitHub 以确保安全,当我准备好部署新版本时,我可以将其推送到 AppHarbor。
虽然这是一个很棒的工作流程,但它给我带来了一个关于配置文件的新问题。我以前做的是Web.config
从源代码管理中排除,而是签入一个名为 的文件Web.config.example
,该文件包含所有正确的键,但具有虚拟值。然后我会简单地在我的开发机器上复制该文件,删除.example
扩展名并编辑适合的值。
在部署时,我会创建另一个名为 的副本Web.config.live
,将值替换为服务器的正确值,上传并删除.live
扩展。
我现在遇到的问题是,如果Web.config
不受源代码控制,当我推送到 AppHarbor 时,该项目将无法运行(因为它缺少正确的配置信息)。然而,我不希望在 GitHub 上公开查看实时连接字符串,如果我曾经推Web.config
送到主存储库就会出现这种情况。
我在这里有什么选择?我会很感激任何建议。