附录 C. Fabric8 Maven 插件
C.1. 概述
借助 fabric8-maven-plugin
帮助,您可以将 Java 应用部署到 OpenShift。它提供与 Maven 的紧密集成,以及来自已提供的构建配置的好处。此插件侧重于以下任务:
- 构建 Docker 格式的镜像以及.
- 创建 OpenShift 资源描述符
它可以配置非常灵活地,并支持多个配置模型来创建:
- Zero-Config 设置,允许使用一些建议的默认值进行快速通道。或满足更高级的要求,
-
XML 配置,它提供额外的配置选项,可添加到
pom.xml
文件中。
C.1.1. 构建镜像
fabric8:build
目标用于创建包含应用的 Docker 格式镜像。在这些镜像中很容易包括构建工件及其依赖项。此插件使用 maven-assembly-plugin
中的 assembly 描述符格式来指定将添加到镜像中的内容。
重要
OpenShift 上的 Fuse 仅支持 OpenShift s2i
构建策略,不支持 docker
构建策略。
C.1.2. Kubernetes 和 OpenShift 资源
可以使用 fabric8:resource
创建 Kubernetes 和 OpenShift 资源描述符。这些文件打包在 Maven 工件中,并可通过 fabric8:apply
部署到正在运行的编配平台。
C.1.3. 配置
配置有四个级别:
-
零配置模式有助于根据
pom.xml
文件中的内容、要使用的基础镜像或要公开的端口进行一些非常有用的决策。它用于启动事情,并用于保持快速启动应用程序小且方便。 - XML 插件配置模式与 docker-maven-plugin 提供的模式类似。它允许使用 IDE 支持类型安全配置,但只有提供可能的资源描述符功能的子集。
-
Kubernetes 和 OpenShift 资源片段是用户提供的 YAML 文件,可通过插件增强。这允许专家用户使用普通配置文件及其功能,还可以添加特定于项目的构建信息并避免样板代码。*Docker Compose 用于在 OpenShift 集群上启动 docker compose 部署。这至少需要了解 OpenShift 部署过程。有关配置的详情,请参考
https://maven.fabric8.io/#configuration
。