mcpField
P
pull-push

pull-push

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

pull-push について

pull-pushは、Acquia CLIでローカル環境とAcquia Cloud Platform間のコード、データベース、ファイルを同期するスキルです。ACEサブスクリプション向けに、選択的なプル、データベースやファイルのプッシュ、ビルド成果物のデプロイを扱います。

主な機能

  1. 01コード、データベース、ファイルのプル
  2. 02プル対象とオプションの選択
  3. 03Cloudへのデータベースとファイルのプッシュ
  4. 04コード成果物のビルドとデプロイ
  5. 05プル後スクリプトの実行

活用シーン

  1. 01ローカルDrupal開発環境の更新
  2. 02Cloudの最新データベースバックアップの取り込み
  3. 03Cloud環境へのビルド成果物のデプロイ

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/acquia/acquia-skills --skill pull-push

インストール後、Claude Code で/pull-pushを入力して読み込まれたか確認します。

詳細

Acquia CLI でのプルとプッシュ

プラットフォーム: このスキルは ACE(Acquia Cloud Enterprise) サブスクリプションのみに適用されます。 MEO(Multi-site Enterprise Operations)については、データベースとファイルの操作に関する MEO Site Instances を参照してください。

以下の場合に使用します:

  • ローカル環境を Cloud Platform 環境と同期する
  • Cloud からローカルにコード、データベース、またはファイルをプルする
  • コード、データベース、ファイル、またはビルド成果物を Cloud にプッシュする

プル:Cloud からローカルにコピーする

すべてをプルする(コード+データベース+ファイル)
acli pull:all

エイリアス:acli refresh、acli pull

環境を選択するよう求められた後、コード、データベース、ファイルをローカル環境にコピーします。

オプション:

acli pull:all \
  --dir=/path/to/project \
  --no-code \        # skip code
  --no-databases \   # skip database
  --no-files \       # skip files
  --no-scripts       # skip post-pull scripts

コードのみをプルする
acli pull:code

選択した Cloud 環境から最新のコードをローカルディレクトリにプルします。

acli pull:code --dir=/path/to/project

データベースのみをプルする
acli pull:database

エイリアス:acli pull:db

Cloud 環境からデータベースのバックアップをローカルデータベースにインポートします。

オプション:

acli pull:database \
  --on-demand \      # force a fresh on-demand backup (not cached)
  --no-import \      # download the backup file but don't import it
  --multiple-dbs     # download multiple databases (multisite)

ファイルのみをプルする
acli pull:files

Cloud 環境から Drupal の公開ファイル(sites/default/files)をローカルにコピーします。


プル後のスクリプトを手動で実行する

プル中にスクリプトの実行をスキップした場合は、個別に実行します。

acli pull:run-scripts
acli pull:run-scripts --dir=/path/to/project

プッシュ:ローカルから Cloud にコピーする

データベースをプッシュする
acli push:database

エイリアス:acli push:db

ローカルデータベースを Cloud Platform 環境にアップロードします。ローカルとリモートの両方でデータベースが設定されている必要があります。


ファイルをプッシュする
acli push:files

ローカルの Drupal 公開ファイルを選択した Cloud 環境にコピーします。


コードをプッシュする(IDE のみ)
acli push:code

Cloud IDE から Cloud Platform 環境にコードをプッシュします。このコマンドは Cloud IDE または Lando 環境内でのみ使用できます。


コード成果物をビルドしてプッシュする

プロジェクトをビルドし、コンパイル済みの成果物を Cloud 環境またはカスタムの git リモートにプッシュします。

acli push:artifact

一般的なオプション:

# Push to a specific branch on Cloud
acli push:artifact --destination-git-branch=deploy/main

# Push to a specific tag
acli push:artifact --destination-git-tag=release-1.2.3

# Push to an external git URL (e.g. GitHub)
acli push:artifact [email protected]:myorg/myrepo.git

# Dry run — build but don't push
acli push:artifact --no-push

# Build in a specific directory
acli push:artifact --dir=/path/to/project

# Skip sanitization step
acli push:artifact --no-sanitize

一般的なワークフロー

ローカル開発環境を更新する
acli pull:all
データベースのみをプルする(テストに最適)
acli pull:database --on-demand
ビルド成果物を Cloud にデプロイする
acli push:artifact --destination-git-branch=tags/deploy-branch
ファイルを本番環境に同期する(慎重に使用してください)
acli push:files

ベストプラクティス

  1. プッシュする前に必ずプルする — Cloud 上の最新の変更を上書きしないようにします。
  2. 最新データには --on-demand を使用する — デフォルトのプルではキャッシュされたバックアップが使用されます。--on-demand を指定すると、新しいバックアップが作成されます。
  3. --no-push で成果物のビルドをテストする — プッシュする前に成果物が正しいことを確認します。
  4. CI では --no-scripts を使用する — プル後のスクリプトはローカル開発用であり、CI パイプライン用ではありません。
  5. データベースをプッシュする前にバックアップする — push:database はリモートデータベースを上書きします。

トラブルシューティング

「ローカルデータベースが見つかりません」

pull:all と pull:database には、実行中のローカルデータベースが必要です。ローカルの Drupal スタック(Lando、DDEV など)が起動していることを確認してください。

プッシュ時に「アクセスが拒否されました」と表示される

SSH キーが設定されており、アカウントに環境への書き込みアクセス権があることを確認してください。

acli ssh-key:list
acli auth:me
成果物のプッシュに失敗する

プッシュする前に、composer install とすべてのビルド手順がエラーなく完了することを確認してください。

acli push:artifact --no-push  # dry run to inspect

関連トピック

コメント