Bitbucket リポジトリの設定
Liferay Cloud のオンボーディングメールを受け取ると、 dxpcloud
の組織でホストされている GitHub リポジトリがプロビジョニングされます。 このリポジトリは、チームの独立したプライベートなLiferay Cloud開発リポジトリのテンプレートであり、通常10営業日後に削除されます。 ユーザーは以下のことを行う必要があります:
- プロビジョニングされたリポジトリを独自のプライベートリポジトリに転送します。
- Webhookを使用して、自社のプライベートリポジトリとLiferay CloudのJenkins(CI)サービスを連携させます。
プロビジョニングされたリポジトリはGitHubにありますが、Jenkinsサービスのバージョン3.2.0以降ではBitBucketリポジトリに転送できます。 これは、BitBucket リポジトリへの管理者アクセス権で行う必要があります。
リポジトリの管理者は、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
そうでない場合は、次の手順に従ってアップグレードします:
Jenkinsサービスを
liferaycloud/jenkins:2.222.1-3.2.0
バージョンに更新します。ルートフォルダーにある
[Jenkinsfile]
を削除します。次の環境変数を追加します:
[LCP_CI_USE_DEFAULT_JENKINSFILE: true]
。Jenkinsサービスをデプロイします。
Jenkinsfileをカスタマイズしている場合は、こちらのガイドに従って Default Jenkinsfileの拡張 _ を行ってください。
Bitbucketリポジトリの作成
まず、新しいBitbucketリポジトリを作成します。
[Bitbucket] に移動します。
サイドバーの検索アイコンの下にある「+」アイコンをクリックします。
[リポジトリ] をクリックして、新しいリポジトリの作成を開始します。
リポジトリの名前を指定します。
アクセスレベルがプライベートに設定されていることを確認します。
[Include a README?] の設定を [No] にします。
[Create repository] をクリックします。
GitHubからBitbucketへの転送
以下の手順に従って、プロビジョニング済みの GitHub リポジトリを自分の Bitbucket リポジトリに転送します:
プロビジョニング済みのGitHubリポジトリをローカルでクローンします:
git clone [email protected]:dxpcloud/example.git
noteすでに他のプロバイダで作業するためにリポジトリをクローンしている場合は、このステップをスキップして、同じクローン内で作業することができます。
新しいGitリモートを追加し、Bitbucketをポイントします:
git remote add bitbucket [email protected]: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ページにリダイレクトすることを確認します。