关于 environment-management
environment-management 是使用 Acquia CLI 管理 Acquia Cloud Enterprise 环境的技能,涵盖环境查看、CDE 创建与删除、部署、镜像、复制 cron 任务和安装 SSL 证书。
主要功能
- 01列出并查看环境信息
- 02创建和删除 CDE
- 03切换已部署代码
- 04镜像环境代码、数据和配置
- 05复制 cron 任务并安装 SSL 证书
适用场景
- 01为功能分支创建测试环境
- 02用生产环境刷新 staging
- 03向环境部署代码
- 04镜像后同步 cron 任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ acquia/ acquia-skills --skill environment-management安装后在 Claude Code 中输入/environment-management确认已加载。
详细介绍
使用 Acquia CLI 管理环境
平台: 此技能仅适用于 ACE(Acquia Cloud Enterprise) 订阅。 对于 MEO(Multi-site Enterprise Operations),请参阅 MEO 环境。
适用于以下场景:
- 创建或删除 Continuous Delivery 环境(CDE)
- 使一个环境与另一个环境完全一致(镜像)
- 在环境之间复制 cron 任务
- 安装 SSL 证书
- 列出或检查环境
- 将代码部署到环境
列出环境
acli api:applications:environment-list
显示某个应用的所有环境(prod、staging、dev 和任何 CDE)。
获取环境详情
acli env:info
显示所选环境的 PHP 版本、数据库、上次部署、URL 和状态。
创建 Continuous Delivery 环境(CDE)
CDE 是按需创建的环境,可用于在合并前测试功能分支。
acli env:create "My Feature Branch" feature/my-branch
参数:
label(必需)—— 新环境的易读名称branch(可选)—— 要部署的 git 分支;如果省略,系统会提示输入
# Interactive (prompts for branch)
acli env:create "QA Review"
# Non-interactive
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
跳过特定组件:
acli env:mirror myapp.prod myapp.staging \
--no-code \ # -c: skip code
--no-databases \ # -d: skip databases
--no-files \ # -f: skip files
--no-config # -p: skip configuration
警告: 这会覆盖目标环境。目标环境中的所有现有数据都会被替换。
在环境之间复制 Cron 任务
将某个环境中的所有 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 # Use legacy SSL (non-SNI)
要从现有 CSR 安装:
acli env:certificate-create cert.pem key.pem --csr-id=<csr-uuid>
典型工作流
为功能分支设置 CDE
# Create the environment
acli env:create "Feature: New Checkout" feature/new-checkout
# Mirror prod data to it
acli env:mirror myapp.prod myapp.<new-cde-id>
使用生产环境刷新 staging
acli env:mirror myapp.prod myapp.staging
将 staging 提升为 prod
acli api:environments:code-switch <prod-env-id> main
最佳实践
- 测试前先镜像 —— QA 前,务必将 CDE 与 prod 或 staging 同步。
- 清理 CDE —— 用完后删除 CDE;它们会占用资源。
- 先在 staging 中测试部署 —— 部署到生产环境前,务必先部署到 staging。
- 镜像后复制 cron 任务 —— 镜像后运行
env:cron-copy,以保持计划任务同步。
故障排除
“未找到环境”
检查可用环境:
acli api:applications:environment-list
镜像中途失败
检查日志并重试。使用 --no-databases 或 --no-files 跳过失败的组件:
acli env:mirror myapp.prod myapp.staging --no-files
相关主题
评论
支持 Markdown