第4章 S2I を使用した OpenShift での Quarkus アプリケーションのデプロイ


従来の Source-to-Image (S2I) 手法は、Red Hat OpenShift Container Platform でのアプリケーションのデプロイにおける推奨される方法として、広く使用されています。S2I では、Git リポジトリーを使用するか、ビルド時にソースをアップロードして、ソースコードをビルドコンテナーに提供する必要があります。この手法を使用して、実稼働環境に Quarkus アプリケーションをデプロイします。

前提条件

  • Git リポジトリーでホストされる Quarkus Maven プロジェクトがあること。

手順

  1. Quarkus Maven プロジェクトが含まれるディレクトリーに移動します。
  2. pom.xml ファイルと同じレベルで、.s2i という名前の隠しディレクトリーを作成します。
  3. .s2i ディレクトリーに environment という名前のファイルを作成し、以下の内容を追加します。

    ARTIFACT_COPY_ARGS=-p -r lib/ *-runner.jar
    Copy to Clipboard Toggle word wrap
  4. 変更をリモート Git リポジトリーにコミットし、プッシュします。
  5. OpenShift CLI (oc) にログインします。

    oc login
    Copy to Clipboard Toggle word wrap
  6. 新しい OpenShift プロジェクトを作成するには、以下のコマンドを実行します。このコマンドの <project_name> は、新規プロジェクトの名前に置き換えます。

    oc new-project <project_name>
    Copy to Clipboard Toggle word wrap
  7. サポートされる OpenShift イメージをインポートするには、以下のコマンドを入力します。

    oc import-image --confirm ubi8/openjdk-11 --from=registry.access.redhat.com/ubi8/openjdk-11
    Copy to Clipboard Toggle word wrap
    注記

    IBM Z インフラストラクチャーにデプロイする場合は、oc import-image --confirm openj9/openj9-11-rhel8 --from=registry.redhat.io/openj9/openj9-11-rhel8 を入力します。

    このイメージの詳細は、Red Hat OpenJ9 11 Java Applications on RHEL8 ページを参照してください。

  8. OpenShift でプロジェクトをビルドするには、以下のコマンドを入力します。<git_path> は Quarkus プロジェクトをホストする Git リポジトリーへのパス、<project_name> は作成した OpenShift プロジェクトに置き換えます。

    oc new-app ubi8/openjdk-11 <git_path> --name=<project_name>
    Copy to Clipboard Toggle word wrap
    注記

    IBM Z インフラストラクチャーにデプロイする場合は、oc new-app openj9/openj9-11-rhel8 <git_path> --name=<project_name> を入力します。

    このコマンドを実行すると、プロジェクトのビルド、アプリケーションの作成、そして OpenShift サービスのデプロイが行われます。

  9. OpenShift ルートを作成するには、以下のコマンドを入力します。

    oc expose service/<project_name>
    Copy to Clipboard Toggle word wrap
  10. 新規ルートを表示するには、以下のコマンドを入力します。このコマンドの <application_name> は、OpenShift プロジェクトにデプロイされたアプリケーションの名前に置き換えます。

    export URL="http://$(oc get route <application_name> -o jsonpath='{.spec.host}}')"
    echo "Application URL: $URL"
    Copy to Clipboard Toggle word wrap
  11. ルートの hello エンドポイントに HTTP 要求を実行するには、以下のコマンドを入力します。

    curl $URL/hello
    Copy to Clipboard Toggle word wrap
  12. アプリケーションを使用するには、前のコマンドで返された URL を Web ブラウザーで入力します。
  13. プロジェクトの更新バージョンをデプロイするには、更新を Git リポジトリーにプッシュしてから、以下のコマンドを入力します。

    oc start-build <project_name>
    Copy to Clipboard Toggle word wrap
  14. ビルドの完了後にブラウザーページを更新し、変更を確認します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat