Bitbucket リポジトリの設定

Bitbucket リポジトリの設定

Liferay Cloud のオンボーディングメールを受け取ると、 dxpcloud の組織でホストされている GitHub リポジトリがプロビジョニングされます。 このリポジトリは、チームの独立したプライベートなLiferay Cloud開発リポジトリのテンプレートであり、通常10営業日後に削除されます。 ユーザーは以下のことを行う必要があります:

  1. プロビジョニングされたリポジトリを独自のプライベートリポジトリに転送します。
  2. Webhookを使用して、自社のプライベートリポジトリとLiferay CloudのJenkins(CI)サービスを連携させます。

プロビジョニングされたリポジトリはGitHubにありますが、Jenkinsサービスのバージョン3.2.0以降ではBitBucketリポジトリに転送できます。 これは、BitBucket リポジトリへの管理者アクセス権で行う必要があります。

note

リポジトリの管理者は、Cloud コンソールのプロジェクトの管理者と 同じ とは限りません。

Jenkinsサービスの準備

バージョン 4.x.x サービス を既に Liferay Cloud インスタンスで使用している場合、Jenkins サービスは既に Bitbucket と互換性があります。 アップグレードの詳細については、 Liferay Cloud Stack のアップグレード を参照してください。

version 3.x.xのサービスを使用している場合は、 [LCP.json] で、 [ci] サービスを確認し、以下のJenkinsサービス以上のものを実行していることを確認してください:

liferaycloud/jenkins:2.222.1-3.2.0

そうでない場合は、次の手順に従ってアップグレードします:

  1. Jenkinsサービスをliferaycloud/jenkins:2.222.1-3.2.0バージョンに更新します。

  2. ルートフォルダーにある [Jenkinsfile] を削除します。

  3. 次の環境変数を追加します: [LCP_CI_USE_DEFAULT_JENKINSFILE: true]

  4. Jenkinsサービスをデプロイします。

note

Jenkinsfileをカスタマイズしている場合は、こちらのガイドに従って Default Jenkinsfileの拡張 _ を行ってください。

Bitbucketリポジトリの作成

まず、新しいBitbucketリポジトリを作成します。

  1. [Bitbucket] に移動します。

  2. サイドバーの検索アイコンの下にある「+」アイコンをクリックします。

    アイコンをクリックすると、新しいBitBucketリポジトリの作成が開始されます。

  3. リポジトリ] をクリックして、新しいリポジトリの作成を開始します。

    新しいリポジトリの詳細を入力します。

  4. リポジトリの名前を指定します。

  5. アクセスレベルがプライベートに設定されていることを確認します。

  6. Include a README?] の設定を [No] にします。

  7. Create repository] をクリックします。

GitHubからBitbucketへの転送

以下の手順に従って、プロビジョニング済みの GitHub リポジトリを自分の Bitbucket リポジトリに転送します:

  1. プロビジョニング済みのGitHubリポジトリをローカルでクローンします:

    git clone [email protected]:dxpcloud/example.git

    note

    すでに他のプロバイダで作業するためにリポジトリをクローンしている場合は、このステップをスキップして、同じクローン内で作業することができます。

  2. 新しいGitリモートを追加し、Bitbucketをポイントします:

    git remote add bitbucket [email protected]:example/example.git

  3. クローンされたリポジトリを新しいリモートリポジトリにプッシュします:

    git push bitbucket master

リポジトリの作成、複製、およびプッシュに関するヘルプが必要な場合は、 Bitbucket’s documentation を参照してください。

BitBucketのアプリパスワードの生成

次に、WebhookがBitbucketで認証してJenkinsビルドをトリガーするために使用するアプリパスワードを作成します。 アプリのパスワードを生成するBitbucketユーザーは、リポジトリへの管理者レベルのアクセス権を持っている 必要 があります。

次の手順を実行して、アプリのパスワードを生成します:

  1. ユーザー設定ページから、 [Access Management] にある [App passwords] をクリックします。

    ユーザー設定ページの[アプリパスワード]をクリックします。

  2. Create app password] をクリックします。

    後で再アクセスできない新しいアプリパスワードを生成します。

  3. アプリパスワードのラベルを提供します。

  4. アプリに次の権限を付与します:

    • Pull request - read, write (これにより、リポジトリにもフラグが付けられます - 読み取り、書き込み)
    • Webhooks - read, write
  5. 作成] をクリックします。

  6. アプリのパスワードをコピーします(再度表示されません)。 これはBitBucketの個人用アクセストークンに相当します。

