关于 drupal-update-deploy
drupal-update-deploy 是用于协调 Drupal 依赖更新并部署到 Acquia 环境的技能,指导从选择应用和环境到推送代码、可选运行流水线、更新数据库及验证的流程。
主要功能
- 01指导依赖更新与部署步骤
- 02列出 Acquia 应用和环境
- 03推送代码并切换环境分支
- 04可选触发流水线构建
- 05运行并验证数据库更新
适用场景
- 01将更新后的 Drupal 代码部署到 Acquia
- 02为发布选择目标环境
- 03检查部署和数据库状态
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ acquia/ acquia-skills --skill drupal-update-deploy安装后在 Claude Code 中输入/drupal-update-deploy确认已加载。
详细介绍
Drupal 更新与部署工作流
适用场景:
- 应用 Drupal 依赖项更新并部署到 Acquia 环境
- 执行完整流程:更新软件包 → 推送代码 → 部署 → 触发流水线
**前置条件:**必须加载以下技能集:
drupal-maintenance、acli、pipelines-cli。
工作流
步骤 1 — 应用依赖项更新
询问用户:“你需要先应用依赖项更新,还是已经完成更新?”
- 如果需要更新 → 根据具体情况遵循 Security Updates 或 Dependency Updates,然后返回此处。
- 如果已经应用更新 → 继续步骤 2。
步骤 2 — 获取应用和环境
在询问用户要部署到哪里之前,务必先运行以下命令。这样可以确保使用正确的应用和环境 ID。
# List available applications and note the UUID
acli api:applications:list
输出会显示应用名称和 UUID。询问用户:**“你想部署到哪个应用?”**并确认 UUID。
# List environments for the selected application
acli api:environments:list <app-uuid>
输出会显示环境标签(dev、stage、prod、CDE)、ID 和当前已部署的分支。询问用户:“你想部署到哪个环境?”
步骤 3 — 提交代码更改
推送前,检查是否存在未提交的更改:
git status
如果存在未提交的更改,询问用户:“你想在部署前提交这些更改吗?”
- 如果是 — 询问提交信息,然后提交:
git add -A git commit -m "<user-provided message>" - 如果否 — 告知用户,未提交的更改不会包含在部署中,并确认是否继续。
步骤 4 — 将代码推送到 Acquia Cloud
将已提交的代码推送到所选环境:
acli push:code
完整选项(选择环境、处理冲突)请遵循 Pull & Push。
步骤 5 — 切换环境上的代码
推送完成后,使用步骤 2 中的环境 ID,将环境切换到更新后的分支:
acli api:environments:switchCode <environment-id> --branch=<branch-name>
部署选项请遵循 Environment Management。
步骤 6 — 触发流水线构建(可选)
询问用户:“你想为已部署的分支触发流水线构建吗?”
- 如果是 → 遵循 Pipeline Operations,启动构建并查看日志流:
pipelines start --application-id=<app-id> --vcs-path=<branch> --tail
- 如果否 → 工作流完成。
步骤 7 — 运行数据库更新
代码在环境中上线后(以及任何流水线运行完成后),通过 Drush 运行数据库更新并重建缓存:
# SSH into the environment
acli ssh <environment-id>
# Apply pending database updates
drush updb --yes
# Rebuild caches
drush cr
如果使用流水线:Drush 命令可能已包含在流水线定义中。询问用户:“你的流水线会运行
drush updb和drush cr吗?”
- 如果是 → 跳过此步骤。
- 如果否 → 运行上述命令。
验证 Drush 是否能够连接站点,以及数据库架构是否为最新版本:
drush status
预期输出包括 Drupal bootstrap: Successful 和 Drupal 版本。如果 Drush 引导失败,请勿继续 — 在将部署标记为完成之前检查错误。
步骤 8 — 验证部署
流水线完成后(或跳过流水线时),确认环境运行的是预期代码:
acli api:environments:list <app-uuid>
检查目标环境的 vcs 字段,确认分支匹配。
快速参考
| 步骤 | 工具 | 技能 |
|---|---|---|
| 更新软件包 | composer | drupal-maintenance-security-updates 或 drupal-maintenance-dependency-updates |
| 获取应用 + 环境 | acli | acli-application-management、acli-environment-management |
| 提交代码更改 | git | — |
| 推送代码 | acli | acli-pull-push |
| 部署到环境 | acli | acli-environment-management |
| 触发流水线 | pipelines-cli | pipelines-cli-pipeline-operations |
| 运行数据库更新 | drush | drush updb、drush cr |