【问题标题】:VSTS: Different Config Files (WCF endpoint addresses) for different environments using RMVSTS:使用 RM 的不同环境的不同配置文件(WCF 端点地址)
【发布时间】:2016-05-11 21:26:29
【问题描述】:

我有不同的项目正在使用许多 WCF 服务。我正在使用 VSTS 来自动化部署。这些服务根据将要部署的环境定位不同的 URL(端点地址)。

我正在尝试使用带有 VSTS 发布管理的 Web 部署,如此链接中所建议的:WebDeploy with VSTS,它建议创建:

  • Parmeters.xml
  • 然后,使用每个环境的指定变量添加新任务“替换令牌”。

但是,我不认为这对我有用,因为它只为应用设置键生成令牌(这不是我的情况)。

是否有解决方法或任何其他建议可以帮助我完成配置部分?

【问题讨论】:

    标签: wcf web-config azure-devops ms-release-management


    【解决方案1】:

    “替换令牌”任务可以与您项目中的任何配置文件一起使用,并且要替换的内容也由您控制。

    例如,如果您想替换“myconfig.config”文件中的 URL。您可以将配置文件中的 URL 设置为“#{targeturl}#”,并使用以下设置在您的定义中添加“替换令牌”任务:(您可以更改令牌前缀和后缀,但请记住相应地更新它在配置文件中,因为任务根据它找到要替换的字符串)

    然后在定义中用实际的 URL 值创建一个变量“targeturl”:

    现在,当您开始构建/发布时,“myconfig.config”文件中的字符串“#{targeturl}#”将替换为“www.test.com”。

    【讨论】:

    • 完美!我会试试。感谢@Eddie 的支持
    • 您在构建定义中指定变量。所有环境都将替换相同的值。但是,每个环境我需要不同的配置,这就是为什么我需要为每个环境指定变量,除非有构建定义变量的原因。
    • 这对我有用,但现在的问题是如何使用我的 VS 2015 在本地调试应用程序?因为如果我用特殊标记替换 url,则 url 包含“#{targetUrl}#”,它正在等待另一个进程或任务替换标记。
    • @h.salman 然后你可以为你的配置文件添加一个 slowcheetah 转换来在不同的配置中使用不同的值。
    • 其实我想避免使用转换。但是,如果我想使用它,我应该将令牌放在 web.config 中,然后创建一个转换 web.debug.config 并在那里进行替换。但是,我如何替换 URL 本身中的某些标记。请检查我的新问题:[stackoverflow.com/questions/37217934/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 2022-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多