7.4. eap-s2i-build テンプレートを使用したアプリケーションイメージのビルド

eap-s2i-build テンプレートは複数のパラメーターを追加して、アプリケーションのビルドに使用するアプリケーションソースリポジトリーの場所と EAP S2I イメージを設定します。このテンプレートを使用すると、JBoss EAP 7.4、JBoss EAP XP、または JBoss EAP CD などのすべての JBoss EAP バージョンにイメージストリームを使用できます。

手順

  1. EAP イメージを OpenShift にインポートします。詳細は、JBoss EAP XP の OpenShift イメージストリームおよびテンプレートのインポート を参照してください。
  2. アプリケーションイメージストリームの変更についての更新を受信し、新規ビルドをトリガーするようにイメージストリームを設定します。詳細は、イメージストリームタグの定期的なインポートの設定 を参照してください。
  3. EAP S2I イメージを使用してアプリケーションイメージをビルドするための eap-s2i-build テンプレートを作成します。

    $ oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-eap-openshift-templates/master/eap-s2i-build.yaml

    この eap-s2i-build テンプレートは 2 つのビルド設定と、中間ビルドアーティファクトと最終的なアプリケーションイメージに対応する 2 つのイメージストリームを作成します。

  4. 最終的なアプリケーションイメージのリソースを作成するために、パラメーターとともに eap-s2i-build テンプレートを処理します。以下の例は、アプリケーションイメージ my-app を作成します。

    $ oc process eap-s2i-build \
      -p APPLICATION_IMAGE=my-app \ 1
      \
      -p EAP_IMAGE=jboss-eap-xp1-openjdk11-openshift:1.0 \ 2
      -p EAP_RUNTIME_IMAGE=jboss-eap-xp1-openjdk11-runtime-openshift:1.0 \ 3
      -p EAP_IMAGESTREAM_NAMESPACE=$(oc project -q) \ 4
      \
      -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts.git \ 5
      -p SOURCE_REPOSITORY_REF=xp-1.0.x \ 6
      -p CONTEXT_DIR=microprofile-config | oc create -f - 7
    1
    アプリケーションイメージストリームの名前。アプリケーションイメージは latest でタグ付けされます。
    2
    EAP ビルダーイメージのイメージストリームタグ。
    3
    EAP ランタイムイメージのイメージストリームタグ。
    4
    Red Hat ミドルウェアイメージのイメージストリームがインストールされている名前空間。省略されている場合、openshift 名前空間が使用されます。これは、openshift 以外の名前空間にイメージストリームをインストールしている場合にのみ変更します。
    5
    アプリケーションの Git ソース URL。
    6
    Git ブランチ/タグリファンレンス
    7
    ビルドするアプリケーションが含まれる Git リポジトリー内のパス。
  5. EAP オペレーターを使用して、デプロイメント用にアプリケーションイメージを準備します。

    1. WildFlyServer リソースを設定します。

      $ cat > my-app.yaml<<EOF
      
      apiVersion: wildfly.org/v1alpha1
      kind: WildFlyServer
      metadata:
        name: my-app
      spec:
       applicationImage: 'my-app:latest'
       replicas: 1
      EOF
    2. 設定を適用し、EAP オペレーターがこのアプリケーションイメージを参照する新しい WildFlyServer リソースを作成できるようにします。

      $ oc apply -f my-app.yaml
    3. 以下のコマンドを使用して、WildFlyServer リソースを表示します。

      $ oc get wfly my-app

      関連情報