gpt4 book ai didi

visual-studio - 管理持续部署到 Azure 网站的源代码控制应用程序中的连接字符串

转载 作者:行者123 更新时间:2023-12-04 06:26:27 25 4
gpt4 key购买 nike

这是场景:我在一个 asp.net mvc 4 项目中有多个开发人员。每个开发人员都有一个本地数据库。源代码控制系统是 TFS,位于 http://tfs.visualstudio.com .我们使用 Azure 网站来托管该网站。我们还为持续部署配置了 Azure 网站。

源代码控制系统可以是 git、mercurial、TFS 等。老实说,我认为这并不重要。

我的问题是如何完成这三件事:

  • 每个开发人员在本地都有他/她自己的连接字符串(它们不在源代码管理中)
  • Azure 有自己的连接字符串(不在源代码管理中)
  • 源代码管理不显示任何连接信息
  • 每个开发人员都可以 F5 并在本地运行/调试/测试应用程序。

  • 我们通过将我们单独的连接字符串添加到我们的 machine.config 来实现 #1,这样开发人员工作站设置之间就没有冲突。

    我最初从 web.config 中删除了 connectionstrings 部分。在 Azure 网站(使用管理门户,在配置下),我配置了连接字符串,在观看 Scott Hanselman 视频后的印象是,这些将在部署时动态合并到我的 web.config 中,但事实并非如此似乎发生。每当我转到命中数据库的任何页面时,都会收到一条错误消息,提示找不到连接字符串(或与连接相关的其他一些数据库错误)

    如果我将 Azure 连接字符串直接放在 web.config 中,事情在 Azure 上工作,但是连接细节在源代码管理中对每个人都是可见的。

    在阅读了 Scott 和 David Ebbo 的更多帖子后,我似乎可以在 web.config 中放置一个空白连接字符串(使用正确的名称),然后 Azure 将正确覆盖这些值。然后我必须让开发人员将他们的连接字符串放在他们的 web.debug.config 中,然后安装 Slow Cheetah 插件,以便他们可以 F5 并在本地进行测试。他们还必须不将 web.debug.config checkin 源代码管理。 (TFS 没那么容易)这似乎是一个非常繁重的杂项,它肯定会在某个地方失败。

    我不得不相信,这并不是什么罕见的问题。其他团队是如何做到这一点的?

    最佳答案

    环顾四周后,如果没有对预/后构建过程进行大量命令行黑客攻击,我所问的问题似乎实际上不受支持。我们最终做的是强制开发人员都创建自己的本地数据库,使用可信身份验证,并在 web.config 中建立所有开发人员使用的 SQL 别名。这样,它在本地适用于每个人,它不会在源代码管理中公开任何用户名/密码,并且 Azure 仍然可以在自动从源代码管理中提取时覆盖它。

    关于visual-studio - 管理持续部署到 Azure 网站的源代码控制应用程序中的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15977742/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com