デプロイメント環境の構築
コードを共有する準備が整う時点が来ます。 そのためには、環境を構築する必要があります。 企業の世界では、通常3つの環境があります。
-
開発者:コードを迅速に修正および再デプロイできる、早期テスト用の環境。 開発者とパワーユーザーはここでテストします。
-
ユーザー受け入れテスト(UAT):本番環境の構成をより厳密に反映する環境。 アプリケーションがほぼ完成したら、通常、より多くのユーザーをここでテストするように招待します。
-
本番環境:本番環境のサイトが存在する環境。 デプロイメントは厳密に制御され、他の2つの環境でテストされたコードのみがデプロイされます。
Liferay Workspaceを使用すると、コンテナーベースであろうと従来型であろうと、デプロイ環境を簡単に生成できます。 構成を提供し、Gradleタスクを実行すると、配布可能なDockerコンテナまたはサーバーアーカイブを生成して、インストールすることができます。 ワークスペースには、アクションが発生するオプションのconfigsフォルダが含まれています。
Blade CLIを使用してワークスペースを作成した場合、 configs フォルダはすでに存在します。 ワークスペース を手動で作成した場合は、ワークスペース ディレクトリに次のフォルダー構造を作成します。
├── common
│ └── portal-setup-wizard.properties
├── dev
│ └── portal-ext.properties
├── docker
├── local
├── prod
└── uat
└── portal-ext.properties
まだファイルには何も入れないでください。
デプロイメント環境の仕組み
configsフォルダは、特定のシナリオを定義します。
common:すべての環境に適用される構成が含まれています。
dev:開発環境の構成が含まれています。
docker:Docker構成が含まれています。
local:ワークスペースが存在するローカル環境の構成が含まれます。
prod:本番環境の構成が含まれています。
uat:ユーザー受け入れテスト環境の構成が含まれています。
構成ファイルを特定のフォルダに配置すると、その環境の構成が定義されます。 common と dockerの場合、他のすべての構成がそれらを上書きします。 これにより、環境をオーバーライドするためのベースライン構成を提供できるようになります。 これで、いくつかの環境を構築する準備が整いました。
デプロイメント環境の構築
ご使用の環境で次のシナリオを想定します。
- 開発者環境は開発者プロパティを使用する必要があります
- ローカル環境はローカルデータベースを指します
- 開発者およびUAT環境は、独自のデータベースを指します
- すべての環境はセットアップウィザードをスキップします
そのシナリオを構成する方法は次のとおりです。
-
commonフォルダで、次のプロパティをportal-setup-wizard.propertiesに追加しますsetup.wizard.enabled=false -
localフォルダで、portal-ext.propertiesにローカルデータベースを構成します。# # MySQL # jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username=root jdbc.default.password=password -
devフォルダで、開発者プロパティを有効にし、portal-ext.propertiesの開発サーバーでデータベースを構成します。include-and-override=portal-developer.properties # # MySQL # jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver jdbc.default.url=jdbc:mysql://devel.server/lportaldev?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username=root jdbc.default.password=password -
uatフォルダで、portal-ext.propertiesのUAT環境でデータベースを構成します。# # MySQL # jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver jdbc.default.url=jdbc:mysql://uat.server/lportaluat?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username=root jdbc.default.password=password
これで、環境を生成して配布する準備が整いました。
Analytics Cloud トークンの重複防止
データ収集に Liferay の Analytics Cloud を使用する場合、データベースには統合を認証するためのトークンが含まれます。 実稼働環境からデータベースをコピーすると、重複したトークンによって両方の環境から Analytics Cloud にデータが送信されます。
Analytics Cloud トークンの重複を防ぐには、非本番環境で次のプロパティを設定します。 これにより、Liferay ポータルの起動ごとに Analytics Cloud トークンが削除されます。
analytics.cloud.configuration.delete.on.startup=true
Liferay SaaS プロジェクトで Analytics Cloud トークンが重複するのを防ぐには、ポータル プロパティに仮想ホスト名を追加する必要があります。
analytics.cloud.configuration.delete.on.startup[liferay.com]=true
デプロイメント環境の生成
これで、ローカルで実行したりサーバーに配布したりするための Docker コンテナまたはバンドルを生成できます。