第9章 カスタム Maven ミラーの設定
OpenShift Serverless Logic は、ワークフロービルド中に Maven アーティファクトを解決するために、デフォルトで Maven Central を使用します。提供されているビルダーおよび開発イメージには、ワークフローの実行に必要なすべての Java ライブラリーが含まれていますが、カスタムの Quarkus エクステンションを追加する場合など、特定のシナリオでは、Maven Central から追加の依存関係をダウンロードする必要があります。
ネットワークアクセスが制限されている環境やファイアウォールで保護されている環境では、Maven Central への直接アクセスが利用できない場合があります。このような場合、社内レジストリーやリポジトリーマネージャーなどのカスタム Maven ミラーを使用するようにワークフローコンテナーを設定できます。
次のように、さまざまなレベルでカスタム Maven ミラーを設定できます。
-
ワークフローごとのビルド。
SonataFlowBuildカスタムリソースを更新します。 -
プラットフォームレベル。
SonataFlowPlatformカスタムリソースを更新します。 -
開発モードのデプロイメント。
SonataFlowカスタムリソースを編集します。 - ビルダーイメージを使用した外部でのカスタムイメージのビルド。
9.1. ワークフロー構築時に Maven ミラーを追加する リンクのコピーリンクがクリップボードにコピーされました!
SonataFlowBuild または SonataFlowPlatform カスタムリソース (CR) で MAVEN_MIRROR_URL 環境変数を設定することで、Maven ミラーを設定できます。
推奨の方法は、SonataFlowPlatform CR を更新することです。これにより、ミラー設定がプラットフォームスコープ内のすべてのワークフロービルドに自動的に伝播されるようになります。
前提条件
- OpenShift Serverless Logic Operator がクラスターにインストールされている。
- OpenShift Serverless Logic プロジェクトを作成している。
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- カスタム Maven ミラーまたは内部リポジトリーにアクセスできます。
手順
次の例に示すように、
SonataFlowPlatformCR を編集して、namespace 内のすべてのワークフロービルドの Maven ミラーを設定します。SonataFlowPlatformCR での Maven ミラー設定の例apiVersion: sonataflow.org/v1alpha08 kind: SonataFlowPlatform metadata: name: my-platform spec: build: template: envs: - name: MAVEN_MIRROR_URL value: http://my.company.registry.localこの設定は、
previewプロファイルを使用する同じ namespace 内のすべてのワークフロービルドに適用されます。ワークフロービルダーインスタンスが実行されると、内部 Maven 設定ファイルが更新され、指定されたミラーが Maven Central などの外部ロケーションのデフォルトとして使用されるようになります。オプション: 単一のワークフロービルドに特定の設定が必要な場合は、対応する
SonataFlowCR を作成する前に、SonataFlowBuildCR を作成します。SonataFlowBuildとSonataFlowCR の名前は同じである必要があります。SonataFlowBuildCR での Maven ミラー設定の例apiVersion: sonataflow.org/v1alpha08 kind: SonataFlowBuild metadata: name: my-workflow1 annotations: sonataflow.org/restartBuild: "true"2 spec: # suppressed for brevity envs: - name: MAVEN_MIRROR_URL3 value: http://my.company.registry.local注記デバッグなど、ワークフロー固有の動作が必要な場合にのみ、
SonataFlowBuildCR 設定を使用できます。一般的な使用の場合は、代わりにSonataFlowPlatformCR を設定します。