我是 Azure DevOps 版本的新手。我正在尝试接收一个包含 zip 文件的工件,其中有一个 config.json 文件,其中包含一个简单的变量。
{"apiUrl": "#{apiURL}#"}
这将作为 IIS 应用程序部署在服务器中。我已经能够在服务器的 IIS 中发布该应用程序。现在的问题是需要更改此变量以反映服务器中 api 的新路径。
我正在尝试以下操作:
我尝试删除zip文件,移动任务的顺序,尝试直接在服务器上替换(我惨败)。如果有人知道我缺少什么。请帮忙。
我已经检查了发布管道任务定义。
问题的原因是存档文件任务将压缩包含文件夹名称的文件。
以下是您的zip包中的文件结构:
-- 876 #$(build.buildid) foldername
-- otherfiles
-- config.json
在这种情况下,当您将zip包部署到IIS服务器时,config.json文件(更新的apiUrl值)将显示在876文件夹下,而不是根文件夹下。它不会更新根文件夹中的 config.json 文件
从您的屏幕截图中,您正在检查网站根文件夹中的 config.json 文件。因此,变量的值不会改变。
您可以检查是否存在文件夹名称:876,并检查文件夹876中的config.json文件值是否正确。
要解决此问题(更改根文件夹中的 config.json),您需要禁用选项:存档文件任务中的将根文件夹名称添加到存档路径。
例如:
它将排除根文件夹名称和文件结构,如下所示:
-- otherfiles
-- config.json
在这种情况下,它将更新网站根文件夹中的 config.json 文件。
有关更多详细信息,您可以参考此文档:ArchiveFiles@2 - 存档文件 v2 任务