[Beta]{class="badge positive"}
使用Canary部署验证代码 canary-deployments
对于AEM Cloud Service实施,Cloud Manager中的Canary部署允许您在将实际用户流量路由到实时生产基础设施的发布层之前,验证该层上的新代码。 您可以将新版本与当前稳定版本一起部署,并通过专用请求标头访问该版本。 确认新版本成功工作后,您可以将其提升至所有流量(这在3小时窗口后自动发生)或回滚。
开发和暂存环境仍然是测试代码发布的主要场所;Canary部署提供了一个额外的机会,可用于验证发布是否按预期运行。 例如,如果AEM生产与外部服务的生产端点集成,而这些端点未在较低级别的AEM环境中显式验证,则此功能非常有用。
Canary部署用于内部验证,而不是用于将真实用户流量从旧版本转移到新版本;真实用户流量永远不会自动路由到Canary实例。
Canary部署过程 how-canary-deployments-work
当您运行启用了Canary部署的完整栈栈管道时,Cloud Manager会为新内部版本启动一组单独的Canary实例,同时您的稳定实例会继续为用户提供服务。 该过程遵循以下步骤:
- 您可以运行已启用Canary部署的全栈栈部署管道、暂存或生产。
请参阅运行管道和启用Canary部署。 - 在部署步骤中,Cloud Manager会启动运行新版本代码的Canary实例。
- 您现有的稳定实例将继续为实时流量提供服务。
- 您可以通过添加Canary请求标头有选择地访问新版本。 请参阅访问Canary发行版。
- 在验证窗口中,您可以将Canary版本升级为所有流量或取消该版本。 请参阅验证和提升或取消。
启用Canary部署 enable-canary-deployments
可以在全栈管道上启用Canary部署。 仅支持 暂存 和 生产 环境的Canary部署。 请注意,配置为同时部署到暂存和生产环境的管道仅在生产环境中运行Canary部署,如下所示。
按管道类型列出的Canary部署行为
Canary部署运行的位置取决于管道类型。
要启用Canary部署:
-
在Cloud Manager中,添加新管道或编辑将全栈栈代码部署到暂存或生产环境的现有管道。
-
在 编辑生产管道 对话框中,单击 Source代码 选项卡。
-
在 管道 部分的 生产部署选项 标题下,单击Canary部署(测试版)。
-
单击 更新 以完成管道启用。
在验证窗口中,只有包含Canary标头的请求才会到达新部署的版本。 所有其他请求将继续获得稳定版本。
访问Canary发行版 access-the-canary-release
在Cloud Manager启动Canary实例后,您可以通过向请求添加HTTP标头到达新版本。 稳定版本将继续处理没有标头的请求。
要向Canary版本发送请求,请包括以下标头:
X-Aem-Canary: true
验证并提升或取消 validate-and-promote-or-cancel
当Canary实例准备就绪后,将打开一个验证窗口,以便您测试新版本。 Cloud Manager在 部署到生产 部分中显示升级到生产和取消部署选项。
提升Canary版本 promote-the-canary-release
要将所有实时流量路由到新版本,请单击提升到生产环境。 当您提升Canary版本时:
- Canary版本成为新的稳定版本。
- Cloud Manager会将所有实时流量路由到新版本。
- 回滚不再可用。
取消Canary部署 cancel-the-canary-deployment
如果在验证窗口期间发现问题,请单击取消部署。 当您取消Canary部署时:
- Cloud Manager停止了Canary发行版,并删除了Canary实例。
- 以前的稳定版本继续提供流量。
- 取消只能在验证窗口期间使用。
范围和限制 scope-and-limitations
在使用Canary部署时,请考虑以下范围和限制:
- Canary部署仅适用于发布层。 在Canary验证期间,创作层将保持为稳定版本。
- 您的更改必须向后兼容,以便Canary发布实例可以为现有的内容结构提供服务。
- 提升Canary版本后,将应用版本中的可变内容更改。 在验证期间,这些更改在Canary实例上不可用。