Bitbucket統合

コード変更をプッシュする際に、環境を自動的にビルドおよびデプロイするようにBitbucket リポジトリを設定できます。 この統合により、Bitbucket リポジトリとAdobe Commerce on cloud infrastructure アカウントが同期されます。

NOTE
Adobeでは、拡張機能や機密性の高い設定など、独自の情報や開発作業を保護するために、Adobe Commerce on cloud infrastructure プロジェクトのプライベートリポジトリを使用することを強くお勧めします。

前提条件

  • Adobe Commerce オンクラウド インフラストラクチャ プロジェクトへの管理者アクセス
  • ローカル環境のmagento-cloud CLI ツール
  • Bitbucket アカウント
  • Bitbucket リポジトリへの管理者アクセス
  • Bitbucket リポジトリのSSH アクセス キー

リポジトリの準備

既存の環境からAdobe Commerce on cloud infrastructure プロジェクトを複製し、同じブランチ名を維持しながら、プロジェクト ブランチを新しい空のBitbucket リポジトリに移行します。 同一のGit ツリーを保持することは​ 重要 ​であるため、Adobe Commerce on cloud infrastructure プロジェクトの既存の環境やブランチが失われることはありません。

  1. ターミナルから、Adobe Commerce on cloud infrastructure プロジェクトにログインします。

    code language-bash
    magento-cloud login
    
  2. プロジェクトのリストを作成し、プロジェクト IDをコピーします。

    code language-bash
    magento-cloud project:list
    
  3. プロジェクトをローカル環境に複製します。

    code language-bash
    magento-cloud project:get <project-ID>
    
  4. Bitbucket リポジトリをリモートとして追加します。

    code language-bash
    git remote add origin git@bitbucket.org:<user-name>/<repo-name>.git
    

    リモート接続の既定の名前はoriginまたはmagentoです。 originが存在する場合は、別の名前を選択するか、既存の参照の名前を変更または削除できます。 git-remote ドキュメント ​を参照してください。

  5. Bitbucket リモートが正しく追加されていることを確認します。

    code language-bash
    git remote -v
    

    期待される応答:

    code language-none
    origin git@bitbucket.org:<user-name>/<repo-name>.git (fetch)
    origin git@bitbucket.org:<user-name>/<repo-name>.git (push)
    
  6. プロジェクト ファイルを新しいBitbucket リポジトリにプッシュします。 すべてのブランチ名を同じにしておくことを忘れないでください。

    code language-bash
    git push -u origin master
    

    新しいBitbucket リポジトリで始める場合、リモート リポジトリがローカル コピーと一致しないため、-f オプションを使用する必要がある場合があります。

  7. Bitbucket リポジトリにすべてのプロジェクト ファイルが含まれていることを確認します。

OAuth コンシューマーの作成

Bitbucket統合にはOAuth コンシューマーが必要です。 次のセクションを完了するには、このコンシューマーのOAuth keysecretが必要です。

Bitbucket​でOAuth コンシューマーを作成するには:

  1. Bitbucket アカウントにログインします。

  2. 設定 > アクセス管理 > OAuth​をクリックします。

  3. 消費者を追加」をクリックし、次のように設定します。

    Bitbucket OAuth コンシューマー設定

    note warning
    WARNING
    有効な​ コールバック URL ​は必要ありませんが、統合を正常に完了するには、このフィールドに値を入力する必要があります。
  4. 保存​をクリックします。

  5. 消費者​ の名前 ​をクリックして、OAuth keysecretを表示します。

  6. 統合を構成するためにOAuth keysecretをコピーします。

統合の設定

  1. ターミナルから、Adobe Commerce on cloud infrastructure プロジェクトに移動します。

  2. bitbucket.jsonという名前の一時ファイルを作成し、次を追加して、角括弧の変数を値に置き換えます。

    code language-json
    {
      "type": "bitbucket",
      "repository": "<bitbucket-user-name/bitbucket-repo-name>",
      "app_credentials": {
        "key": "<oauth-consumer-key>",
        "secret": "<oauth-consumer-secret>"
      },
      "prune_branches": true,
      "fetch_branches": true,
      "build_pull_requests": true,
      "resync_pull_requests": true
    }
    
    note tip
    TIP
    必ず、URLではなくBitbucket リポジトリの名前を使用してください。 URLを使用すると、統合が失敗します。
  3. magento-cloud CLI ツールを使用して、統合をプロジェクトに追加します。

    note warning
    WARNING
    次のコマンドは、Adobe Commerce on cloud infrastructure プロジェクトの​_all_ コードをBitbucket リポジトリのコードで上書きします。 これには、production ブランチを含むすべてのブランチが含まれます。 この操作は瞬時におこなわれ、元に戻すことはできません。 ベストプラクティスとして、すべてのブランチをAdobe Commerce on cloud infrastructure プロジェクトから複製し、Bitbucket統合を追加する前に​ Bitbucket リポジトリ ​にプッシュすることが重要です。
    code language-bash
    magento-cloud project:curl -p '<project-ID>' /integrations -i -X POST -d "$(< bitbucket.json)"
    

    これにより、ヘッダーを含む長いHTTP応答が返されます。 統合が成功すると、200または201のステータスコードが返されます。 ステータスが400以上の場合は、エラーが発生したことを示します。

  4. 一時bitbucket.json ファイルを削除します。

  5. プロジェクト統合の検証:

    code language-bash
    magento-cloud integrations -p <project-ID>
    
    code language-none
    +----------+-----------+--------------------------------------------------------------------------------+
    | ID       | Type      | Summary                                                                        |
    +----------+-----------+--------------------------------------------------------------------------------+
    | <int-id> | bitbucket | Repository: bitbucket_Account/magento-int                                      |
    |          |           | Hook URL:                                                                      |
    |          |           | https://magento-url.cloud/api/projects/<project-id>/integrations/<int-id>/hook |
    +----------+-----------+--------------------------------------------------------------------------------+
    

    BitBucketでWebhookを設定するには、Hook URL​をメモします。

