我正在进行一个小项目,正在尝试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
推送到主存储库中,那将是公开的。
我在这里有什么选择?如有任何建议,我将不胜感激。
最佳答案
AppHarbor支持在部署时替换配置变量,以避免将用户名和密码提交给源代码管理的问题(以及其他用途)。这是documented in the knowledge-base。
关于git - 使用AppHarbor时,如何正确管理开发和实时配置文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6519834/