8.13.3. artifact Repository Mirrors
Maven 中的存储库包含各种类型的构建构件和依赖项,如所有项目 JAR、库 JAR、插件或其他特定于项目的工件。它还指定执行 S2I 构建时从哪里下载工件的位置。除了使用中央存储库外,组织通常要部署本地自定义镜像存储库。
使用镜像的好处包括:
- 同步镜像的可用性,在地理上更加接近,速度更快。
- 能够更好地控制存储库内容。
- 有可能在不同团队(开发人员、CI)之间共享构件,而无需依赖公共服务器和存储库。
- 缩短构建时间.
通常,存储库管理器可以作为镜像的本地缓存。假设存储库管理器已在 https://10.0.0.1:8443/repository/internal/
外部部署并可访问,S2I 构建可以通过向应用程序的构建配置提供 MAVEN_MIRROR_URL
环境变量来使用此管理器:
识别要对其应用
MAVEN_MIRROR_URL
变量的构建配置名称。oc get bc -o name buildconfig/eap
使用
MAVEN_MIRROR_URL
环境变量更新eap
的构建配置。oc env bc/eap MAVEN_MIRROR_URL="https://10.0.0.1:8443/repository/internal/" buildconfig "eap" updated
验证 设置。
oc env bc/eap --list # buildconfigs eap MAVEN_MIRROR_URL=https://10.0.0.1:8443/repository/internal/
- 计划应用的新构建。
在应用构建期间,您会注意到 Maven 依赖项是从存储库管理器(而非默认的公共存储库)中提取的。另外,构建完成后,您会看到镜像已填充构建期间检索和使用的所有依赖项。
8.13.3.1. 安全工件存储库镜像 URL
为通过 Maven 存储库防止"man-in-the-middle"攻击,JBoss EAP 需要将安全 URL 用于工件存储库镜像 URL。
URL 应指定一个安全 http("https")和安全端口。
默认情况下,如果您指定了不安全的 URL,则会返回一个错误。您可以使用属性 -Dinsecure.repositories=WARN
来覆盖此行为。