Sum*_*vid 6 deployment visual-studio azure-web-sites azure-sql-database azure-devops
这是场景:我在asp.net mvc 4项目上有多个开发人员.每个开发人员都有一个本地数据 源控制系统是http://tfs.visualstudio.com上的TFS .我们使用Azure网站来托管该网站.我们还配置了Azure网站以进行持续部署.
源代码控制系统可能是git,mercurial,TFS等.老实说,我认为这不重要.
我的问题是如何完成这三件事:
我们通过将单独的连接字符串添加到machine.config来完成#1,这样开发人员工作站设置之间就没有冲突.
我最初从web.config中删除了connectionstrings部分.在Azure网站中(使用管理门户,在Configure下),我配置了连接字符串,在观看Scott Hanselman视频之后,人们认为这些视频会在部署时被动态地合并到我的web.config中,但这并不是似乎发生了.每当我访问任何命中数据库的页面时,我都会收到一条错误消息,指出找不到连接字符串(或者与连接相关的其他数据库错误)
如果我将Azure连接字符串直接放在web.config中,那么在Azure上工作,但是连接详细信息在每个人都可以看到源控件中.
在阅读了Scott和David Ebbo的更多帖子之后,似乎我可以在web.config中添加一个空白的连接字符串(具有正确的名称),然后Azure将正确覆盖这些值.然后,我必须让开发人员将他们的连接字符串放在他们的web.debug.config中,然后安装Slow Cheetah插件,以便他们可以在本地进行F5测试.他们还必须不将web.debug.config检入源代码控制.(使用TFS并不那么容易)这看起来像是一个非常繁重的kludge,它必然会在某个地方失败.
我不得不相信这不是一个罕见的问题.其他团队如何实现这一目标?
环顾四周后,如果没有对构建前/构建后过程进行大量命令行修改,我所要求的内容似乎实际上并不受支持。我们最终所做的就是迫使所有开发人员创建自己的本地数据库,使用受信任的身份验证,并建立一个供所有开发人员在 web.config 中使用的 SQL 别名。这样,它就可以在本地为每个人工作,不会公开源代码管理中的任何用户名/密码,并且当自动从源代码管理中提取时,Azure 仍然可以覆盖它。
归档时间: |
|
查看次数: |
2580 次 |
最近记录: |