为Azure API管理(APIM)设置CI / CD管道

时间:2019-11-27 04:46:00

标签: azure-devops azure-api-management apim

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

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

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

1 个答案:

答案 0 :(得分:0)

有一个鲜为人知的跨平台工具,称为dotnet-apim

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

  1. 支持标签,用户,订阅,证书和Api订阅密钥
  2. 支持定义生成的ARM模板的名称
  3. 支持变量和条件语句
  4. 支持定义所有APIM实体的ID
  5. 某些错误已消除。例如,Microsoft的工具包无法部署使用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 page提供了详细的说明。还包括Examples来说明不同的情况。

VariablesConditional Statements提供了很多灵活性来支持复杂的方案。