GitHub 統合の有効化

開始する前に、プロジェクトコードと環境を GitHub リポジトリに配置する必要があります。 統合を有効にすると、GitHub リポジトリがコードソースになります。 コードの変更を元の magento リポジトリにプッシュした場合、コードの変更を GitHub リポジトリにプッシュすると、統合によって上書きされます。

以下は GitHub 統合を有効にし、Webhook の作成時に使用するペイロード URL を指定します。

WARNING
次のコマンドは、production ブランチを含むすべてのブランチを含む GitHub リポジトリのコードで、クラウドインフラストラクチャプロジェクトのAdobe Commerceの すべて コードを上書きします。 このアクションは即座に実行され、元に戻すことはできません。 ベストプラクティスとして、クラウドインフラストラクチャプロジェクト上のAdobe Commerceからすべてのブランチをクローンし、GitHub リポジトリにプッシュすることが重要です 事前に

magento-cloud integration:add を使用して CLI プロンプトをステップ実行するか、次のオプションを使用して統合コマンドを構築するかを選択できます。

オプション必須?説明
--base-urlはいサーバーインストールのベース URL (https://github.com/ またはカスタム)。 リポジトリがパブリック Github でホストされている場合、またはリポジトリがプライベートサーバーでホストされていない場合は、このオプションを省略します。 リポジトリー URL が https://github.com/{account}/{repository-name} に似ている場合は、このオプションを省略します。 これにより、Unable to connect to GitHub: repository not found などのエラーが発生する可能性があります。
--tokenはいGitHub 用に生成した個人用アクセストークン
--repositoryはいリポジトリ名:owner-or-organisation/repository
--build-pull-requestsオプションは、プルリクエストを結合した後にデプロイするように、クラウドインフラストラクチャ上のAdobe Commerceに指示します(デフォルトでは true)。
--fetch-branchesオプションブランチを更新した後、クラウドインフラストラクチャ上のAdobe Commerceでブランチをトラッキングしデプロイします(デフォルトでは true)。
--prune-branchesオプションリモートに存在しないブランチを削除します(デフォルトでは true)。

その他にも様々なオプションがあり、ヘルプ オプションを使用して確認できます。

magento-cloud integration:add --help

GitHub 統合を有効にするには:

  1. 統合を有効にします。

    magento-cloud integration:add --type=github --project=<project-ID> --token=<your-GitHub-token> {--repository=USER/REPOSITORY | --repository=ORGANIZATION/REPOSITORY} [--build-pull-requests={true|false} --fetch-branches={true|false}
    

    例 1:個人用プライベートリポジトリに対して GitHub 統合を有効にする:

    magento-cloud integration:add --type=github --project=ov58dlacU2e --base-url=https://github.com --token=<token> --repository=myUserName/myrepo
    

    例 2:組織リポジトリの GitHub 統合を有効にする:

    magento-cloud integration:add --type=github --project=ov58dlacU2e --base-url=https://github.com --token=<token> --repository=Magento/teamrepo
    
  2. プロンプトが表示されたら、必要な情報を入力します。

  3. 戻り出力で表示された ペイロード URL をコピーします。

    Created integration <integration-ID> (type: github)
    Repository: myUserName/myrepo
    Build PRs: yes
    Fetch branches: yes
    Payload URL: https://us.magento.cloud/api/projects/<project-id>/integrations/wO8a0eoamxwcg/hook
    

GitHub での Webhook の追加

プッシュなどのイベントをクラウド Git サーバーと通信するには、GitHub リポジトリの Webhook を作成する必要があります。

  1. GitHub リポジトリで、「設定」タブをクリックします。

  2. 左側のナビゲーションバーで、「Webhook」をクリックします。

  3. Webhook パネルで、「Webhook を追加」をクリックします。

  4. Webhook/Add Webhook フォームで、次のフィールドを編集します。

    • ペイロード URL:GitHub 統合を有効にした際に返された URL を入力します。
    • コンテンツタイプ:リストから application/json を選択します。
    • 秘密鍵:検証の秘密鍵を入力します。
    • この Webhook をトリガーにするイベントはどれですか?: すべて送信 を選択します。
    • アクティブ」チェックボックスを選択します。
  5. Webhook を追加 をクリックします。

統合のテスト

GitHub 統合を設定したら、magento-cloud の CLI を使用して、統合が動作していることを確認できます。

magento-cloud integration:validate

または、GitHub リポジトリに簡単な変更をプッシュしてテストできます。

  1. テストファイルを作成します。

    touch test.md
    
  2. 変更をコミットして GitHub リポジトリにプッシュします。

    git add . && git commit -m "Testing GitHub integration" && git push
    
  3. Cloud Console にログインし、コミットメッセージが表示され、プロジェクトがデプロイされていることを確認します。

統合の削除

コードに影響を与えることなく、プロジェクトから GitHub 統合を安全に削除できます。

GitHub 統合を削除するには:

  1. ターミナルから、クラウドインフラストラクチャプロジェクトのAdobe Commerceにログインします。

  2. 統合のリストを作成します。 次の手順を完了するには、GitHub 統合 ID が必要です。

    magento-cloud integration:list
    
  3. 統合を削除します。

    magento-cloud integration:delete <int-ID>
    

また、GitHub アカウントにログインし、リポジトリの「Webhook」タブで Web フックを削除することで、GitHub の統合を削除できます 設定

Commerce