Documentation

DXPクラウドスタックのアップグレード

DXP Cloudバージョン4の新しい構造を使用するようにリポジトリをアップグレードすると、リポジトリ内でLiferayワークスペースを活用し、サービスを最新の状態に保ち、さまざまな新機能や更新された機能を使用できます。

新しいリポジトリ構造へのアップグレードには、 アップグレードスクリプト の使用が含まれます。

アップグレードの準備

DXP Cloudスタックのバージョン4.x.xにアップグレードするには、現在のサービスが3.x.xである必要があります。 現在のバージョンを確認するには、リポジトリでgradle.propertiesファイルを見つけます。 バージョン4.x.xにアップグレードする前のリポジトリは、このような構造になっています:

repository
├── gradle
├── lcp
├── liferay
├── modules
├── themes
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
├── Jenkinsfile
├── README.md
├── README-dxpcloud.md
└── settings.gradle

重要

もし、リポジトリがこの構造に従っていない場合(そして、ルートに gradle.properties ファイルや lcp フォルダが存在しない場合)、これはバージョン 4.x.x へのアップグレードが既に完了していることを示しています。

gradle.properties ファイルを開き、Dockerイメージに指定されたバージョンを確認します。 たとえば、これはLiferayサービスのイメージバージョンです:

liferay.workspace.lcp.liferay.image=liferaycloud/liferay-dxp:7.2.10-sp1-fp4-3.0.19

Dockerイメージ名の末尾にある数字は、使用しているDXP Cloudスタックのバージョンを示しています。 イメージ名が 3.xx (この例では、liferay-dxp:7.2.10-sp1-fp4- 3.0.19)で終わっていることを確認します。

次に、Gitリポジトリがクリーンなブランチ上にあることを確認します。 アップグレードスクリプトは、以前にコミットされていないファイルをコミットし、 upgrade-workspaceと呼ばれる新しいブランチをチェックアウトします。

重要

すでに upgrade-workspace ブランチがある場合、スクリプトはそのブランチの作成をスキップし、現在のブランチで作業を行います。

アップグレードスクリプトの実行

アップグレードするには、次の手順を実行します:

  1. アップグレードスクリプト をダウンロードし、ローカルのDXP Cloudリポジトリのルートに抽出します:

    curl -L https://github.com/LiferayCloud/stack-upgrade/archive/release.zip -O
    
    unzip -j release.zip stack-upgrade-release/upgrade-workspace.sh -d path/to/project/folder
    
  2. アップグレードスクリプトを実行します:

    cd /path/to/project/folder
    
    ./upgrade-workspace.sh
    
  3. スクリプトの開始出力を読み、プロンプトでプロジェクトのIDを入力します:

    Press enter to continue:
    Please enter your project id: lfrlearn
    
  4. プロンプトで、DXP Cloud Consoleに認証します。

  5. サービスに使用するLiferayバージョンに対応する番号を入力します:

    1) 7.0
    2) 7.1
    3) 7.2
    Please select the Liferay DXP version, which will determine the Liferay CLOUD image set in liferay/LCP.json and the Liferay image set in liferay/gradle.properties: 3
    
  6. プロンプトで、プロジェクトファイルに使用する環境のコンマ区切りのリストを入力します( commonは含まれません)。

    Please enter a comma-delimited list of environments: dev,uat,prd
    

    重要

    プロジェクトリポジトリにファイルを追加するLiferay環境の名前だけを入力してください。 インフラストラクチャ(infra)環境を追加しないでください。

  7. すべてのLiferay環境にElasticsearchプラグインをインストールする場合は、プロンプトでそれらの名前のコンマ区切りのリストを入力します。 それ以外の場合は、Enterキーを押します。

    Please enter a comma-delimited list of elasticsearch plugins:
    

    このスクリプトは、リポジトリに新しいブランチを作成してチェックアウトし、アップグレードスクリプトを .gitignore ファイルに追加します。

  8. サービスレベルのフォルダーがルートレベルにある状態で、リポジトリの新しい組織をチェックして、スクリプトが正常に実行されたことを確認します。

    repository
    ├── backup
    ├── build
    ├── ci
    ├── database
    ├── liferay
    ├── search
    ├── webserver
    └── upgrade-workspace.sh
    

リポジトリが再編成され、 liferay フォルダーがLiferayワークスペースになり、サービスが4.xxにアップグレードされます。

CIサービスの環境変数を確認する

プロジェクトの ci/LCP.json ファイル内の環境変数は、サービススタックのアップグレード完了後に異なる動作をする可能性があります。 アップグレードしたプロジェクトを続行する前に、 ci サービスの環境変数が正しい設定を反映していることを確認してください。

リポジトリ統合変数の確認

プロジェクトとバージョン管理との統合(この例では、GitHubを使用)に対して次のプロパティが正しく設定されていることを確認します:

{
    "LCP_CI_SCM_PROVIDER": "github",
    "LCP_CI_SCM_REPOSITORY_OWNER": "OWNER_NAME",
    "LCP_CI_SCM_REPOSITORY_NAME": "PROJECT_NAME",
    "LCP_CI_SCM_TOKEN": "AUTH_TOKEN"
}

詳しくは GitHubBitbucketGitLab の統合を参照してください。

Jenkinsfile設定変数の確認

プロジェクトにデフォルトのJenkinsfileが 必要とされていない ので、プロジェクトのルートのJenkinsfileもアップグレードした後に除去することができます。 プロジェクトにデフォルトのJenkinsfileを使用する場合は、 ci サービス環境変数がこれを反映していることを確認してください:

{
    "LCP_CI_USE_DEFAULT_JENKINSFILE": "true",
    "LCP_CI_SCM_JENKINSFILE_HOOKS_DIR": "ci/",
}

注釈

デフォルトのJenkinsfileを拡張するフックを使用したい場合は、 LCP_CI_SCM_JENKINSFILE_HOOKS_DIR 変数を定義する必要があります。

ci サービスディレクトリ内に独自のJenkinsfileを定義してデフォルトを上書きする場合は、環境変数が次のようになっていることを確認してください。

{
    "LCP_CI_USE_DEFAULT_JENKINSFILE": "false",
    "LCP_CI_SCM_JENKINSFILE_PATH": "ci/Jenkinsfile"
}

次のステップ

ローカルリポジトリが変更されたら、 ci サービスを infra 環境にデプロイします。 他のより先にインフラ環境にデプロイすることによって、ciサービスへの変更事項が最初にデプロイされることが保証されます。これにより、他の変更事項が正しくデプロイされます。

ci サービスのみをデプロイするには、 CLIツールを使用するのが最も早い方法です。 プロジェクトリポジトリの ci/ フォルダに移動し、 lcp deploy コマンドを実行します:

    lcp deploy --project=<project-name> --environment=infra

また、 開発ワークフロー に従って、DXP Cloud コンソールからビルドとして変更をデプロイすることも可能です。

その後、 新しいサービスバージョンを 開発環境にデプロイしたり、DXP Cloudサービスの新しいバージョンの新機能を試したりすることができます。 詳細は、変更点の説明 ご覧ください。