important

アプリのパスワードを生成したユーザーは、環境変数 LCP_CI_SCM_USERNAME に自分のユーザー名を使用する必要があります。

ブランチタイプと敬称の確認

Liferay Cloud があなたのブランチに適切にリンクできるようにするには、あなたのリポジトリで使用されているブランチプレフィックスの完全なリストを提供する必要があります。 リポジトリで使用されるブランチタイプには、それぞれ独自の敬称があり、リポジトリの設定で定義されています。

the Bitbucket website で、メニューの左側の [Repository settings] → [Branching model] をクリックします。 これにより、 Branching model のページが表示され、各ブランチの敬称が記載されています。 これらの各敬称をメモして、 LCP_CI_SCM_BITBUCKET_BRANCH_PREFIXES CI環境変数に追加してください。

Bitbucket リポジトリのデフォルトのブランチタイプ(および敬称)は、bugfix/、feature/、hotfix/、release/ です。

JenkinsサービスへのBitBucketの接続

最後に、新しいリポジトリを指すようにJenkinsサービスの環境変数を設定します:

  1. Liferay Cloud Console にログインし、 infra 環境で Jenkins サービスに移動します。

  2. 環境変数] タブに移動します。

  3. 以下の環境変数を設定します:

名前
LCP_CI_SCM_PROVIDER bitbucket
LCP_CI_SCM_REPOSITORY_OWNER [repo owner]
LCP_CI_SCM_REPOSITORY_NAME [repo name]
LCP_CI_SCM_TOKEN [app password]
LCP_CI_SCM_USERNAME [auth username]
LCP_CI_SCM_BITBUCKET_BRANCH_PREFIXES [list of prefixes]

LCP_CI_SCM_USERNAME を、 アプリのパスワードを生成した ユーザーとして定義します。 LCP_CI_SCM_BITBUCKET_BRANCH_PREFIXES を、 リポジトリのブランチで使用される敬称 の全てのリストとして、スペースで区切って定義します。

これらの環境変数を更新した後、Jenkinsサービスが再起動します。 これで、新しいリポジトリでプッシュされたブランチとプルリクエストがトリガーされます。

プライベートBitbucketサーバーへの接続

プライベートなBitbucketサーバーを使用するには、Jenkinsサービスで追加の環境変数を設定する必要があります:

名前
LCP_CI_SCM_SERVER_HOST [private host URL]

LCP_CI_SCM_SERVER_HOST 変数に、プライベートBitbucketサーバーのベースURLを設定します(例えば、 http://private.bitbucket.org/)。 これにより、ビルドを生成してリポジトリのブランチにリンクするときにCIがコードベースを取得するために使用するサーバーURLが設定されます。 デフォルトでは、CIはBitbucketのベースURLとして https://bitbucket.org/ を使用しています。

ビルドの確認

プッシュされたブランチやプルリクエストは、Liferay Cloud Console の Builds タブから確認したりデプロイしたりできるビルドのトリガーとなります。 Jenkins サービスとの統合を設定したら、次のステップとして、インテグレーションが成功したかどうかを確認するためにビルドを検証します。

プッシュされたブランチからのビルドの確認

新しいGitプッシュがJenkinsビルドをトリガーすることを確認します:

  1. リポジトリに変更を加え(ファイルの追加など)、ブランチにコミットします:

    git commit -m "Add file to test builds"
    
  2. ブランチをBitBucketにプッシュします:

    git push bitbucket branch-name
    
  3. Liferay Cloud Console の Builds ページに移動します。

  4. Builds ページで、プッシュされたブランチのビルドが表示されることを確認します。

プルリクエストからのビルドの確認

新しいプルリクエストがJenkinsビルドをトリガーすることを確認します:

  1. 任意のブランチから develop ブランチへのプルリクエストを作成します。

  2. プルリクエストに対して新しいビルドが作成されていることを確認します。

  3. Liferay Cloud Console の Builds ページに移動します。

  4. ブランチのリンクをクリックして、適切なビルドでコミットします。

    Buildページで、ブランチのリンクを確認し、ビルドをコミットします。

  5. リンクが正しいBitBucketページにリダイレクトすることを確認します。

追加情報