使用 GIT 部署到 Azure API 管理,但执行类似于 web.config 转换的操作

Deploying to Azure API Management with GIT but doing something similar to web.config transformations

我目前正致力于将 AZURE API 管理配置部署到多个服务器。例如 DEV / TEST / PROD。

所以我可以使用 GIT 克隆我的存储库,比如我的 DEV 环境。但我可能想使用相同的 "code" 将其推送到 TEST。我的意思是,我不会有特定于测试的整个代码版本,而是 1* 代码库,我可以为我的测试部署转换一些变量。

所以 Url 会从这个开始: http://my-DEV-url.comhttp://my-TEST-url.com

现在在网站等其他世界中,我可以使用 web.test.config 转换我的 web.config。因此,根据我的构建配置,我的配置会自动转换。

所以我真正的问题是,我可以在我的 Azure API 管理 json 上做任何时髦的转换以避免必须在我的代码中保留 3 个版本 (DEV/TEST/PROD) 3 个不同的 GIT 分支。

如有任何建议,我们将不胜感激。

谢谢 拉斯

您可以使用properties to define instance-scoped values. Properties can't be used to define serviceUrl for an API, but you can use set-backend-service policy在运行时定义serviceUrl。

<policies>
    <inbound>
         <set-backend-service base-url="{{backend-url}}" />
         ....

然后在 APIM 实例上将 "backend-url" 属性 设置为所需的值。 请注意,属性不会通过 git 导出,因此您的所有实例都将具有不同的值。