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
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
 
 
 
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.
 