簡體   English   中英

Azure Devops 發布管道 XML 變量替換不起作用

[英]Azure Devops Release Pipeline XML Variable Substitution not working

我的發布管道中有一個非常簡單的變量替換,但它不起作用。 我在connectionStrings.config文件中有這樣的變量:

<?xml version="1.0"?>
<connectionStrings>
  <add name="ExpenseDBConnectionString" connectionString="__ProdConnString__" providerName="System.Data.SqlClient" />
</connectionStrings>

然后我在發布管道中定義了變量:

在此處輸入圖片說明

我還在部署任務中啟用了XML Variable Substitution

在此處輸入圖片說明

但是我運行發布,並且變量沒有被替換。 我在日志中收到此消息:

2020-02-28T19:57:26.1262198Z Initiated variable substitution in config file : D:\a\_temp\temp_web_package_875508750741006\Content\D_C\a\1\s\Expenses.Web\obj\Release\Package\PackageTmp\App_Config\ConnectionStrings.config
2020-02-28T19:57:26.1312311Z Processing substitution for xml node : connectionStrings
2020-02-28T19:57:26.1321602Z Skipped Updating file: D:\a\_temp\temp_web_package_875508750741006\Content\D_C\a\1\s\Expenses.Web\obj\Release\Package\PackageTmp\App_Config\ConnectionStrings.config

這應該很簡單,所以不確定我缺少什么設置。 幫助!

您應該在發布管道ExpenseDBConnectionString變量名稱定義為ExpenseDBConnectionString 下面是設置XML variable substitution 變量與keyname條目匹配

在構建或發布管道中定義的變量將與任何配置文件和 parameters.xml 的 appSettings、applicationSettings 和 connectionStrings 部分中的“key”或“name”條目進行匹配。 變量替換在配置轉換后運行。

所以定義的變量應該如下所示:

在此處輸入圖片說明

下面的截圖是我測試發布的結果,你可以看到 connectionString 被替換了。

在此處輸入圖片說明

有關 XML 變量替換的更多信息,請在此處查看

還有一些第三方替換工具(即Magic Chunks )可用於替換配置設置。 請查看此線程的示例。

 XML transformation will be run on the *.config file for transformation configuration files named *.Release.config or *.<stage>.config

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/transforms-variable-substitution?view=azure-devops&tabs=Classic#xml-transformation

這應該是你的答案? 你的文件名不是那樣的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM