使用 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.com
到
http://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 导出,因此您的所有实例都将具有不同的值。
我目前正致力于将 AZURE API 管理配置部署到多个服务器。例如 DEV / TEST / PROD。
所以我可以使用 GIT 克隆我的存储库,比如我的 DEV 环境。但我可能想使用相同的 "code" 将其推送到 TEST。我的意思是,我不会有特定于测试的整个代码版本,而是 1* 代码库,我可以为我的测试部署转换一些变量。
所以 Url 会从这个开始: http://my-DEV-url.com 到 http://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 导出,因此您的所有实例都将具有不同的值。