SuperAPI AI 工具集

drupal-update-deploy

部署与运维

查看项目

更新于 10-15 08:18

技能介绍

Drupal Update and Deploy Workflow 用于在需要更新 Drupal 依赖并将变更部署到 Acquia 环境时使用,也可用于运行完整周期:更新包 → 推送代码 → 部署 → 触发流水线。

使用前提:必须加载以下技能集:drupal-maintenance、acli、pipelines-cli。

工作流

步骤 1 — 应用依赖更新 询问用户:“您需要先应用依赖更新,还是更新已经完成?” 如果需要更新 → 根据用例遵循 Security Updates 或 Dependency Updates,然后返回此处。 如果更新已应用 → 继续步骤 2。

步骤 2 — 获取应用和环境 在询问用户部署位置之前,始终先运行这些命令。这确保使用正确的应用和环境 ID。

列出可用应用并记录 UUID

acli api:applications:list

输出显示应用名称和 UUID。询问用户:“您想部署到哪个应用?”并确认 UUID。

列出所选应用的环境

acli api:environments:list <app-uuid>

输出显示环境标签(dev、stage、prod、CDEs)、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 进入环境

acli ssh <environment-id>

应用待处理的数据库更新

drush updb --yes

重建缓存

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