搜索

附录 A. S2I 脚本和 Maven

download PDF

Red Hat JBoss Web Server for OpenShift 镜像包括 S2I 脚本和 Maven。

A.1. Maven 工件存储库镜像以及 JWS for OpenShift

Maven 存储库包含构建工件和依赖项,如项目 Java 存档(JAR)文件、库 JAR 文件、插件或其他特定于项目的工件。Maven 存储库还可定义在执行 source-to-image (S2I) 构建时可从中下载工件的位置。除了使用 Maven Central 存储库 外,一些机构还会部署本地自定义存储库(mirror)。

本地镜像提供以下优点:

  • 通过同步的镜像,使地理位置更近,速度更快
  • 对存储库内容进行更大的控制
  • 能够在不同团队(开发人员和持续集成(CI))共享工件,而无需依赖公共服务器和存储库
  • 改进了构建时间

Maven 存储库管理器可以充当本地缓存到镜像。如果已部署了存储库管理器,且可以在指定的 URL 位置访问外部,则 S2I 构建可以使用此存储库。您可以通过在应用的构建配置中添加 MAVEN_MIRROR_URL 环境变量来使用内部 Maven 存储库。

A.1.1. 使用内部 Maven 存储库进行新构建配置

您可以在 oc new-app 命令或 oc new-build 命令中指定 --build-env 选项,将 MAVEN_MIRROR_URL 环境变量添加到应用程序的新构建配置中。

流程

  1. 输入以下命令:

    $ oc new-app \
     https://github.com/jboss-openshift/openshift-quickstarts.git#main \
     --image-stream=jboss-webserver60-openjdk17-tomcat10-openshift-ubi8:latest\
     --context-dir='tomcat-websocket-chat' \
     --build-env MAVEN_MIRROR_URL=\http://10.0.0.1:8080/repository/internal/ \
     --name=jws-wsch-app
    注意

    前面的命令假定已部署了存储库管理器,可通过 http://10.0.0.1:8080/repository/internal/ 访问。

A.1.2. 将内部 Maven 存储库用于现有构建配置

您可以使用 oc env 命令指定构建配置的名称,将 MAVEN_MIRROR_URL 环境变量添加到应用程序的现有构建配置中。

流程

  1. 识别需要 MAVEN_MIRROR_URL 变量的构建配置:

    $ oc get bc -o name

    前面的命令会产生以下类型的输出:

    buildconfig/jws
    注意

    在前面的示例中,jws 是构建配置的名称。

  2. MAVEN_MIRROR_URL 环境变量添加到 buildconfig/jws

    $ oc env bc/jws MAVEN_MIRROR_URL="http://10.0.0.1:8080/repository/internal/"
    
    buildconfig "jws" updated
  3. 验证构建配置是否已更新:

    $ oc env bc/jws --list
    
    # buildconfigs jws
    MAVEN_MIRROR_URL=http://10.0.0.1:8080/repository/internal/
  4. 使用 oc start-build 调度应用程序的新构建
注意

在应用程序构建过程中,从存储库管理器下载 Maven 依赖项,而不是从默认公共存储库下载。构建过程完成后,镜像包含构建过程中检索和使用的所有依赖项。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.