Bitbucket リポジトリの設定
Liferay Cloud のオンボーディングメールを受け取ると、 dxpcloud
組織でホストされている GitHub リポジトリがプロビジョニングされます。 このリポジトリは、チームの独立したプライベートなLiferay Cloud開発リポジトリのテンプレートで、通常10営業日後に削除されます。 ユーザーは以下のことを行う必要があります:
- プロビジョニングされたリポジトリを独自のプライベートリポジトリに転送します。
- Webhook を使用して、プライベートリポジトリを Liferay Cloud の Jenkins (CI) サービスと統合します。
プロビジョニングされたリポジトリはGitHubにありますが、Jenkinsサービスのバージョン3.2.0以降ではBitBucketリポジトリに転送できます。 これは、BitBucketリポジトリへの管理者権限で行う必要があります。
リポジトリの管理者は、クラウドコンソールのプロジェクトの管理者と同じとは限りません。
Jenkinsサービスの準備
Jenkinsfileをカスタマイズした場合は、このガイドに従って デフォルトのJenkinsfileを拡張する 。
Bitbucketリポジトリの作成
まず、新しいBitbucketリポジトリを作成します。
-
[Bitbucket] に移動します。
-
サイドバーの検索アイコンの下にある「+」アイコンをクリックします。
-
[リポジトリ] をクリックして、新しいリポジトリの作成を開始します。
-
リポジトリの名前を指定します。
-
アクセスレベルがプライベートに設定されていることを確認します。
-
[Include a README?] の設定を [No] にします。
-
[Create repository] をクリックします。
GitHubからBitbucketへの転送
以下の手順に従って、プロビジョニング済みの GitHub リポジトリを自分の Bitbucket リポジトリに転送します:
-
プロビジョニング済みのGitHubリポジトリをローカルでクローンします:
git clone git@github.com:dxpcloud/example.git
noteすでに他のプロバイダで作業するためにリポジトリをクローンしている場合は、このステップをスキップして、同じクローン内で作業することができます。
-
新しいGitリモートを追加し、Bitbucketをポイントします:
git remote add bitbucket git@bitbucket.org:example/example.git
-
クローンされたリポジトリを新しいリモートリポジトリにプッシュします:
git push bitbucket master
リポジトリの作成、複製、およびプッシュに関するヘルプが必要な場合は、 Bitbucket’s documentation を参照してください。
BitBucketのアプリパスワードの生成
次に、WebhookがBitbucketで認証してJenkinsビルドをトリガーするために使用するアプリパスワードを作成します。 アプリのパスワードを生成するBitbucketユーザーは、リポジトリへの管理者レベルのアクセス権を持っている 必要 があります。
次の手順を実行して、アプリのパスワードを生成します:
-
ユーザー設定ページから、 [Access Management] にある [App passwords] をクリックします。
-
[Create app password] をクリックします。
-
アプリパスワードのラベルを提供します。
-
アプリに次の権限を付与します:
Pull request - read, write
(これにより、リポジトリにもフラグが付けられます - 読み取り、書き込み)Webhooks - read, write
-
[作成] をクリックします。
-
アプリのパスワードをコピーします(再度表示されません)。 これはBitBucketの個人用アクセストークンに相当します。
アプリのパスワードを生成したユーザーは、LCP_CI_SCM_USERNAME
環境変数にユーザー名を使用する必要があります。
ブランチタイプと敬称の確認
Liferay Cloud がブランチに正しくリンクできるようにするには、リポジトリで使用しているブランチ接頭辞の完全なリストを提供する必要があります。 リポジトリで使用されるブランチタイプには、それぞれ独自の敬称があり、リポジトリの設定で定義されています。
the Bitbucket website で、メニューの左側の [Repository settings] → [Branching model] をクリックします。 これにより、 Branching model のページが表示され、各ブランチの敬称が記載されています。 これらの各敬称をメモして、 LCP_CI_SCM_BITBUCKET_BRANCH_PREFIXES
CI環境変数に追加してください。
JenkinsサービスへのBitBucketの接続
最後に、新しいリポジトリを指すようにJenkinsサービスの環境変数を設定します:
-
Liferay Cloud Console にログインし、
infra
環境の Jenkins サービスに移動します。 -
[環境変数] タブに移動します。
-
以下の環境変数を設定します:
名前 | 値 |
---|---|
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ビルドをトリガーすることを確認します:
-
リポジトリに変更を加え(ファイルの追加など)、ブランチにコミットします:
git commit -m "Add file to test builds"
-
ブランチをBitBucketにプッシュします:
git push bitbucket branch-name
-
Liferay Cloud Console の Builds ページに移動します。
-
Builds ページで、プッシュされたブランチのビルドが表示されることを確認します。
プルリクエストからのビルドの確認
新しいプルリクエストがJenkinsビルドをトリガーすることを確認します:
-
任意のブランチから
develop
ブランチへのプルリクエストを作成します。 -
プルリクエストに対して新しいビルドが作成されていることを確認します。
-
Liferay Cloud Console の Builds ページに移動します。
-
ブランチのリンクをクリックして、適切なビルドでコミットします。
-
リンクが正しいBitBucketページにリダイレクトすることを確認します。