付録C Fabric8 Maven Plugin でアプリケーションをデプロイする Jenkins フリースタイルプロジェクトの設定
ローカルホストの Maven および Fabric8 Maven Plugin を使用してアプリケーションをデプロイするのと同様に、Jenkins を設定して Maven および Fabric8 Maven プラグインを使用してアプリケーションをデプロイすることができます。
前提条件
- OpenShift クラスターへのアクセス。
- 同じ OpenShift クラスターで実行している Jenkins コンテナーイメージ。
- Jenkins サーバーに JDK および Maven がインストールされ、設定されている。
Maven (
pom.xml
の Fabric8 Maven Plugin) を使用し、RHEL ベースイメージを使用してビルドするように設定されたアプリケーション。注記アプリケーションを OpenShift にビルドおよびデプロイする場合、Spring Boot 2.2 は OpenJDK 8 および OpenJDK 11 をベースとしたビルダーイメージのみをサポートします。Oracle JDK および OpenJDK 9 のビルダーイメージはサポートされていません。
pom.xml
の例<properties> ... <fabric8.generator.from>registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift:latest</fabric8.generator.from> </properties>
- GitHub で利用可能なアプリケーションのソース。
手順
アプリケーションの新規 OpenShift プロジェクトを作成します。
- OpenShift Web コンソールを開き、ログインします。
- Create Project をクリックし、新規 OpenShift プロジェクトを作成します。
- プロジェクト情報を入力し、Create をクリックします。
Jenkins がそのプロジェクトにアクセスできるようにします。
たとえば、Jenkins のサービスアカウントを設定した場合は、アカウントに、アプリケーションのプロジェクトへの
edit
アクセスがあることを確認してください。Jenkins サーバーで新しい フリースタイルの Jenkins プロジェクト を作成します。
- New Item をクリックします。
- 名前を入力し、Freestyle プロジェクト を選択して OK をクリックします。
- Source Code Management で Git を選択し、アプリケーションの GitHub URL を追加します。
-
Build で Add build step を選択し、
Invoke top-level Maven target
を選択します。 以下を Goals に追加します。
clean fabric8:deploy -Popenshift -Dfabric8.namespace=MY_PROJECT
MY_PROJECT
をアプリケーションの OpenShift プロジェクトの名前に置き換えます。- Save をクリックします。
Jenkins プロジェクトのメインページから Build Now をクリックし、アプリケーションの OpenShift プロジェクトへのアプリケーションのビルドおよびデプロイを確認します。
アプリケーションの OpenShift プロジェクトでルートを開いて、アプリケーションがデプロイされていることを確認することもできます。
次のステップ
-
GITSCM ポーリング を追加すること、または the
Poll SCM
ビルドトリガー を使用することを検討してください。これらのオプションにより、新規コミットが GitHub リポジトリーにプッシュされるたびにビルドを実行できます。 - デプロイ前にテストを実行するビルドステップを追加することを検討してください。