BitBucketでのWebhookの追加

プッシュなどのイベントをCloud Git サーバーと通信するには、BitBucket リポジトリ用のWebhookが必要です。 このページで詳細に説明されているBitbucket統合を設定する方法は、正しく従うと、自動的にWebhookを作成します。 複数の統合を作成しないように、Webhookを検証することが重要です。

  1. Bitbucket アカウントにログインします。

  2. リポジトリ」をクリックし、プロジェクトを選択します。

  3. リポジトリ設定 > ワークフロー > Webhook​をクリックします。

  4. 続行する前にWebhookを確認します。

    フックがアクティブな場合は、残りの手順をスキップし、統合をテストします。 フックの名前は、「Adobe Commerce on cloud infrastructure <project_id>」​に似ており、フック URLの形式はhttps://<zone>.magento.cloud/api/projects/<project_id>/integrations/<id>/hookに似ています

  5. Webhookを追加」をクリックします。

  6. 新しいWebhookを追加 ビューで、次のフィールドを編集します。

    • Title: Adobe Commerceとの連携
    • URL: magento-cloud統合リストのフック URLを使用します
    • トリガー: デフォルトは基本的な​ リポジトリプッシュ ​です
  7. 保存​をクリックします。

統合をテストする

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

magento-cloud integration:validate

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

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

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

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

    Bitbucket統合のテスト ​

Cloud ブランチの作成

Bitbucket統合では、Adobe Commerce on cloud インフラストラクチャ プロジェクトの新しい環境をアクティブ化できません。 Bitbucketを使用して環境を作成する場合は、環境を手動でアクティブ化する必要があります。 この追加の手順を回避するには、magento-cloud CLI ツールまたはCloud Consoleを使用して環境を作成することをお勧めします。

Bitbucket​で作成されたブランチをアクティブ化するには:

  1. ブランチをプッシュするには、magento-cloud CLIを使用します。

    code language-bash
    magento-cloud environment:push from-bitbucket
    
    code language-none
    Pushing from-bitbucket to the new environment from-bitbucket
    Activate from-bitbucket after pushing? [Y/n] y
    Parent environment [master]: integration
    --- (Validation and activation messages)
    
  2. 環境がアクティブであることを確認します。

    code language-bash
    magento-cloud environment:list
    
    code language-none
    Your environments are:
    +---------------------+----------------+--------+
    | ID                  | Name           | Status |
    +---------------------+----------------+--------+
    | master              | Master         | Active |
    |  integration        | integration    | Active |
    |    from-bitbucket * | from-bitbucket | Active |
    +---------------------+----------------+--------+
    * - Indicates the current environment
    

環境を作成したら、通常のGit コマンドを使用して、対応するブランチをリモート Bitbucket リポジトリにプッシュできます。 Bitbucketのブランチに対するその後の変更は、環境を自動的にビルドしてデプロイします。

統合の削除

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

Bitbucket統合を削除するには:

  1. ターミナルから、Adobe Commerce on cloud infrastructure プロジェクトにログインします。

  2. 統合機能のリストアップ。 次の手順を完了するには、Bitbucket統合IDが必要です。

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

    code language-bash
    magento-cloud integration:delete <int-ID>
    

また、Bitbucket アカウントにログインし、アカウント 設定 ページでOAuth付与を取り消すことで、Bitbucket統合を削除できます。

Bitbucket サーバー統合

Bitbucket サーバー統合を使用するには、次のものが必要です。

Cloud CLIを使用してBitbucket サーバーの統合手順を実行できますが、完全なコマンドは次のようになります。

magento-cloud integration:add --type=bitbucket_server --base-url=<bitbucket-url> --username=<username> --token=<bitbucket-access-token> --project=<project-ID>

その他の使用要件とオプションについては、help コマンドを使用してください:magento-cloud integration:add --help

recommendation-more-help
commerce-on-cloud-help-cloud-guide