SuperAPI AI 工具集

environment-management

部署与运维

查看项目

更新于 10-15 08:17

技能介绍

用途 该技能用于通过 Acquia CLI(acli)管理 Acquia Cloud 环境,仅适用于 ACE(Acquia Cloud Enterprise)订阅。不适用于 MEO(Multi-site Enterprise Operations),后者应参考 MEO Environments。

适用场景 包括:创建或删除持续交付环境(CDE);将一个环境设置为与另一环境完全一致(镜像);在环境之间复制 cron 任务;安装 SSL 证书;列出或检查环境;将代码部署到环境。

主要能力与命令 列出环境:acli api:applications:environment-list,显示某个应用的所有环境(prod、staging、dev 以及任何 CDE)。 查看环境详情:acli env:info,显示所选环境的 PHP 版本、数据库、最后部署、URL 和状态。 创建持续交付环境(CDE):CDE 是按需环境,适合在合并前测试功能分支。命令为 acli env:create "My Feature Branch" feature/my-branch。参数:label(必填,环境的可读名称);branch(可选,要部署的 git 分支,省略时会提示)。交互式示例:acli env:create "QA Review";非交互式示例:acli env:create "Sprint 42 Demo" release/sprint-42。 删除 CDE:acli env:delete,会提示选择要删除的环境。仅 CDE 可删除,生产环境和标准环境不能删除。 部署代码到环境:acli api:environments:code-switch <environmentId> <branch>。示例:acli api:environments:code-switch 112927-9454a2b1-cce0-475e-ae5f-5374dbca9b0a master。返回一个通知 UUID,可用 acli app:task-wait <uuid> 跟踪。 镜像环境:使目标环境与源环境完全一致,复制代码、数据库、文件和配置。命令:acli env:mirror <source-environment> <destination-environment>,使用 app-name.env 格式的环境别名,例如 acli env:mirror myapp.prod myapp.staging。可跳过特定组件:--no-code(-c 跳过代码)、--no-databases(-d 跳过数据库)、--no-files(-f 跳过文件)、--no-config(-p 跳过配置)。警告:该操作会覆盖目标环境,目标环境中的所有现有数据将被替换。 在环境之间复制 cron 任务:acli env:cron-copy <source_env> <dest_env>,例如 acli env:cron-copy myapp.prod myapp.staging。在镜像环境后使用可确保计划任务一致。 安装 SSL 证书:acli env:certificate-create <certificate> <private-key>。选项示例:acli env:certificate-create /path/to/cert.pem /path/to/private-key.pem --label="My SSL Cert" --ca-certificates=/path/to/ca-bundle.pem --legacy(使用传统 SSL,非 SNI)。从现有 CSR 安装:acli env:certificate-create cert.pem key.pem --csr-id=<csr-uuid>。

典型工作流 为功能分支设置 CDE:先执行 acli env:create "Feature: New Checkout" feature/new-checkout 创建环境,再执行 acli env:mirror myapp.prod myapp.<new-cde-id> 将 prod 数据镜像到该环境。 从生产刷新暂存环境:acli env:mirror myapp.prod myapp.staging。 将暂存提升到生产:acli api:environments:code-switch <prod-env-id> main。

最佳实践 测试前先镜像——QA 前始终从 prod 或 staging 同步 CDE。 清理 CDE——完成后删除 CDE,因为它们会消耗资源。 先在暂存环境测试部署——始终先部署到 staging 再部署到生产。 镜像后复制 cron——镜像后运行 env:cron-copy 以保持计划任务同步。

故障排查 “Environment not found”:检查可用环境,执行 acli api:applications:environment-list。 镜像中途失败:检查日志并重试。使用 --no-databases 或 --no-files 跳过失败的组件,例如 acli env:mirror myapp.prod myapp.staging --no-files。

相关主题 Pull & Push——同步本地与 Cloud 环境;Application Management——查找应用 UUID;Remote Access——在环境上使用 SSH 和 Drush。