【问题标题】:VSTS Release - Define custom variable in web.config and set at release timeVSTS Release - 在 web.config 中定义自定义变量并在发布时设置
【发布时间】:2016-02-25 22:29:01
【问题描述】:

我正在尝试使用 VSTS Release 在发布时替换 appSetting。 网络上的所有帖子均指旧版本管理工具或指新版本但提及替换令牌任务。这个任务不存在,所以我认为它是内置的。我已经设置了我的 web.config (MyVar) 并设置了我的环境变量,但没有任何东西被替换。

这是我的发布:

如果我很愚蠢,我很抱歉,但我无法解决这个问题,主要是由于文档过期。

更新 2: 好的,经过几个人的帮助,我现在走在了正确的轨道上。 我添加了 Colin 的 ALM 标记化任务: https://marketplace.visualstudio.com/items?itemName=colinsalmcorner.colinsalmcorner-buildtasks

但是,它不起作用。

以下是几个屏幕截图: 请注意,在屏幕截图中,我知道它已被禁用。直到我能把它修好。

在下面的屏幕截图中,我看到只有几个位置可以选择标记化发生的位置。这看起来是否正确,或者我应该能够看到我希望在其中替换令牌的 Web.Config?

正如我所说,标记化不起作用。

我尝试了一些更改以使其正常工作。

更改 1: 指向上方屏幕截图中的 zip 文件。我的版本工作,但它没有将我的任何网站文件部署到 Azure 服务器。完全没有。

更改2:指向另一个文件CustomerPortal.SetParams.xml

(注意:此时我只是在尝试随机文件以尝试使任何工作正常) 我的版本成功了,但在标记化方面没有发生任何事情。

这是我的日志的一部分:

如您所见,即使发布成功,我网站上的所有文件都不存在:

任何帮助将不胜感激。

【问题讨论】:

  • 虽然替换令牌应该可以工作,但 xml 转换似乎更适合您的情况。

标签: release-management ms-release-management


【解决方案1】:

VSTS 发布管理中没有内置的令牌替换。将值注入 web.config 是一项部署任务,而 VSTS 发布管理与部署工具无关。

如果您需要在部署时将值注入配置文件(或以其他方式更改它们),则可以将其构建到部署脚本中。

【讨论】:

  • 丹尼尔,谢谢。那么我帖子中第二张图片中显示的配置变量有什么意义呢?请注意,我能够创建自己的名为 MyVar 的自定义变量,所以如果不用于注入值,这个配置变量可以用来做什么。
  • 它允许您制作可重用的参数,因此您不必将值复制和粘贴到您的任务中。例如,您可以创建一个ServerName 变量,然后将该变量用作环境中多个任务的参数,然后为不同的环境覆盖该值,而无需更改提供给任务的参数,并且只给您一个保持实际参数值的地方。
  • 啊,有道理。我上周才开始使用 VSTS 构建系统,所以我还在想它
  • 从章鱼部署转移到VSTS发布管理,这是迄今为止最大的痛苦!
【解决方案2】:

目前没有用于替换标记值的内置任务。您可以编写自定义脚本来处理此问题,也可以使用现有的第 3 方任务之一,例如 Replace Tokens 任务 Colin's ALM Corner Build & Release Tools

【讨论】:

    【解决方案3】:

    如果您来自较旧的发布管理或 Web 部署任务,这些任务将替换 Web.Release.config 中的令牌并替换常规 web.config 中的行,这可能会很棘手。

    我实施的解决方案是使用两个任务;一个任务是替换 Web.Release.config 的令牌(不是 web.config,因为我想在本地运行而没有麻烦),第二个任务是在 web.config 上“移动”Web.Release.config 文件。我在 Windows 服务器上,因此您的实现可能需要调整,但过程类似。

    重要提示:您的 Web.Release.config 应该是您的 web.config 的完整克隆,并带有适当的令牌。它不能像使用旧的 Web 部署转换功能时那样保持部分配置。

    使用 cmd.exe,参数为: cmd /c move /y "YOUR_BUILD\drop\YOUR_PROJECT\Web.Release.config" "YOUR_BUILD\drop\YOUR_PROJECT\Web.config"

    【讨论】:

    • 谢谢。我会尽快恢复工作。
    猜你喜欢
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 2018-12-05
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多