1

我正在寻找一种简单且可维护的方式来为 Azure API 管理设置 CI/CD 管道。

比方说,对于每个版本,我都可以从代码中自动生成 OpenAPI 规范。如何在此 OpenApi 规范的基础上使用所有必需的版本集、api、产品、标签、用户、订阅、证书和策略来设置 Azure API 管理?

我找到了 Azure DevOps 工具包,但它有错误,不提供所有功能,并且不够简单和灵活,无法与 CI/CD 管道集成。

4

1 回答 1

2

有一个不太知名的跨平台工具,叫做dotnet-apim

它是从 Microsoft 的 Apim DevOps Toolkit 中衍生出来的,但还添加了许多其他功能,例如:

  1. 支持标签、用户、订阅、证书和 API 订阅密钥
  2. 支持定义生成的 ARM 模板的名称
  3. 支持变量和条件语句
  4. 支持定义所有 APIM 实体的 Id
  5. 消除了一些错误。例如,微软的工具包无法部署使用 OpenApi Spec 定义的多个 API。

除了所有这些好处之外,该工具包现在被打包为一个跨平台的 dotnet 全局工具。因此,您可以轻松地在 ci/cd 管道中添加一个任务,以一次性安装 dotnet 和 dotnet-apim。然后您可以轻松调用该工具为您生成所需的 ARM 模板。

dotnet tool install --global Apim.DevOps.Toolkit  #installs the tool
dotnet-apim -c "c:/apim/definition.yml" #generates arm templates

该工具的Github 页面提供了详细说明。还包括示例以说明不同的情况。

变量条件语句提供了很大的灵活性来支持复杂的场景。

于 2019-11-27T05:09:18.020 回答