【问题标题】:Set up a CI/CD pipeline for Azure API Management (APIM)为 Azure API 管理 (APIM) 设置 CI/CD 管道
【发布时间】:2019-11-27 04:46:00
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    有一个不太知名的跨平台工具,叫做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 提供了很大的灵活性来支持复杂的场景。

    【讨论】:

    • 您好朋友,感谢您的分享,请将您的回复标记为答案,这将有助于其他社区成员更轻松地搜索此有用信息,这只是一个提醒:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 2020-02-06
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 2020-04-07
    相关资源
    最近更新 更多