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 にアクセスしてください。
-
サイドバーの検索アイコンの下にある「+」アイコンをクリックしてください。

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

-
リポジトリの名前を指定してください。
-
アクセスレベルがプライベートに設定されていることを確認してください。
-
README を含めるか?へ いいえ。
-
をクリックしてリポジトリを作成します。
GitHubからBitbucketへのデータ移行
プロビジョニングされたGitHubリポジトリを自分のBitbucketリポジトリに移行するには、以下の手順に従ってください。
-
プロビジョニングされたGitHubリポジトリをローカルにクローンします。
git clone git@github.com:dxpcloud/example.git注記既に別のプロバイダとの連携のためにリポジトリをクローンしている場合は、この手順をスキップして、同じクローン内で作業を進めることができます。
-
新しいGitリモートを追加し、Bitbucketを指定します。
git remote add bitbucket git@bitbucket.org:example/example.git -
クローンしたリポジトリを新しいリモートリポジトリにプッシュします。
git push bitbucket master
GitHub リポジトリの作成、クローン、プッシュについてのヘルプが必要な場合は、 Bitbucket's documentationを参照してください。
BitbucketのAPIトークンを生成する
Atlassian は、 Bitbucket アプリのパスワード を API トークンに置き換えています。 Bitbucketとの新規連携には、Atlassian APIトークンを使用してください。
アプリパスワードから API トークンに切り替えるには、新しい Atlassian API トークンを生成し、Jenkins サービスで LCP_CI_SCM_TOKEN と LCP_CI_SCM_USERNAME を更新します。そうしないと、Atlassianがアプリパスワードを削除した際に認証が機能しなくなります。
Bitbucketスコープを使用してAtlassian APIトークンを生成します。このウェブフックは、このトークンを使用してBitbucketで認証を行い、Jenkinsビルドをトリガーします。 APIトークンを作成するために使用するAtlassianアカウントは、Bitbucketリポジトリへの管理者レベルのアクセス権を持っている必要があります。
-
APIトークン管理ページ に移動し、プロンプトが表示されたらログインしてください。
-
をクリックして、スコープでAPIトークンを作成します。
-
トークンにラベルを付けてください。
-
トークンの有効期限を選択し、 次へ をクリックします。
-
アプリとして Bitbucket を選択し、 次へ をクリックします。
-
必要な範囲を選択してください。
- リポジトリ: 読み取り (
read:repository:bitbucket) - プルリクエスト: 読み取り (
read:pullrequest:bitbucket) - プルリクエスト: 書き込み (
write:pullrequest:bitbucket) - Webhook: Read (
read:webhook:bitbucket) - Webhook: 書き込み (
write:webhook:bitbucket)
- リポジトリ: 読み取り (
-
をクリックしてを作成します。
-
APIトークンの値をコピーし(二度と表示されません)、安全な場所に保管してください。
- Bitbucketのスコープはそれぞれ独立しているため、必要なスコープはすべてトークンに追加する必要があります。例えば、プルリクエストとウェブフックのスコープのみの場合、ウェブフックのトリガーは機能せず、Jenkins はエラー
で失敗します。 必要な権限スコープが 1 つ以上不足しています。既存のトークンに必要なスコープがない場合は、新しいトークンを作成し、LCP_CI_SCM_TOKENを更新します。 - 生成された API トークンを
LCP_CI_SCM_TOKEN環境変数に使用します。 LCP_CI_SCM_USERNAME環境変数には、トークンに関連付けられている Atlassian アカウントのメールアドレスを使用してください。
ブランチの種類とプレフィックスの確認
Liferay Cloudがブランチに正しくリンクできるようにするには、リポジトリで使用されているブランチプレフィックスの完全なリストを提供する必要があります。リポジトリで使用される各ブランチタイプには、リポジトリの設定で定義される独自のプレフィックスがあります。
the Bitbucket websiteで、メニューの左側の [Repository settings] [Branching model]をクリックします。これにより、 ブランチモデル ページに移動し、各ブランチのプレフィックスが表示されます。これらのプレフィックスをそれぞれメモして、 LCP_CI_SCM_BITBUCKET_BRANCH_PREFIXES CI 環境変数に追加してください。

BitBucketをJenkinsサービスに接続する
最後に、Jenkinsサービスで環境変数を設定し、新しいリポジトリを指すようにします。
-
Liferay Cloud Consoleにログインし、
インフラ環境にあるJenkinsサービスに移動します。 -
環境変数 タブに移動します。
-
以下の環境変数を設定してください。
| 名前 | 値 |
|---|---|
LCP_CI_SCM_PROVIDER | ビットバケット |
LCP_CI_SCM_REPOSITORY_OWNER | [リポジトリ所有者] |
LCP_CI_SCM_REPOSITORY_NAME | [リポジトリ名] |
LCP_CI_SCM_TOKEN | [APIトークン] |
LCP_CI_SCM_USERNAME | [アカウントメールアドレス] |
LCP_CI_SCM_BITBUCKET_BRANCH_PREFIXES | [接頭辞一覧] |
セキュリティを強化するため、 LCP_CI_SCM_TOKEN の値を 秘密変数 に格納します。
LCP_CI_SCM_USERNAME を、API トークンに関連付けられた Atlassian アカウントのメールアドレスとして定義します。 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の「ビルド」タブから確認またはデプロイできます。 Jenkinsサービスとの連携を設定した後、次のステップとして、これらのビルドを検証し、連携が成功したことを確認するのが良いでしょう。
プッシュされたブランチからのビルドの検証
新しいGitプッシュがJenkinsビルドをトリガーすることを確認します。
-
リポジトリに変更を加え(例えばファイルを追加するなど)、それをブランチにコミットします。
git commit -m "Add file to test builds" -
ブランチをBitBucketにプッシュする:
git push bitbucket branch-name -
Liferay Cloud Console の ビルド ページに移動します。
-
ビルドページに、プッシュしたブランチのビルドが表示されていることを確認してください。
プルリクエストからのビルドの検証
新しいプルリクエストがJenkinsビルドをトリガーすることを確認します。
-
任意のブランチから
developブランチへのプルリクエストを作成します。 -
プルリクエストに対して新しいビルドが作成されたことを確認してください。
-
Liferay Cloud Console の ビルド ページに移動します。
-
該当するブランチのリンクをクリックし、適切なビルドでコミットしてください。

-
リンクが正しいBitBucketページにリダイレクトされることを確認してください。