首页 > 解决方案 > Azure Devops(VSTS) 发布管道变量

问题描述

希望我能保持尽可能清晰和简单。我正在尝试根据环境替换 web.config 中的变量。目前,我可以通过将变量置于“#{variablename}#”格式中来替换其他变量,例如连接字符串和应用程序设置中的变量。这不适用于端点地址中的变量。

我以前使用替换令牌来完成此操作,但现在必须将其内置到 azure 中,因为我在构建或执行替换的发布任务中没有任何额外任务。除非它在我不知道的其他地方。我已经搜索了我能找到的所有内容,但我没有看到为什么本节中的值不被替换的原因我认为它是根据名称替换的,但我不明白为什么这个值不会被替换。

此替换适用于 VariableName ConnectionString

<connectionStrings>
    <add name="ConnectionString" connectionString="#{ConnectionString}#" providerName="System.Data.SqlClient"/>
  </connectionStrings>

这不适用于 VariableName ServiceSoapEndPoint

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="Service" />
      </basicHttpBinding>
      <customBinding>
        <binding name="Service1">
          <textMessageEncoding messageVersion="Soap1" />
          <httpTransport />
        </binding>
      </customBinding>
    </bindings>
    <client>
      <endpoint address="#{ServiceSoapEndPoint}#" binding="basicHttpBinding"
        bindingConfigu`enter code here`ration="ServiceSoap" contract="Service.ServiceSoap"
        name="ServiceSoapEndPoint" />
    </client>

标签: azure-devopsazure-pipelinesazure-pipelines-release-pipeline

解决方案


我无法找到我正在寻找的确切解决方案,所以我最终做了一个工作来完成这个。我基本上是在尝试使用环境变量,以便在发布时它会根据环境更改端点地址。由于我能够在 appsettings 元素中获取要更改的值,因此我做了一个解决方法,使用从 appsettings 值读取的值来实例化肥皂服务。


推荐阅读