pull-push について
pull-pushは、Acquia CLIでローカル環境とAcquia Cloud Platform間のコード、データベース、ファイルを同期するスキルです。ACEサブスクリプション向けに、選択的なプル、データベースやファイルのプッシュ、ビルド成果物のデプロイを扱います。
主な機能
- 01コード、データベース、ファイルのプル
- 02プル対象とオプションの選択
- 03Cloudへのデータベースとファイルのプッシュ
- 04コード成果物のビルドとデプロイ
- 05プル後スクリプトの実行
活用シーン
- 01ローカルDrupal開発環境の更新
- 02Cloudの最新データベースバックアップの取り込み
- 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
ベストプラクティス
- プッシュする前に必ずプルする — Cloud 上の最新の変更を上書きしないようにします。
- 最新データには
--on-demandを使用する — デフォルトのプルではキャッシュされたバックアップが使用されます。--on-demandを指定すると、新しいバックアップが作成されます。 --no-pushで成果物のビルドをテストする — プッシュする前に成果物が正しいことを確認します。- CI では
--no-scriptsを使用する — プル後のスクリプトはローカル開発用であり、CI パイプライン用ではありません。 - データベースをプッシュする前にバックアップする — 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
関連トピック
- アプリケーション管理 — 環境 ID を確認する
- SSH キー管理 — 認証
- リモートアクセス — Cloud 環境での SSH と Drush