mcpField
E
environment-management

environment-management

github.com/acquia云与 DevOps10125 次安装今天更新
代码仓库

关于 environment-management

environment-management 是使用 Acquia CLI 管理 Acquia Cloud Enterprise 环境的技能,涵盖环境查看、CDE 创建与删除、部署、镜像、复制 cron 任务和安装 SSL 证书。

主要功能

  1. 01列出并查看环境信息
  2. 02创建和删除 CDE
  3. 03切换已部署代码
  4. 04镜像环境代码、数据和配置
  5. 05复制 cron 任务并安装 SSL 证书

适用场景

  1. 01为功能分支创建测试环境
  2. 02用生产环境刷新 staging
  3. 03向环境部署代码
  4. 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

最佳实践

  1. 测试前先镜像 —— QA 前,务必将 CDE 与 prod 或 staging 同步。
  2. 清理 CDE —— 用完后删除 CDE;它们会占用资源。
  3. 先在 staging 中测试部署 —— 部署到生产环境前,务必先部署到 staging。
  4. 镜像后复制 cron 任务 —— 镜像后运行 env:cron-copy,以保持计划任务同步。

故障排除

“未找到环境”

检查可用环境:

acli api:applications:environment-list
镜像中途失败

检查日志并重试。使用 --no-databases 或 --no-files 跳过失败的组件:

acli env:mirror myapp.prod myapp.staging --no-files

相关主题

评论

支持 Markdown