GitHubリポジトリの設定
Liferay Cloud のオンボーディングメールには、 dxpcloud 組織でホストされている GitHub リポジトリへのリンクが含まれています。 このリポジトリは、チームのプライベート Liferay Cloud 開発リポジトリのテンプレートであり、通常は 10 営業日後に削除されます。 ユーザーは
- プロビジョニングされたリポジトリを独自のプライベートリポジトリに転送します。
- Webhook を使用して、プライベート リポジトリを Liferay Cloud の Jenkins (CI) サービスと統合します。
プロビジョニングされたリポジトリは GitHub 上にありますが、Jenkins サービスのバージョン 3.2.0 以降では GitLab リポジトリに転送できます。 これは、GitLab リポジトリへの管理者アクセス権を使用して実行する必要があります。
リポジトリの管理者 は、Cloud コンソールのプロジェクトの管理者と必ずしも同じ とは限りません。
Jenkinsサービスの準備
Jenkinsfile をカスタマイズした場合は、このガイドに従って デフォルトの Jenkinsfile を拡張してください。
GitLabリポジトリの作成
まず、新しいGitLabリポジトリを作成します:
-
GitLabに移動します。
-
新しいプロジェクトをクリックします。
![[新しいプロジェクト]をクリックして、新しいGitLabリポジトリの作成を開始します。](https://resources.learn.liferay.com/images/dxp/latest/en/cloud/getting-started/configuring-your-gitlab-repository/images/01.png)
-
プロジェクトのスラッグ(URL内のリポジトリ名)を提供します。

-
表示レベルをプライベートに設定します(無料ユーザーは無制限のプライベートリポジトリを使用できます)。
-
Initialize repository with a README がチェックされていないことを確認します。
-
プロジェクトの作成をクリックします。
GitHubからGitLabへの転送
以下の手順に従って、プロビジョニング済みの GitHub リポジトリを自分の GitLab リポジトリに転送します:
-
プロビジョニング済みのGitHubリポジトリをローカルでクローンします:
git clone git@github.com:dxpcloud/example.git注別のプロバイダーで作業するためにリポジトリをすでにクローンしている場合は、この手順をスキップして、同じクローン内で作業できます。
-
新しいGitリモートを追加し、GitLabをポイントします:
git remote add gitlab git@gitlab.com:USERNAME/REPOSITORYNAME.git -
クローンされたリポジトリを新しいリモートリポジトリにプッシュします:
git push gitlab master
リポジトリの作成、クローン作成、プッシュに関するヘルプが必要な場合は、 GitLabのドキュメントを参照してください。
GitLabのアクセストークンの生成
次に、Webhook が Jenkins ビルドをトリガーするために使用するアクセス トークンを作成します。
-
個人アクセス トークン ページに移動します。

-
このアクセストークンの名前と有効期限を指定します。
-
次のアクセス許可を持つようにアクセストークンを設定します:
- api
- read_repository
- write_repository
-
[ Create personal access token]をクリックします。
-
アクセストークンをコピーし、どこかに保存してください(二度と表示されません)。
GitLabをJenkinsサービスに接続する
最後に、Jenkins サービスの環境変数を新しいリポジトリを指すように設定します。
-
Liferay Cloud Console にログインし、
インフラ環境の Jenkins サービスに移動します。 -
[環境変数] タブに移動します。
-
以下の環境変数を設定します:
| 名前 | 値 |
|---|---|
LCP_CI_SCM_PROVIDER | gitlab |
LCP_CI_SCM_REPOSITORY_OWNER | [repo owner] |
LCP_CI_SCM_REPOSITORY_NAME | [repo name] |
LCP_CI_SCM_TOKEN | [アクセストークン] |
セキュリティを強化するために、 LCP_SI_SCM_TOKEN の値を 秘密変数に保存します。
これらの環境変数を更新した後、Jenkinsサービスは再起動します。 これで、新しいリポジトリでプッシュされたブランチとプルリクエストがビルドをトリガーします。
プライベートGitLabサーバーへの接続
プライベートGitLabサーバーを使用するには、Jenkinsサービスで追加の環境変数を設定する必要があります:
| 名前 | 値 |
|---|---|
LCP_CI_SCM_SERVER_HOST | [private host URL] |
LCP_CI_SCM_SERVER_HOST 変数に、プライベートGitLabサーバーのベースURLを設定します(例えば、 http://private.gitlab.server.com/)。 これは、ビルドを生成し、リポジトリのブランチにリンクするときに CI がコード ベースを取得するために使用するサーバー URL を設定します。 デフォルトでは、CIはGitLabのベースURLとして https://gitlab.com/ を使用しています。
追加のGitLab Webhook設定
Liferay Cloudの Jenkins サービスは、選択した Git SCM プロバイダー用の Webhook を作成します。ただし、作成されるのはデフォルトのものだけです。 GitLabのデフォルトの Webhook では、GitHub および BitBucketの Webhook の機能と一致させるために追加の構成が必要です。
-
GitLabリポジトリに移動します。
-
設定 に移動し、 Webhooksを選択します。
-
プロジェクトフックの下で、作成された Webhook が表示されていることを確認します。
-
CI webhookの[ Edit ]ボタンをクリックします。

-
プッシュイベントをチェックします。
-
タグ プッシュ イベント と コメントのチェックを外します。
-
SSL検証を有効にするをチェックします。
-
変更を保存をクリックします。
ビルドの確認
プッシュされたブランチとマージリクエスト(GitLabのプルリクエストに相当)は、Liferay Cloud Console の ビルド タブから確認またはデプロイできるビルドをトリガーします。 Jenkins サービスとの統合を設定したら、次のステップとして、インテグレーションが成功したかどうかを確認するためにビルドを検証します。
プッシュされたブランチからのビルドの確認
新しいGitプッシュがJenkinsビルドをトリガーすることを確認します:
-
リポジトリに変更を加え(ファイルの追加など)、ブランチにコミットします:
git commit -m "Add file to test builds" -
ブランチをGitLabにプッシュします:
git push gitlab branch-name -
Liferay Cloud Console の ビルド ページに移動します。
-
Builds ページで、プッシュされたブランチのビルドが表示されることを確認します。
マージリクエストからのビルドの確認
新しいマージリクエストがJenkinsビルドをトリガーすることを確認します:
-
任意のブランチから
developブランチへのマージリクエストを作成します。 -
マージリクエストに対して新しいビルドが作成されていることを確認します。
-
Liferay Cloud Console の「ビルド」ページに移動します。
-
ブランチのリンクをクリックして、適切なビルドでコミットします。

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