mcpField
D
drupal-update-deploy

drupal-update-deploy

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

关于 drupal-update-deploy

drupal-update-deploy 是用于协调 Drupal 依赖更新并部署到 Acquia 环境的技能,指导从选择应用和环境到推送代码、可选运行流水线、更新数据库及验证的流程。

主要功能

  1. 01指导依赖更新与部署步骤
  2. 02列出 Acquia 应用和环境
  3. 03推送代码并切换环境分支
  4. 04可选触发流水线构建
  5. 05运行并验证数据库更新

适用场景

  1. 01将更新后的 Drupal 代码部署到 Acquia
  2. 02为发布选择目标环境
  3. 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 — 应用依赖项更新

询问用户:“你需要先应用依赖项更新,还是已经完成更新?”


步骤 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 — 触发流水线构建(可选)

询问用户:“你想为已部署的分支触发流水线构建吗?”

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 字段,确认分支匹配。


快速参考

步骤工具技能
更新软件包composerdrupal-maintenance-security-updates 或 drupal-maintenance-dependency-updates
获取应用 + 环境acliacli-application-management、acli-environment-management
提交代码更改git—
推送代码acliacli-pull-push
部署到环境acliacli-environment-management
触发流水线pipelines-clipipelines-cli-pipeline-operations
运行数据库更新drushdrush updb、drush cr

评论

支持 Markdown