当前位置: 首页 > 软件库 > 云计算 > 云原生 >

fabric8-maven-plugin

授权协议 Apache-2.0 License
开发语言 Google Go
所属分类 云计算、 云原生
软件类型 开源软件
地区 不详
投 递 者 姚永年
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Deprecation Note:

This project has been moved to https://github.com/eclipse/jkube . All new features would be implemented there and support for FMP would be eventually dropped.

fabric8-maven-plugin

fabric8 logo

Introduction

This Maven plugin is a one-stop-shop for building and deploying Java applications for Docker, Kubernetes and OpenShift. It brings your Java applications on to Kubernetes and OpenShift. It provides a tight integration into maven and benefits from the build configuration already provided. It focuses on three tasks:

  • Building Docker images
  • Creating OpenShift and Kubernetes resources
  • Deploy application on Kubernetes and OpenShift

Usage

To enable fabric8 maven plugin on your project just add this to the plugins sections of your pom.xml:

      <plugin>
        <groupId>io.fabric8</groupId>
        <artifactId>fabric8-maven-plugin</artifactId>
        <version>${fmp.version}</version>
      </plugin>

Want to get started fast? Check out the Blogpost for Getting Started with Fabric8 Maven Plugin.

The full documentation can be found in the User Manual [PDF]. It supports the following goals:

Goal Description
fabric8:resource Create Kubernetes and OpenShift resource descriptors
fabric8:build Build Docker images
fabric8:push Push Docker images to a registry
fabric8:deploy Deploy Kubernetes / OpenShift resource objects to a cluster
fabric8:watch Watch for doing rebuilds and restarts

Features

  • Includes docker-maven-plugin for dealing with Docker images and hence inherits its flexible and powerful configuration.
  • Supports both Kubernetes and OpenShift descriptors
  • OpenShift Docker builds with a binary source (as an alternative to a direct image build against a Docker daemon)
  • Various configuration styles:
    • Zero Configuration for a quick ramp-up where opinionated defaults will be pre-selected.
    • Inline Configuration within the plugin configuration in an XML syntax.
    • External Configuration templates of the real deployment descriptors which are enriched by the plugin.
  • Flexible customization:
    • Generators analyze the Maven build and generated automatic Docker image configurations for certain systems (spring-boot, plain java, karaf ...)
    • Enrichers extend the Kubernetes / OpenShift resource descriptors by extra information like SCM labels and can add default objects like Services.
    • Generators and Enrichers can be individually configured and combined into profiles

OpenShift and Kubernetes Compatibility

✔️ : Supported, all available features can be used

: Not supported at all

�� : Supported, but not all features can be used

OpenShift
FMP Openshift 4.2.0 Openshift 4.1.0 OpenShift 3.11.0 OpenShift 3.10.0 OpenShift 3.9.0 OpenShift 3.7.0 OpenShift 3.6.0
FMP 4.4.1 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.4.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.3.1 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.3.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.2.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.1.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.0.0 �� �� ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.0.0-M1 �� �� �� �� ✔️ ✔️ ✔️
FMP 4.0.0-M2 �� �� �� �� ✔️ ✔️ ✔️
FMP 3.5.42 �� ✔️ ✔️
FMP 3.5.41 �� ✔️ ✔️
FMP 3.5.40 �� ✔️ ✔️
FMP 3.5.39 ✔️ ✔️
FMP 3.5.38 ✔️ ✔️
FMP 3.5.37 ✔️ ✔️
FMP 3.5.35 ✔️ ✔️
FMP 3.5.34 ✔️ ✔️
FMP 3.5.33 ✔️ ✔️
FMP 3.5.32 ✔️ ✔️
Kubernetes
FMP Kubernetes 1.15.3 Kubernetes 1.14.2 Kubernetes 1.12.0 Kubernetes 1.11.0 Kubernetes 1.10.0 Kubernetes 1.9.0 Kubernetes 1.8.0 Kubernetes 1.7.0 Kubernetes 1.6.0 Kubernetes 1.5.1 Kubernetes 1.4.0
FMP 4.4.1 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.4.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.3.1 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.3.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.2.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.1.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.0.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FMP 4.0.0-M2 �� �� �� ✔️ ✔️ ✔️ ✔️
FMP 4.0.0-M1 �� �� �� ✔️ ✔️ ✔️ ✔️
FMP 3.5.42 �� �� �� �� ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.41 �� ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.40 �� ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.39 ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.38 ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.37 ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.35 ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.34 ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.33 ✔️ ✔️ ✔️ ✔️ ✔️
FMP 3.5.32 ✔️ ✔️ ✔️ ✔️ ✔️

