在CI/CD管道中自动化Apigee API代理部署



是否有推荐的方法通过CI/CD管道创建和部署Apigee API代理捆绑包(我使用的是Azure DevOps(?

我想避免在没有任何更改的情况下创建和部署过多的API代理捆绑包。我已经测试过了,我看到相同的捆绑包仍然会创建一个新的修订版。

到目前为止,我自己的解决方案是编写一个PowerShell脚本,使用apigeecli下载当前捆绑包,并将其与我在本地的repo中的apiproxy进行比较。如果不同,我将创建并部署一个新的API代理捆绑包。

有人看到更好的东西了吗?

我主要使用Gitlab进行自动化,但我会分享我的想法,这可能有助于您的具体案例。

所以我们使用版本控制来管理我们的顶点回购。我已经设置了一个gitlab管道,每当我们推送到存储库时,它都会检查差异,只有在有任何更改的情况下,我们才会将代理重新部署到Apigee。通常,当触发管道时,我们会检查目标服务器、代理和共享流是否有任何更改,如果检测到更改,我们会查看部署的修订版和环境。

通过我的部署脚本,我能够获得这些更改的列表,并将它们作为CHANGES变量传递给管道。这意味着将只部署这些修改后的代理。

在我的管道上,我可以执行类似于git diff --name-only $CI_COMMIT_SHA..$CI_COMMIT_BEFORE_SHA > /changes.txt的操作,并将更改文件的内容传递给要部署的CHANGES

相关内容

  • 没有找到相关文章

最新更新