首页 > 解决方案 > 释放 Json 变量的替换继承

问题描述

我目前使用 Azure-Devops 来构建我的代码库并将其发布到多个环境,并且对发布方面有疑问。

我有多个 URLappSettings.json指向不同的 API 端点,例如(在本地):

IDSrvr4 登录名是https://localhost:5001.
IDSrvr4 后注销是https://localhost:5001/logout.
健康检查https://localhost:5001/healthz

有没有办法让我配置发布变量,所以我有:

baseWebsite:https://dev.environemnt.com
idSrvr4.loginRedirect:$(baseWebsite)
idSrvr4.postLogutRedirect:$(baseWebsite)/logout
healthChecks.Uri: $(baseWebsite)/healthz

这样我就有一个位置可以改变环境。

标签: azure-devops

解决方案


如果您将 baseWebsite 添加到发布定义的“变量”选项卡并将其值设置为https://dev.environemnt.com,则可以使用 Patch JSON Files 之类的任务来替换 appSettings.json 中的值。您可能需要从Visual Studio Marketplace安装 Patch JSON Files 任务

安装后,配置类似于下面的 Patch JSON Files 任务(您的 Patch Content 可能会略有不同,具体取决于您的 appSettings.json 的结构,这是我根据您提供的片段的最佳猜测)。

修补 JSON 文件配置

然后,您可以在每个环境的 baseWebsite 的变量选项卡中设置不同的值,只要已将 Patch JSON Files 任务添加到该环境的代理作业,appSettings.json 中的值将替换为该环境的值


推荐阅读