mcpField
D
drupal-update-deploy

drupal-update-deploy

github.com/acquiaクラウド・DevOps10126 回インストール今日更新
リポジトリ

drupal-update-deploy について

drupal-update-deployは、Drupalの依存関係更新とAcquia環境へのデプロイを進めるスキルです。アプリケーションと環境の選択から、コードのプッシュ、任意のパイプライン実行、データベース更新、検証までを案内します。

主な機能

  1. 01依存関係更新とデプロイ手順の案内
  2. 02Acquiaアプリケーションと環境の一覧表示
  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 に進みます。

ステップ 2 — アプリケーションと環境を取得する

デプロイ先をユーザーに尋ねる前に、必ず以下を実行してください。これにより、正しいアプリケーション ID と環境 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

詳細なオプション(環境の選択、競合への対処)については、プルとプッシュ に従ってください。


ステップ 5 — 環境上のコードを切り替える

プッシュ後、ステップ 2 の環境 ID を使って、環境を更新済みのブランチに切り替えます:

acli api:environments:switchCode <environment-id> --branch=<branch-name>

デプロイのオプションについては、環境管理 に従ってください。


ステップ 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

コメント