3.4. 内部 Maven リポジトリーの使用

制限された環境では、別の Maven リポジトリーを使用する必要があります。それは、MAVEN_MIRROR_URL という名前のテンプレートパラメーターを使用して指定できます。この MAVEN_MIRROR_URL パラメーターを使用して、コマンドラインから新規アプリケーションを作成することができます。

3.4.1. MAVEN_MIRROR_URL を使用した Spring Boot アプリケーションの実行

この例では、MAVEN_MIRROR_URL を使用して Spring Boot アプリケーションをデプロイおよび実行する方法について説明します。

手順

  1. Spring Boot Camel XML クイックスタートをダウンロードします。

    oc create -f ./spring-boot-2-camel-xml-template.json -n openshift
  2. 以下のコマンドを入力し、MAVEN_MIRROR_URL を使用して Spring Boot クイックスタートテンプレートの実行に必要なリソースを作成します。

    制限された環境では、ローカルリポジトリーの GIT_REPO および GIT_REF パラメーターも指定する必要があります。

    oc new-app s2i-fuse711-spring-boot-2-camel-xml -n {namespace} -p IMAGE_STREAM_NAMESPACE={namespace} -p MAVEN_MIRROR_URL={Maven mirror URL} -p GIT_REPO={Git Repo URL} -p GIT_REF={Git branch/tag name}

    これにより、クイックスタートのデプロイメント設定およびビルド設定が作成されます。クイックスタートのデフォルトパラメーターや作成されたリソースの情報はターミナルに表示されます。

3.4.2. OpenShift Maven プラグインを使用した Spring Boot アプリケーションの実行

この例では、内部 Maven リポジトリーを使用して OpenShift Maven プラグインで Spring Boot アプリケーションをデプロイおよび実行する方法を説明します。

手順

  1. OpenShift Maven プラグインでクイックスタートを実行するには、ローカルリポジトリーから Spring Boot 2 camel archetype をダウンロードし、クイックスタートをデプロイします。{Maven Mirror URL} を Maven ミラーリポジトリーの URL に置き換えます。

    mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \
      -DarchetypeCatalog={Maven Mirror URL}/archetypes/archetypes-catalog/2.2.0.fuse-sb2-7_11_1-00018-redhat-00002/archetypes-catalog-2.2.0.fuse-sb2-7_11_1-00018-redhat-00002-archetype-catalog.xml \
      -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \
      -DarchetypeArtifactId=spring-boot-camel-xml-archetype
      -DarchetypeVersion=2.2.0.fuse-sb2-7_11_1-00018-redhat-00002
  2. archetype プラグインが対話モードに切り替わり、残りのフィールドの入力を要求されます。

    Define value for property 'groupId': : org.example.fis
    Define value for property 'artifactId': : fuse711-spring-boot2
    Define value for property 'version':  1.0-SNAPSHOT: :
    Define value for property 'package':  org.example.fis: :
    Confirm properties configuration:
    groupId: org.example.fis
    artifactId: fuse711-spring-boot
    version: 1.0-SNAPSHOT
    package: org.example.fis
     Y: : Y
  3. 上記のコマンドが BUILD SUCCESS 状態で終了した場合、fuse711-spring-boot2 サブディレクトリー内に新しい Fuse on OpenShift プロジェクトが作成されているはずです。
  4. これで、fuse711-spring-boot2 プロジェクトをビルドおよびデプロイできるようになりました。OpenShift にログインしている状態で、fuse711-spring-boot2 プロジェクトのディレクトリーに移動し、以下のようにプロジェクトをビルドおよびデプロイします。

    cd fuse711-spring-boot2
    mvn oc:deploy -Popenshift