第4章 S2I を使用した OpenShift での Quarkus アプリケーションのデプロイ
従来の Source-to-Image (S2I) 手法は、Red Hat OpenShift Container Platform でのアプリケーションのデプロイにおける推奨される方法として、広く使用されています。S2I では、Git リポジトリーを使用するか、ビルド時にソースをアップロードして、ソースコードをビルドコンテナーに提供する必要があります。この手法を使用して、実稼働環境に Quarkus アプリケーションをデプロイします。
前提条件
- Git リポジトリーでホストされる Quarkus Maven プロジェクトがあること。
手順
- Quarkus Maven プロジェクトが含まれるディレクトリーに移動します。
-
pom.xmlファイルと同じレベルで、.s2iという名前の隠しディレクトリーを作成します。 .s2iディレクトリーにenvironmentという名前のファイルを作成し、以下の内容を追加します。ARTIFACT_COPY_ARGS=-p -r lib/ *-runner.jar
ARTIFACT_COPY_ARGS=-p -r lib/ *-runner.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更をリモート Git リポジトリーにコミットし、プッシュします。
OpenShift CLI (oc) にログインします。
oc login
oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい OpenShift プロジェクトを作成するには、以下のコマンドを実行します。このコマンドの
PROJECT_NAMEは、新規プロジェクトの名前に置き換えます。oc new-project PROJECT_NAME
oc new-project PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow サポートされる OpenShift イメージをインポートするには、以下のコマンドを入力します。
oc import-image --confirm openjdk/openjdk-11-rhel7 --from=registry.access.redhat.com/openjdk/openjdk-11-rhel7
oc import-image --confirm openjdk/openjdk-11-rhel7 --from=registry.access.redhat.com/openjdk/openjdk-11-rhel7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記IBM Z インフラストラクチャーにデプロイする場合は、
oc import-image --confirm openj9/openj9-11-rhel8 --from=registry.access.redhat.com/openj9/openj9-11-rhel8を入力します。このイメージの詳細は、Red Hat OpenJDK 11 Java Applications ページを参照してください。
OpenShift でプロジェクトをビルドするには、以下のコマンドを入力します。
GIT_PATHは Quarkus プロジェクトをホストする Git リポジトリーへのパス、PROJECT_NAMEは作成した OpenShift プロジェクトに置き換えます。oc new-app openjdk-11-rhel7 GIT_PATH --name=PROJECT_NAME
oc new-app openjdk-11-rhel7 GIT_PATH --name=PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記IBM Z インフラストラクチャーにデプロイする場合は、
oc new-app openj9/openj9-11-rhel8 GIT_PATH --name=PROJECT_NAMEを入力します。このコマンドを実行すると、プロジェクトのビルド、アプリケーションの作成、そして OpenShift サービスのデプロイが行われます。
OpenShift ルートを作成するには、以下のコマンドを入力します。
oc expose service/PROJECT_NAME
oc expose service/PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規ルートを表示するには、以下のコマンドを入力します。このコマンドの
APPLICATION_NAMEは、OpenShift プロジェクトにデプロイされたアプリケーションの名前に置き換えます。export URL="http://$(oc get route APPLICATION_NAME -o jsonpath='{.spec.host}}')" echo "Application URL: $URL"export URL="http://$(oc get route APPLICATION_NAME -o jsonpath='{.spec.host}}')" echo "Application URL: $URL"Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルートの
helloエンドポイントに HTTP 要求を作成するには、以下のコマンドを入力します。curl $URL/hello
curl $URL/helloCopy to Clipboard Copied! Toggle word wrap Toggle overflow - アプリケーションを使用するには、前のコマンドで返された URL を Web ブラウザーで入力します。
プロジェクトの更新バージョンをデプロイするには、更新を Git リポジトリーにプッシュしてから、以下のコマンドを入力します。
oc start-build PROJECT_NAME
oc start-build PROJECT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow - ビルドの完了後にブラウザーページを更新し、変更を確認します。
改訂日時: 2020-11-18 01:18:31 UTC