首页 > 解决方案 > API 管理开发人员门户 CI/CD

问题描述

我希望为开发人员门户中的内容设置 CI/CD 流,以便我们可以在开发环境中进行更改并将它们提升到更高的环境。根据我的发现,这似乎包含有关执行此操作的建议方式的信息:

https://docs.microsoft.com/en-us/azure/api-management/automate-portal-deployments

链接到这个回购:

https://github.com/Azure/api-management-developer-portal

据我所知,该存储库中的大部分代码。如果您想自行托管,则适用于开发人员门户本身。我对自托管不感兴趣,我只对其中包含的脚本感兴趣,因为它们允许我在环境之间提取和发布内容。是否有一个只包含脚本运行所需的代码的存储库(特别是 v3)?如果可能的话,我宁愿避免手动检查和删除与脚本无关的文件,因为我真的不知道/理解它们都是什么。

如果存在这样的存储库,它将启用我的理想方案,即分叉该存储库,运行“捕获”脚本,然后将提取的开发人员门户内容检入新存储库。

标签: azureazure-api-management

解决方案


那么,为什么不直接复制scripts.v3文件夹并使用它呢?正如您所注意到的,如果您没有运行自托管版本,则不需要其他文件。所以你可以简单地复制粘贴它们。这些脚本只不过是用 node.js 编写的Azure REST API端点的客户端。它们可以完全独立于存储库的其余部分运行。


如果您不喜欢 node.js,您甚至可以编写自己的脚本来部署开发人员门户 - 使用您选择的语言。

开发者门户包含Content Types其中包含Content Items. 另一件事是存储在 APIM blob 存储中的媒体(字体、图像等)。这两件事决定了 Developer Portal 的外观。

所以你需要做的就是:

  1. 从一个实例中获取所有内容项(使用 Azure REST API)并将它们放到另一个 APIM
  2. 连接到 APIM blob 存储并获取所有媒体 blob 并将它们放入另一个 APIM blob 存储。您也可以使用 Azure REST API 获取 Blob 存储的 SAS url。

如果您仔细检查,这些脚本正在做完全相同的事情:

  • capture.js- 将从给定 APIM 实例中获取所有文件并将其放入本地文件夹
  • generate.js- 将从您的本地文件夹中获取文件并将其放入您选择的 APIM 实例
  • migrate.js- 只是前两个脚本的组合。它将从一个实例中获取文件并将其放到另一个实例中。
  • cleanup.jsreset- 它与开发人员门户中的按钮相同。它恢复了默认状态。

推荐阅读