第6章 参照

6.1. アーティファクトリポジトリーミラー

Maven のリポジトリーは、さまざまなタイプのビルドアーティファクトおよび依存関係を保持します (すべてのプロジェクト jars、ライブラリー jar、プラグイン、その他のプロジェクト固有のアーティファクト)。また、S2I ビルドの実行中にアーティファクトのダウンロード元となる場所も指定します。組織では、中央リポジトリーを使用する他に、ローカルのカスタムリポジトリー (ミラー) をデプロイすることが一般的です。

ミラーを使用する利点は次のとおりです。

  • 地理的に近く、高速な同期ミラーを使用できる。
  • リポジトリーの内容をより良く制御できる。
  • パブリックサーバーおよびリポジトリーに依存する必要なく、異なるチーム (開発者、CI) 全体でアーティファクトを共有できる。
  • ビルド時間が改善される。

多くの場合で、リポジトリーマネージャーはミラーへのローカルキャッシュとして機能できます。リポジトリーマネージャーがすでにデプロイされ、http://10.0.0.1:8080/repository/internal/ で外部から到達可能な場合は、以下のように MAVEN_MIRROR_URL 環境変数をアプリケーションのビルド設定に提供すると、S2I ビルドはこのマネージャーを使用できます。

  1. MAVEN_MIRROR_URL 変数を適用するビルド設定の名前を特定します。

    $ oc get bc -o name
    buildconfig/sso
  2. MAVEN_MIRROR_URL 環境変数で sso のビルド設定を更新します。

    $ oc set env bc/sso \
      -e MAVEN_MIRROR_URL="http://10.0.0.1:8080/repository/internal/"
    buildconfig "sso" updated
  3. 設定を確認します。

    $ oc set env bc/sso --list
    # buildconfigs sso
    MAVEN_MIRROR_URL=http://10.0.0.1:8080/repository/internal/
  4. アプリケーションの新規ビルドのスケジュール
注記

アプリケーションのビルド中、Maven 依存関係はデフォルトのパブリックリポジトリーではなく、リポジトリーマネージャーからプルされることを確認できます。またビルドの完了後、ビルド中に取得および使用されたすべての依存関係がミラーに追加されたことが確認できます。