第4章 Red Hat JBoss BRMS Project Repository for OpenShift の準備

4.1. ステートレスセッション

注記

Red Hat JBoss BRMS プロジェクトはステートレスになるように設定される必要があります。OpenShift は KIE サーバーでのステートフルセッションはサポートしません。

Red Hat JBoss BRMS で実行される Red Hat JBoss BRMS プロジェクトは、ステートフルまたはステートレスに設定することができます。Decision Server xPaaS イメージにデプロイされているプロジェクトはステートレスに設定されます。

Red Hat JBoss BRMS プロジェクトがステートレスであることを確認します。
Knowledge Session (web コンソールで Open Project EditorProject SettingsKnowledge bases and sessions に移動します) には、セッションが Stateless に設定されているかどうかが表示されます。

4.2. プロジェクトのリモートリポジトリーの設定

プロジェクトはリモートリポジトリーを使用するように設定し、Red Hat JBoss BRMS が変更をプッシュし、OpenShift がリポジトリーをプルしてアプリケーションをビルドできるようにする必要があります。

アプリケーションのリポジトリーファイル:

  1. pom.xml はリモートリポジトリーを使用するよう設定し、OpenShift がこれにアクセスできるようする必要があります。

    ...
    <distributionManagement>
      <repository>
        <id>deployment</id>
        <name>OpenShift Maven repo</name>
        <url>http://maven.example/deployment/filepath/</url>
      </repository>
    
      <snapshotRepository>
        <id>deployment</id>
        <name>OpenShift Maven repo</name>
        <url>http://maven.example/snapshots/filepath/</url>
      </snapshotRepository>
    </distributionManagement>
    ...

    詳細は、『Red Hat JBoss BRMS Administration and Configuration Guide』を参照してください。

  2. configuration/settings.xml ファイルではリモートリポジトリーを定義し、OpenShift がアプリケーションのアーティファクトをダウンロードできるようにする必要があります。

    ...
    <profiles>
      <profile>
        <id>openshift-mirror-repositories</id>
        <repositories>
          <repository>
            <id>openshift-mirror</id>
            <url>http://maven.example/public/filepath/</url>
          </repository>
        </repositories>
    
        <pluginRepositories>
          <pluginRepository>
            <id>openshift-mirror</id>
            <url>http://maven.example/public/filepath/</url>
          </pluginRepository>
        </pluginRepositories>
      </profile>
    </profiles>
    ...

    詳細は、『Red Hat JBoss BRMS Installation Guide』を参照してください。

  3. 非表示の .s2i/environment ファイルは、使用する KIE jar を含む KIE コンテナーのデプロイメントと、それらを取得する場所を定義します。OpenShift がビルドされたイメージをデプロイする際に、Pod 名はこのファイルで定義されるデプロイメントのエイリアスから派生した名前になります。

    KIE_CONTAINER_DEPLOYMENT=<alias>=<group_id>:<artifact_id>:<version>

    例:

    KIE_CONTAINER_DEPLOYMENT=RulesTest=com.example.openshift:example_workflow:1.0
    注記

    KIE サーバーのデフォルト動作はデフォルトのステートフルセッションを検索することであり、これが見つからない場合は失敗するため、コンテナーの名前をここで定義することが必要になります。