Documentation

GitHubリポジトリの設定

DXP Cloudオンボーディングメールを受信すると、 dxpcloud 組織でホストされているGitHubリポジトリがプロビジョニングされます。 このリポジトリは、チームの個別のプライベートDXP Cloud開発リポジトリのテンプレートで、通常は10営業日後に削除されます。 ユーザーは以下のことを行う必要があります:

  1. プロビジョニングされたリポジトリを独自のプライベートリポジトリに転送します。

  2. プライベートリポジトリとDXP CloudのJenkins(CI)サービスをWebhookで連携させます。

プロビジョニングされたリポジトリはGitHubにありますが、Jenkinsサービスのバージョン3.2.0以降ではGitLabリポジトリに転送できます。

Jenkinsサービスの準備

すでにDXP Cloudのインスタンスで version 4.x.x services を使用している場合は、JenkinsサービスはすでにGitLabと互換性があります。 アップグレードの詳細については、 DXP Cloudスタックのアップグレード を参照してください。

version 3.x.xのサービスを使用している場合は、 LCP.json で、 ci サービスを確認し、以下のJenkinsサービス以上のものを実行していることを確認してください:

liferaycloud/jenkins:2.222.1-3.2.0

そうでない場合は、次の手順に従ってアップグレードします:

  1. Jenkinsサービスをliferaycloud/jenkins:2.222.1-3.2.0バージョンに更新します。

  2. ルートフォルダーにある Jenkinsfile を削除します。

  3. 次の環境変数を追加します: LCP_CI_USE_DEFAULT_JENKINSFILE: true

  4. Jenkinsサービスをデプロイします。

注釈

Jenkinsfile をカスタマイズしている場合は、以下のガイドに従って [デフォルトの Jenkinsfile を延長します](../platform-services/continuous-integration.html#extending-the-default-jenkinsfile) _。

GitLabリポジトリの作成

まず、新しいGitLabリポジトリを作成します:

  1. GitLab に移動します。

  2. New project] をクリックします。

    [新しいプロジェクト]をクリックして、新しいGitLabリポジトリの作成を開始します。

  3. プロジェクトのスラッグ(URL内のリポジトリ名)を提供します。

    新しいリポジトリの詳細を入力します。

  4. 表示レベルをプライベートに設定します(無料ユーザーは無制限のプライベートリポジトリを使用できます)。

  5. Initialize repository with a README] がチェックされていないことを確認します。

  6. Create project] をクリックします。

GitHubからGitLabへの転送

以下の手順に従って、プロビジョニング済みの GitHub リポジトリを自分の GitLab リポジトリに転送します:

  1. プロビジョニング済みのGitHubリポジトリをローカルでクローンします:

    git clone git@github.com:dxpcloud/example.git

    注釈

    すでに他のプロバイダで作業するためにリポジトリをクローンしている場合は、このステップをスキップして、同じクローン内で作業することができます。

  2. 新しいGitリモートを追加し、GitLabをポイントします:

    git remote add gitlab git@gitlab.com:USERNAME/REPOSITORYNAME.git

  3. クローンされたリポジトリを新しいリモートリポジトリにプッシュします:

    git push gitlab master

GitHub リポジトリの作成、クローン、プッシュについてのヘルプが必要な場合は、 GitLab's documentation を参照してください。

GitLabのアクセストークンの生成

次に、JenkinsのビルドをトリガーするためにWebhookで使用するアクセストークンを作成します。

  1. パーソナル・アクセストークンのページ に移動します。

    後で再びアクセスできないGitLabの個人アクセストークンを作成します。

  2. このアクセストークンの名前と有効期限を指定します。

  3. 次のアクセス許可を持つようにアクセストークンを設定します:

    • api

    • read_repository

    • write_repository

  4. [Create personal access token]をクリックします。

  5. アクセストークンをコピーしてどこかに保存します(アクセストークンが再度表示されないためです)。

GitLabをJenkinsサービスに接続する

最後に、新しいリポジトリを指すようにJenkinsサービスの環境変数を設定します:

  1. DXP Cloudコンソールにログインし、 infra 環境でJenkinsサービスに移動します。

  2. 環境変数] タブに移動します。

  3. 以下の環境変数を設定します:

名前

Value

LCP_CI_SCM_PROVIDER

gitlab

LCP_CI_SCM_REPOSITORY_OWNER

[repo_owner]

LCP_CI_SCM_REPOSITORY_NAME

[repo_name]

LCP_CI_SCM_TOKEN

[access_token]

これらの環境変数を更新した後、Jenkinsサービスは再起動します。 これで、新しいリポジトリでプッシュされたブランチとプルリクエストがビルドをトリガーします。

プライベートGitLabサーバーへの接続

プライベートGitLabサーバーを使用するには、Jenkinsサービスで追加の環境変数を設定する必要があります:

名前

Value

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 DXP CloudのJenkinsサービスは、選択したgit SCMプロバイダーのためのWebhookを作成しますが、デフォルトのものしか作成しません。 GitLabのデフォルトのWebhookをGitHubやBitBucketのWebhookの機能と一致させるためには追加の設定が必要です。

  1. GitLabリポジトリに移動します。

  2. Settings に移動し [Webhooks] を選択します。

  3. Project Hooks で、作成されたWebhookがリストされていることを確認します。

  4. CI webhookの[Edit]ボタンをクリックします。

    リポジトリ用に自動的に作成されたWebhookを編集します。

  5. Tags push events] と [Comments] をアンチェックします。

  6. Enable SSL verification] にチェックします。

  7. 変更を保存] クリックします。

ビルドの確認

プッシュされたブランチとマージリクエスト(GitLabのプルリクエストに相当)は、DXP Cloudコンソールの[Builds]タブから表示またはデプロイできるビルドをトリガーする必要があります。 Jenkins サービスとの統合を設定したら、次のステップとして、インテグレーションが成功したかどうかを確認するためにビルドを検証します。

プッシュされたブランチからのビルドの確認

新しいGitプッシュがJenkinsビルドをトリガーすることを確認します:

  1. リポジトリに変更を加え(ファイルの追加など)、ブランチにコミットします:

    git commit -m "Add file to test builds"
    
  2. ブランチをGitLabにプッシュします:

    git push gitlab branch-name
    
  3. DXP Cloud コンソールの Builds ページに移動します。

  4. Builds ページで、プッシュされたブランチのビルドが表示されることを確認します。

マージリクエストからのビルドの確認

新しいマージリクエストがJenkinsビルドをトリガーすることを確認します:

  1. 任意のブランチから develop ブランチへのマージリクエストを作成します。

  2. マージリクエストに対して新しいビルドが作成されていることを確認します。

  3. DXP Cloud コンソールの Builds ページに移動します。

  4. ブランチのリンクをクリックして、適切なビルドでコミットします。

    Buildsページで、ブランチのリンクを確認し、ビルドをコミットします。

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