8.13.3. artifact Repository Mirrors

Maven 中的存储库包含各种类型的构建构件和依赖项,如所有项目 JAR、库 JAR、插件或其他特定于项目的工件。它还指定执行 S2I 构建时从哪里下载工件的位置。除了使用中央存储库外,组织通常要部署本地自定义镜像存储库。

使用镜像的好处包括:

  • 同步镜像的可用性,在地理上更加接近,速度更快。
  • 能够更好地控制存储库内容。
  • 有可能在不同团队(开发人员、CI)之间共享构件,而无需依赖公共服务器和存储库。
  • 缩短构建时间.

通常,存储库管理器可以作为镜像的本地缓存。假设存储库管理器已在 https://10.0.0.1:8443/repository/internal/ 外部部署并可访问,S2I 构建可以通过向应用程序的构建配置提供 MAVEN_MIRROR_URL 环境变量来使用此管理器:

  1. 识别要对其应用 MAVEN_MIRROR_URL 变量的构建配置名称。

    oc get bc -o name
    buildconfig/eap
  2. 使用 MAVEN_MIRROR_URL 环境变量更新 eap 的构建配置。

    oc env bc/eap MAVEN_MIRROR_URL="https://10.0.0.1:8443/repository/internal/"
    buildconfig "eap" updated
  3. 验证 设置。

    oc env bc/eap --list
    # buildconfigs eap
    MAVEN_MIRROR_URL=https://10.0.0.1:8443/repository/internal/
  4. 计划应用的新构建。
注意

在应用构建期间,您会注意到 Maven 依赖项是从存储库管理器(而非默认的公共存储库)中提取的。另外,构建完成后,您会看到镜像已填充构建期间检索和使用的所有依赖项。

8.13.3.1. 安全工件存储库镜像 URL

为通过 Maven 存储库防止"man-in-the-middle"攻击,JBoss EAP 需要将安全 URL 用于工件存储库镜像 URL。

URL 应指定一个安全 http("https")和安全端口。

默认情况下,如果您指定了不安全的 URL,则会返回一个错误。您可以使用属性 -Dinsecure.repositories=WARN 来覆盖此行为。