第10章 アーティファクトリポジトリーのミラー

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

ミラーを使用する利点:

  • 地理的に近くなるためスピードが速くなる同期したミラーを利用できる。
  • リポジトリーのコンテンツの制御を強化できる。
  • 公開サーバーおよびリポジトリーに依存せずに、複数の異なるチーム (開発者、CI) 間でアーティファクトを共有できる。
  • ビルド時間を短縮できる。

リポジトリーマネージャーはミラーに対してローカルキャッシュとして機能できる場合がよくあります。リポジトリーマネージャーがすでにデプロイされており、http://10.0.0.1:8080/repository/internal/ で外部からアクセスできることを想定すると、以下のように MAVEN_MIRROR_URL 環境変数をアプリケーションのビルド設定に指定することにより S21 ビルドでこのマネージャーを使用できます。

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

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

    oc env bc/ds MAVEN_MIRROR_URL="http://10.0.0.1:8080/repository/internal/"
    buildconfig "ds" updated
  3. 設定を確認します。

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

アプリケーションのビルド時に、Maven の依存関係がデフォルトの公開リポジトリーではなく、リポジトリーマネージャーからプルされることに気づかれることでしょう。また、ビルドの完了後に、ビルド時に取得され、使用されたすべての依存関係がミラーに設定されていることにも気づかれることでしょう。