2.5. Dekorate を使用した OpenShift Source-to-Image ビルドの自動実行

Maven でアプリケーションをコンパイルした後に、Dekorate を使用して OpenShift コンテナーイメージビルドを自動的に実行できます。

Dekorate を使用して Source-to-Image ビルドを自動的にトリガーする機能は テクノロジープレビュー として利用できます。Red Hat は、実稼働環境でのこの機能の使用に対するサポートを提供していません。

前提条件

  • Spring Boot および Dekorate を使用するよう設定された Maven ベースのアプリケーションプロジェクト
  • @SpringBootApplication アノテーションがプロジェクトのソースファイルに追加されている。
  • Java JDK 8 または JDK 11 がインストールされている。
  • Maven がインストールされている。
  • oc コマンドラインツールがインストールされている
  • oc コマンドラインツールを使用して OpenShift クラスターにログインしている。

手順

  1. Dekorate OpenShift Spring Starter を依存関係としてアプリケーションの pom.xml ファイルに追加します。このモジュールは、すべての Dekorate OpenShift Starters に推移的な依存関係として含まれていることに注意してください。

    <project>
      ...
      <dependencies>
         ...
        <dependency>
          <groupId>io.dekorate</groupId>
          <artifactId>openshift-spring-starter</artifactId>
        </dependency>
        ...
      </dependencies>
    ...
    <project>
  2. アプリケーションをビルドしてデプロイします。Maven がアプリケーションをコンパイルした後にコンテナーイメージビルドを実行するための -Ddekorate.build=true プロパティーを含めます。Source-to-Image ビルドを自動的に実行する機能は テクノロジープレビュー として提供されることに注意してください。

    $ mvn clean install -Ddekorate.build=true

    Maven でアプリケーションをコンパイルした後に、コマンドラインから Source-to-image ビルドを手動で実行することもできます。

    # Process your application YAML template that is generated by Dekorate:
    $ oc apply -f target/classes/META-INF/dekorate/openshift.yml
    # Execute the Source-to-image build and deploy your application to the OpenShift cluster:
    $ oc start-build example --from-dir=./target --follow