Show Menu
主题×

部署代码

使用Cloud Manager部署代码

配置Pipeline ​(存储库、环境和测试环境)后,您便可以部署代码。
  1. “从云管理器部署”以开始部署过程。
  2. 将显 示“管道 执行”屏幕。
    单击 “构建 ”以开始该过程。
  3. 整个构建过程会部署您的代码。
    构建过程中涉及以下阶段:
    1. 阶段部署
    2. Stage Testing
    3. 生产部署
    此外,您还可以查看日志或查看测试标准的结果,来查看各个部署流程中的步骤。
    Stage Deployment ,涉及以下步骤:
    • 验证: 此步骤确保管道配置为使用当前可用的资源,例如,已配置的分支存在,环境可用。
    • 构建和单元测试: 此步骤运行容器化构建过程。 有关 构建环境的详细信息 ,请参阅创建AEM应用程序项目。
    • 代码扫描: 此步骤将评估应用程序代码的质量。 有关 测试过程的详细信息 ,请参阅了解测试结果。
    • 构建图像: 此步骤包含用于构建图像的进程中的日志文件。 此过程负责将构建步骤生成的内容和调度程序包转换为Docker图像和Kubernetes配置。
    • 部署到舞台
      台测试 ,涉及以下步骤:
    • 产品功能测试: Cloud Manager管道执行将支持执行针对舞台环境运行的测试。 有关 测试过程的详细信息 ,请参阅了解测试结果。
    • 自定义功能测试: 管道中的此步骤始终存在,无法跳过。 但是,如果生成未生成测试JAR,则默认情况下测试通过。 有关 测试过程的详细信息 ,请参阅了解测试结果。
注意: 需要为AEM Cloud Services的Cloud Manager更新以下部分,并且正在进行中。

部署流程

以下部分介绍如何在阶段和生产阶段部署AEM和调度程序包。
Cloud Manager将构建过程生成的所有目标/*.zip文件上传到存储位置。 在管道的部署阶段从此位置检索这些对象。
当Cloud Manager部署到非生产拓扑时,其目标是尽快完成部署,因此将对象同时部署到所有节点,如下所示:
  1. Cloud Manager确定每个对象是AEM还是调度程序包。
  2. Cloud Manager从负载平衡器中删除所有调度程序,以在部署过程中隔离环境。
    除非另外配置,否则您可以跳过开发和阶段部署中的负载平衡器更改,即分离和附加非生产管道中的步骤,以用于开发环境和生产管道中的阶段环境。
    此功能主要由1-1-1客户使用。
  3. 每个AEM对象都通过包管理器API部署到每个AEM实例,具有确定部署顺序的包依赖关系。
    要进一步了解如何使用包安装新功能、在实例之间传输内容以及备份存储库内容,请参阅如何使用包。
    所有AEM对象均部署到作者和发布者。 需要特定于节点的配置时,应利用运行模式。 要进一步了解运行模式如何允许您针对特定目的调整AEM实例,请参阅运行模式。
  4. 调度程序对象将按如下方式部署到每个调度程序:
    1. 当前配置被备份并复制到临时位置
    2. 除不可变文件外,所有配置都将被删除。 有关更多详细信息,请参阅管理调度程序配置。 这将清除目录,以确保不留下任何孤立文件。
    3. 该项目会解压缩到httpd目录。 不可改写的文件不会被覆盖。 在部署时,您对git存储库中不可变文件所做的任何更改都将被忽略。 这些文件是AMS调度程序框架的核心,无法更改。
    4. Apache执行配置测试。 如果未找到错误,则重新加载服务。 如果发生错误,则从备份中恢复配置,重新加载服务,并将错误报告回云管理器。
    5. 管道配置中指定的每个路径都无效或从调度程序缓存中刷新。
    Cloud Manager希望调度程序对象包含完整的文件集。 所有调度程序配置文件都必须在git存储库中。 缺少文件或文件夹将导致部署失败。
  5. 将所有AEM和调度程序包成功部署到所有节点后,调度程序将重新添加到负载平衡器,部署完成。
    您可以跳过开发和阶段部署中的负载平衡器更改,即在非生产管道中为开发人员环境分离和附加步骤,在生产管道中为阶段环境分离和附加步骤。

部署到生产阶段

部署到生产拓扑的过程略有不同,以最大限度地减少对AEM Site访客的影响。
生产部署通常遵循与上述步骤相同的步骤,但是采用滚动方式:
  1. 部署AEM包以进行创作。
  2. 从负载平衡器中分离调度程序1。
  3. 将AEM包部署到publish1,将调度程序包部署到dispatcher1,刷新调度程序缓存。
  4. 将dispatcher1放回负载平衡器中。
  5. 调度程序1恢复服务后,请从负载平衡器中分离调度程序2。
  6. 将AEM包部署到publish2,将调度程序包部署到dispatcher2,刷新调度程序缓存。
  7. 将dispatcher2放回负载平衡器中。 此过程将一直持续到部署到达拓扑中的所有发布者和调度程序为止。