Documentation and Support

  • User Manual [PDF]
  • Examples are in the samples directory
  • Many fabric8 Quickstarts use this plugin and are good showcases, too.
  • You'll find us in the fabric8 community and on IRC freenode in channel #fabric8 and we are happy to answer any questions.
  • Contributions are highly appreciated and encouraged. Please send us Pull Requests.

fabric8-maven-plugin 3 vs. 2

This is a complete rewrite of the former fabric8-maven plugin. It does not share the same configuration syntax,but migration should be straight forward - please use the fabric8:migrate goal from 2.x of the plugin.

  • 适合开发的构建fabric8-maven-plugin 在项目过程中越来越多的出现在开发阶段就需要把部分微服务直接做容器化发布,然后自己的代码还需要和这些发布后的微服务进行调用的开发过程,这个阶段基本的需求是需要把代码快速的容器化并发布,这种情况下就比较适合fabric8-maven-plugin插件,只需要修改pom文件,然后通过mvn fabric8:deploy就可直接部署到openshif

  • 项目场景: springboot项目集成docker插件进行打包 问题描述: springboot项目集成docker用插件打包时报错: Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project fset-admin: Exception caught 原因分析: 发现是

  • 原因是端口没开放,默认是2375,所以需要把服务器的上传端口以及阿里云控制台的端口都开放,之后就可以了。

  • 鉴于在网上没有搜到一个完整实例,自己摸索后,记录如下: 1、当执行docker push命令将镜像push到registry服务上时,镜像的tag沿用本地的tag一并push到registry上,所以,你必须先确认本地镜像的tag名字是否合适,不合适,用docker tag命令改一下。 docker image tag rhel-httpd:latest registry-host:5000/my

  • dockerfile-maven-plugin是一款用于maven打包docker镜像的插件,其功能类似于docker client,负责将dockerfile中命令发送到docker守护进程,所以即使在Windows上使用也没有问题,我们完全可以借助Linux部署的docker环境来完成docker镜像的构建过程,这部分搭建过程可以参考:https://jonhuster.blog.csdn.n

  • 愿众卿此去前程似锦、不负少年壮志凌云。  在SpringCloud微服务的项目过程中,根据前期的调研和讨论,决定使用K8s作为服务编排的工具(更贴切的讲应该是容器编排,因为使用Docker进行服务容器化)。经过几番的测试和试验之后,从开发到部署的过程逐渐清晰,特形成此文,以后备查,也供大家参考。 在查看下方之前,请确保K8s集群及Docker仓库已经部署完成,如果在部署教程中遇到任何问题,可查看本

  • 目录 1.第一次打包时出现: Exception caught: com.spotify.docker.client.shaded.com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.spotify.docker.client.messages.RegistryAuth: no

 相关资料
  • 我想用fabric8-maven-plugin构建一个Docker映像,并将其推送到一个自定义注册表()。然而,maven插件总是使用项目的组/工件id来派生图像标记。我以为可以通过的标记手动配置标记,但这不起作用...有什么想法吗? 执行maven目标的结果是 解决方案:https://github.com/fabric8io/fabric8-maven-plugin/issues/1180

  • fabric8 是开源 Java Containers(JVMs) 深度管理集成平台。 有了 fabric8 可以非常方便的从 UI 和 UX 一致的中央位置进行自动操作,配置和管理。 fabric8 同时提供一些非功能性需求,比如配置管理,服务发现故障转移,集中化监控,自动化等等。 在线演示:https://vimeo.com/80625940

  • 我假设语法与ADD local-artifact-version.jar app.jar相似,但这不起作用。 问题:当我运行mvn clean package Docker:Build Docker:start-ddocker.follow=true时,我得到一个错误 在使用fabric8 docker maven插件时,DockerFile的“add”语义的正确用法是什么?

  • 然而,我正试图使它在Windows10中工作,但没能做到。Windows 10中的等价物是什么?

  • 我从原型io开始。fabric8:camel cxf代码是第一个原型,但我无法使用以下maven命令进行部署,因为没有定义fabric8。mvn-P!Spring Boot清理编译-X fabric8:deploy-DskipTests=true-Dfabric8。upload=true-Dfabric8。约洛基亚尔=http://10.191.231.12:8181/jolokia 然后我修改了

  • 我是fabric8 maven插件的新手。 我有一个Dropwizard脂肪罐,我想为OpenShift/okd将其装箱。似乎推荐的方法将调用java exec生成器:http://maven.fabric8.io/#generator-java执行器 问题是Dropwizard应用程序必须提供一个配置文件参数,但我不确定如何指示生成器这样做。 正确的调用应该是: 生成器执行以下操作,其中缺少参数