在多个环境中部署apigee

时间:2014-01-17 08:51:48

标签: deployment documentation configuration-management apigee

我们计划在多个apigee环境(例如dev,qa,prod等)上工作并计划自动化构建和部署。我们正在寻找有关管理Apigee Edge中以下实体或工件的最佳做法的指导?

  1. 组织级别配置(例如,SSL证书,虚拟主机, 缓存,键值映射,APIProducts,自定义报告,开发人员 团体等))等。
  2. 应用程序级别配置(例如,每个环境的数据库凭据,服务标注和目标URL以及凭据配额/速率限制策略配置等)

4 个答案:

答案 0 :(得分:3)

另外,请查看命名目标服务器(用于管理服务标注和目标服务器)。在http://apigee.com/docs/api-services/content/load-balancing-across-backend-servers的负载平衡下,Apigee上有文档,但您可以将其用于单个目标,然后不必将代码从bundle更改为bundle。

我们还有一个非官方的工具,用于拍摄Apigee开发包中不存在的所有环境变量的快照,您将检查到Git中。您可以在此YouTube视频中了解详情:https://www.youtube.com/watch?v=5jDGTz-UScU#t=10

答案 1 :(得分:0)

我的建议是看看Management API of Apigee Platform。 Apigee Edge具有几乎所有实体管理的API。这些是REST API本身 - 因此您可以使用任何脚本语言编写实体管理脚本。

建议的开发方法如下

  1. 将所有API代理和实体保留在Git等版本控制中。

  2. 使用脚本以及提供的Edge REST API来部署/创建代理和实体。

  3. JMeter或任何其他REST支持测试框架可用于验证部署和API代理。

  4. 所有这些都可以自动化,像Jenkins这样的CI服务器可以在每次办理登机手续时重复整个过程。

答案 2 :(得分:0)

您可以使用简单的API调用完成组织级别配置:

SSL证书,虚拟主机将特定于每个环境,您可以为每个DNS条目设置不同的证书。

为特定捆绑创建缓存。因此,您可以为捆绑包创建修订并根据环境更改缓存。

KeyValueMaps策略可以应用于捆绑包中,并以与针对不同环境所解释的相同方式使用。您可以使用Maven和其他实用程序部署捆绑包,并且可以使用API​​调用来部署新修订。 (服务标注,配额限额等应用的所有政策都可以用同样的方式处理。

如果您需要所有APi调用以自动执行上述操作,请告诉我。

答案 3 :(得分:0)

我发布了一个可用于检索Apigee组织设置的工具。这个工具已经在Apigee内部使用了一段时间,但这是它第一次向公众发布。它使用Apigee管理API来提取配置数据,并且可以配置要提取的数据。数据存储在分层目录结构中,可以存档,探索或用于比较组织。它可以与Apigee Edge云和本地产品一起使用。这是迈克尔比塞尔在视频中提到的另一个答案Org Snapshot video中提到的工具。

一些警告:

  1. 此工具不会检索组织中的所有数据。例如,它不检索API代理。使用Apigee管理UI或管理API来检索API代理。

  2. 该工具由几个bash脚本组成。它已在Linux和Mac OS X上成功运行。

  3. 该工具不会将数据写回组织,但它检索的文件通常可以使用管理API发回给组织。

  4. 此工具按原样发布。它没有得到Apigee的正式支持。

    在tools / org-snapshot目录中的api-platform示例站点(https://github.com/apigee/api-platform-samples)上找到该工具。