2.2. Node.js アプリケーションの Openshift へのデプロイ
Node.js アプリケーションを OpenShift にデプロイするには、nodeshift
をアプリケーションに追加し、package.json
ファイルを設定してから nodeshift
を使用してデプロイします。
2.2.1. OpenShift デプロイメントに向けた Node.js アプリケーションの準備
OpenShift のデプロイメント用に Node.js アプリケーションを準備するには、以下の手順を実行する必要があります。
-
nodeshift
をアプリケーションに追加します。 -
openshift
およびstart
エントリーをpackage.json
ファイルに追加します。
前提条件
-
npm
がインストールされている。
手順
nodeshift
をアプリケーションに追加します。$ npm install nodeshift --save-dev
openshift
およびstart
エントリーをpackage.json
のscripts
セクションに追加します。{ "name": "myApp", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "openshift": "nodeshift --expose --dockerImage=registry.access.redhat.com/rhscl/ubi8/nodejs-12", "start": "node app.js", ... } ... }
openshift
スクリプトはnodeshift
を使用して、アプリケーションを OpenShift にデプロイします。注記Universal Base Image および RHEL イメージが Node.js で利用できます。イメージ名の詳細は、Node.js リリースノートを参照してください。
オプション:
package.json
にfiles
セクションを追加します。{ "name": "myApp", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { ... }, "files": [ "package.json", "app.js" ] ... }
files
セクションは、OpenShift
にデプロイするときに含めるファイルとディレクトリーを nodeshift に指示します。nodeshift
はnode-tar
モジュールを使用して、files
セクションにリストしたファイルとディレクトリーに基づいて tar ファイルを作成します。この tar ファイルは、nodeshift
がアプリケーションを OpenShift にデプロイする際に使用されます。files
セクションが指定されていない場合、nodeshift
は現在のディレクトリー全体を送信します。ただし、以下は除外されます。-
node_modules/
-
.git/
tmp/
OpenShift へのデプロイ時に不要なファイルを含めないように
package.json
にfiles
セクションを含めることが推奨されます。
-
2.2.2. Node.js アプリケーションの OpenShift へのデプロイ
nodeshift
を使用して Node.js アプリケーションを OpenShift にデプロイできます。
前提条件
-
CLI クライアント
oc
がインストールされている。 -
npm
がインストールされている。 - ルートを設定する際に、アプリケーションが使用するポートがすべて正しく公開されていることを確認する。
手順
oc
クライアントを使用して OpenShift インスタンスにログインします。$ oc login ...
nodeshift
を使用して、アプリケーションを OpenShift にデプロイします。$ npm run openshift