Skip to content
This repository was archived by the owner on Jun 19, 2024. It is now read-only.

fabric8io/fabric8-maven-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

140185a Β· Jun 19, 2024
Mar 9, 2020
Oct 12, 2018
Sep 21, 2018
Jul 21, 2022
Jul 21, 2022
Jul 21, 2022
Jul 21, 2022
Jul 21, 2022
Jul 21, 2022
Jul 21, 2022
Oct 13, 2020
Feb 18, 2020
Jul 21, 2022
Sep 21, 2018
Feb 18, 2019
Jul 14, 2016
Jul 21, 2022
Jun 19, 2024
Sep 21, 2018
Sep 21, 2018
Dec 5, 2017
Sep 21, 2018
Jul 21, 2022

Repository files navigation

Deprecation Note

Important

This project has been deprecated and is no longer under active development.

Use Eclipse JKube instead.

This project has been rebranded to https://github.com/eclipse-jkube/jkube.

The Fabric8 Maven Plugin is no longer supported.

All new features and support can be requested in the Eclipse JKube project.

fabric8-maven-plugin

Maven Central Circle CI Coverage Technical Debt Dependency Status

fabric8 logo

Watch the full asciicast

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.2 βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ
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.2 βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ ❌ ❌
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.