Bitbucket統合
コード変更をプッシュする際に、環境を自動的にビルドおよびデプロイするようにBitbucket リポジトリを設定できます。 この統合により、Bitbucket リポジトリとAdobe Commerce on cloud infrastructure アカウントが同期されます。
前提条件
- Adobe Commerce オンクラウド インフラストラクチャ プロジェクトへの管理者アクセス
- ローカル環境の
magento-cloudCLI ツール - Bitbucket アカウント
- Bitbucket リポジトリへの管理者アクセス
- Bitbucket リポジトリのSSH アクセス キー
リポジトリの準備
既存の環境からAdobe Commerce on cloud infrastructure プロジェクトを複製し、同じブランチ名を維持しながら、プロジェクト ブランチを新しい空のBitbucket リポジトリに移行します。 同一のGit ツリーを保持することは 重要 であるため、Adobe Commerce on cloud infrastructure プロジェクトの既存の環境やブランチが失われることはありません。
-
ターミナルから、Adobe Commerce on cloud infrastructure プロジェクトにログインします。
code language-bash magento-cloud login -
プロジェクトのリストを作成し、プロジェクト IDをコピーします。
code language-bash magento-cloud project:list -
プロジェクトをローカル環境に複製します。
code language-bash magento-cloud project:get <project-ID> -
Bitbucket リポジトリをリモートとして追加します。
code language-bash git remote add origin git@bitbucket.org:<user-name>/<repo-name>.gitリモート接続の既定の名前は
originまたはmagentoです。originが存在する場合は、別の名前を選択するか、既存の参照の名前を変更または削除できます。 git-remote ドキュメント を参照してください。 -
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) -
プロジェクト ファイルを新しいBitbucket リポジトリにプッシュします。 すべてのブランチ名を同じにしておくことを忘れないでください。
code language-bash git push -u origin master新しいBitbucket リポジトリで始める場合、リモート リポジトリがローカル コピーと一致しないため、
-fオプションを使用する必要がある場合があります。 -
Bitbucket リポジトリにすべてのプロジェクト ファイルが含まれていることを確認します。
OAuth コンシューマーの作成
Bitbucket統合にはOAuth コンシューマーが必要です。 次のセクションを完了するには、このコンシューマーのOAuth keyとsecretが必要です。
BitbucketでOAuth コンシューマーを作成するには:
-
Bitbucket アカウントにログインします。
-
設定 > アクセス管理 > OAuthをクリックします。
-
「消費者を追加」をクリックし、次のように設定します。
note warning WARNING 有効な コールバック URL は必要ありませんが、統合を正常に完了するには、このフィールドに値を入力する必要があります。 -
保存をクリックします。
-
消費者 の名前 をクリックして、OAuth
keyとsecretを表示します。 -
統合を構成するためにOAuth
keyとsecretをコピーします。
統合の設定
-
ターミナルから、Adobe Commerce on cloud infrastructure プロジェクトに移動します。
-
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を使用すると、統合が失敗します。 -
magento-cloudCLI ツールを使用して、統合をプロジェクトに追加します。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以上の場合は、エラーが発生したことを示します。
-
一時
bitbucket.jsonファイルを削除します。 -
プロジェクト統合の検証:
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を検証することが重要です。
-
Bitbucket アカウントにログインします。
-
「リポジトリ」をクリックし、プロジェクトを選択します。
-
リポジトリ設定 > ワークフロー > Webhookをクリックします。
-
続行する前にWebhookを確認します。
フックがアクティブな場合は、残りの手順をスキップし、統合をテストします。 フックの名前は、「Adobe Commerce on cloud infrastructure <project_id>」に似ており、フック URLの形式は
https://<zone>.magento.cloud/api/projects/<project_id>/integrations/<id>/hookに似ています -
「Webhookを追加」をクリックします。
-
新しいWebhookを追加 ビューで、次のフィールドを編集します。
- Title: Adobe Commerceとの連携
- URL:
magento-cloud統合リストのフック URLを使用します - トリガー: デフォルトは基本的な リポジトリプッシュ です
-
保存をクリックします。
統合をテストする
Bitbucket統合を設定した後、magento-cloud CLIを使用して統合が動作していることを確認できます。
magento-cloud integration:validate
または、Bitbucket リポジトリに簡単な変更をプッシュしてテストすることもできます。
-
テストファイルを作成します。
code language-bash touch test.md -
変更をコミットしてBitbucket リポジトリにプッシュします。
code language-bash git add . && git commit -m "Testing Bitbucket integration" && git push -
Cloud Consoleにログインし、コミットメッセージが表示され、プロジェクトがデプロイされていることを確認します。
Cloud ブランチの作成
Bitbucket統合では、Adobe Commerce on cloud インフラストラクチャ プロジェクトの新しい環境をアクティブ化できません。 Bitbucketを使用して環境を作成する場合は、環境を手動でアクティブ化する必要があります。 この追加の手順を回避するには、magento-cloud CLI ツールまたはCloud Consoleを使用して環境を作成することをお勧めします。
Bitbucketで作成されたブランチをアクティブ化するには:
-
ブランチをプッシュするには、
magento-cloudCLIを使用します。code language-bash magento-cloud environment:push from-bitbucketcode 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) -
環境がアクティブであることを確認します。
code language-bash magento-cloud environment:listcode 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統合を削除するには:
-
ターミナルから、Adobe Commerce on cloud infrastructure プロジェクトにログインします。
-
統合機能のリストアップ。 次の手順を完了するには、Bitbucket統合IDが必要です。
code language-bash magento-cloud integration:list -
統合を削除します。
code language-bash magento-cloud integration:delete <int-ID>
また、Bitbucket アカウントにログインし、アカウント 設定 ページでOAuth付与を取り消すことで、Bitbucket統合を削除できます。
Bitbucket サーバー統合
Bitbucket サーバー統合を使用するには、次のものが必要です。
- Bitbucket アクセス トークン - プロジェクト
readのアクセスとリポジトリadminのアクセスを許可するトークンを生成します - Bitbucket サーバーURL - Bitbucket インスタンスのベース URLを追加します
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