GitHubリポジトリの設定
Liferay Cloud のオンボーディングメールには、 dxpcloud 組織でホストされている GitHub リポジトリへのリンクが含まれています。 このリポジトリは、チームの個別のプライベート Liferay Cloud 開発リポジトリのテンプレートであり、通常は 10 営業日後に削除されます。 ユーザーは
-
プロビジョニングされたリポジトリを独自のプライベートGitHubリポジトリに転送します。
-
Webhook を使用して、プライベート リポジトリを Liferay Cloud の Jenkins (CI) サービスと統合します。
組織アカウントを使用している場合は、リポジトリを組織に転送するための管理者権限が必要です。 リポジトリの管理者 は、Cloud コンソールのプロジェクトの管理者と必ずしも同じ とは限りません。
リポジトリの転送
次の手順に従って、プロビジョニング済みのリポジトリを独自のGitHubリポジトリに転送します:
-
新しいプライベートGitHubリポジトリを作成します。
-
ローカルで、プロビジョニング済みの
dxpcloudリポジトリのクローンを作成します。 -
手順2で複製したリポジトリを手順1で作成したリモートリポジトリにプッシュします。
GitHub リポジトリの作成、クローン作成、プッシュに関してヘルプが必要な場合は、 GitHubのドキュメントを参照してください。
Jenkinsサービスとの統合
次に、新しいリポジトリを Liferay Cloud の Jenkins サービスと統合する必要があります。 JenkinsサービスにプッシュするGitHubでWebhookを設定します:
-
GitHub で、リポジトリの 設定 ページに移動し、 Webhooksを選択します。
-
Webhook の追加をクリックします。 これにより、 Webhook の追加 フォームが開きます。
-
ペイロード URL フィールドに、Liferay Cloud
インフラ環境の Jenkins サービスのドメインを追加します。 たとえば、プロジェクトacmeのinfraenvironmentsciサービスの URL はhttps://ci-acme-infra.lfr.cloud/github-webhook/です。 Jenkins GitHubプラグインと統合するには、相対パスgithub-webhookが必要です。 -
コンテンツ タイプ セレクター メニューで、 application/jsonを選択します。
-
Secret フィールドを空白のままにし、 Enable SSL verificationが選択されていることを確認します。

-
どのイベントでこの Webhook をトリガーしますか?、 個々のイベントを選択を選択します。 イベントのリストが表示されます。
-
イベントのリストから プッシュ と プル リクエスト を選択します。


-
アクティブ が選択されていることを確認し、 Webhook の追加をクリックします。

環境変数の設定
新しいリポジトリを指すようにJenkinsサービスの環境変数を設定します:
-
Liferay Cloud Console にログインし、
インフラ環境の Jenkins サービスに移動します。 -
[環境変数] タブに移動します。
-
以下の環境変数を設定します:
| 名前 | 値 |
|---|---|
LCP_CI_SCM_PROVIDER | github |
LCP_CI_SCM_REPOSITORY_OWNER | [repo_owner] |
LCP_CI_SCM_REPOSITORY_NAME | [repo_name] |
LCP_CI_SCM_TOKEN | [access_token] |
セキュリティを強化するために、 LCP_SI_SCM_TOKEN の値を 秘密変数に保存します。
LCP_CI_SCM_TOKEN の値には、GitHub組織用に作成した個人用アクセストークンを使用します。 このトークンの作成とアクセスの手順については、 GitHubのドキュメントを参照してください。
作成された個人用アクセス トークンでは、 repo および admin:repo_hook の下のすべてのスコープ権限がチェックされている必要があります。 リポジトリがLiferay Cloudと正常に統合された後、 admin:repo_hook スコープの権限は、 自動Webフック管理を無効にする と、後で削除できます。

SAMLシングルサインオン認証で組織のアカウントを使用している場合は、アクセストークンを認証するために追加の手順を行う必要があります。 詳細については、 GitHubの公式ドキュメント を参照してください。
これらの環境変数を更新した後、Jenkinsサービスは再起動します。 これで、新しいリポジトリでプッシュされたブランチとプルリクエストがビルドをトリガーします。
Jenkins のバージョン 2.222.1-3.2.0 より前では、代わりに環境変数 GITHUB_REPOSITORY と GITHUB_TOKEN が使用されます。 LCP_CI_SCM_* 環境変数を使用するには、Jenkins 2.222.1-3.2.0 以上を実行していることを確認してください。
パーソナルアクセストークンの使用
Liferay Cloud をリポジトリと統合するには、 LCP_CI_SCM_TOKEN 値によって参照される個人アクセス トークンが必要です。
個人アクセス トークンが個人ユーザー アカウントに属しており、そのユーザーが組織から削除された場合、すべてのビルドは完了しません。 代わりに、組織専用のアカウントを使用してください。 詳細については、 GitHubの公式ドキュメント を参照してください。
デフォルトでは、CI サービスがデフォルトの Web フックを使用して正常に統合するために、GitHub 組織の 個人アクセス トークン にも admin:repo_hook 権限が必要です。
ただし、 CI サービスで、 LCP_CLI_SCM_MANAGE_HOOKS 環境変数 を false に設定する必要があります。 これにより、Web フックの自動管理が無効になります (リポジトリとの統合の設定が完了したら不要になります)。また、Liferay Cloud が使用する個人アクセス トークンから (管理者レベルの) admin:repo_hook 権限を削除できます。

これらの権限をウェブフックから削除することで、リポジトリに与えられるアクセスを最小限に抑え、セキュリティを向上させることができます。
ビルドの確認
プッシュされたブランチとプルリクエストは、Liferay Cloud Console の ビルド タブから確認またはデプロイできるビルドをトリガーします。 Jenkins サービスとの統合を設定したら、次のステップとして、インテグレーションが成功したかどうかを確認するためにビルドを検証します。
プッシュされたブランチからのビルドの確認
新しいGitプッシュがJenkinsビルドをトリガーすることを確認します:
-
リポジトリに変更を加え(ファイルの追加など)、ブランチにコミットします:
git commit -m "Add file to test builds" -
ブランチをGitHubにプッシュします:
git push origin branch-name -
Liferay Cloud Console の ビルド ページに移動します。
-
Builds ページで、プッシュされたブランチのビルドが表示されることを確認します。
プルリクエストからのビルドの確認
新しいプルリクエストがJenkinsビルドをトリガーすることを確認します:
-
任意のブランチから
developブランチへのプルリクエストを作成します。 -
プルリクエストに対して新しいビルドが作成されていることを確認します。
-
Liferay Cloud Console の ビルド ページに移動します。
-
ブランチのリンクをクリックして、適切なビルドでコミットします。
-
リンクが正しいGitHubページにリダイレクトされることを確認します。