第 9 章 配置自定义 Maven 镜像


OpenShift Serverless Logic 默认使用 Maven Central 在工作流构建过程中解析 Maven 工件。提供的构建器和开发镜像包括运行工作流所需的所有 Java 库,但在某些情况下,比如在添加自定义 Quarkus 扩展时,您必须从 Maven Central 下载额外的依赖项。

在具有受限或防火墙网络访问的环境中,可能无法直接访问 Maven Central。在这种情况下,您可以将工作流容器配置为使用自定义 Maven 镜像,如内部公司 registry 或存储库管理器。

您可以在不同级别上配置自定义 Maven 镜像,如下所示:

  • 通过更新 SonataFlowBuild 自定义资源来为每个工作流构建。
  • 在平台级别,更新 SonataFlowPlatform 自定义资源。
  • 对于开发模式,请编辑 SonataFlow 自定义资源。
  • 使用构建器镜像在外部构建自定义镜像时

9.1. 在构建工作流时添加 Maven 镜像

您可以通过在 SonataFlowBuildSonataFlowPlatform 自定义资源(CR)中设置 MAVEN_MIRROR_URL 环境变量来配置 Maven 镜像。

注意

推荐的方法是更新 SonataFlowPlatform CR。这样可确保镜像配置自动传播到平台范围中的所有工作流构建。

先决条件

  • 已在集群中安装了 OpenShift Serverless Logic Operator。
  • 您已创建了 OpenShift Serverless Logic 项目。
  • 您可以使用适当的角色和权限访问 OpenShift Serverless Logic 项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。
  • 您可以访问自定义 Maven 镜像或内部存储库。

流程

  1. 编辑 SonataFlowPlatform CR,为命名空间中的所有工作流构建配置 Maven 镜像,如下例所示:

    SonataFlowPlatform CR 中的 Maven 镜像配置示例

    apiVersion: sonataflow.org/v1alpha08
    kind: SonataFlowPlatform
    metadata:
      name: my-platform
    spec:
      build:
        template:
          envs:
            - name: MAVEN_MIRROR_URL
              value: http://my.company.registry.local
    Copy to Clipboard Toggle word wrap

    此配置适用于使用 preview 配置集的同一命名空间中的所有工作流构建。当工作流构建器实例运行时,它会更新内部 Maven 设置文件,以使用指定的 mirror 作为 Maven Central 等外部位置的默认设置。

  2. 可选: 如果您需要单个工作流构建的特定配置,请在创建对应的 SonataFlow CR 前创建 SonataFlowBuild CR。SonataFlowBuildSonataFlow CR 必须具有相同的名称。

    SonataFlowBuild CR 中的 Maven 镜像配置示例

    apiVersion: sonataflow.org/v1alpha08
    kind: SonataFlowBuild
    metadata:
      name: my-workflow 
    1
    
      annotations:
        sonataflow.org/restartBuild: "true" 
    2
    
    spec:
      # suppressed for brevity
      envs:
        - name: MAVEN_MIRROR_URL 
    3
    
          value: http://my.company.registry.local
    Copy to Clipboard Toggle word wrap

    1
    SonataFlowBuild CR 的名称必须与对应的 SonataFlow CR 的名称相同。
    2
    sonataflow.org/restartBuild: "true" 注解会强制现有构建使用新配置重启。
    3
    MAVEN_MIRROR_URL 环境变量指定自定义 Maven 镜像。
    注意

    只有在需要工作流特定行为(如调试)时才可以使用 SonataFlowBuild CR 配置。对于常规用途,请配置 SonataFlowPlatform CR。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat