fabric8-maven-plugin

Maven plugin for getting your Java apps on to Kubernetes and OpenShift

Github stars Tracking Chart

fabric8-maven-plugin

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.

Maven Central
Circle CI
Coverage
Technical Debt
Dependency Status

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

:heavy_check_mark: : Supported, all available features can be used

:x: : Not supported at all

:large_blue_circle: : 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.3.1, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 4.3.0, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 4.2.0, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 4.1.0, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 4.0.0, :large_blue_circle:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 4.0.0-M1, :large_blue_circle:, :large_blue_circle:, :large_blue_circle:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 4.0.0-M2, :large_blue_circle:, :large_blue_circle:, :large_blue_circle:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.42, :x:, :x:, :x:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.41, :x:, :x:, :x:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.40, :x:, :x:, :x:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.39, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.38, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.37, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.35, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.34, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.33, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.32, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, ##### 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.3.1, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :x:, :x:, FMP 4.3.0, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :x:, :x:, FMP 4.2.0, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :x:, :x:, FMP 4.1.0, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :x:, :x:, FMP 4.0.0, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :x:, :x:, FMP 4.0.0-M2, :x:, :x:, :large_blue_circle:, :large_blue_circle:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :x:, :x:, FMP 4.0.0-M1, :x:, :x:, :large_blue_circle:, :large_blue_circle:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :x:, :x:, FMP 3.5.42, :x:, :x:, :large_blue_circle:, :large_blue_circle:, :large_blue_circle:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.41, :x:, :x:, :x:, :x:, :x:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.40, :x:, :x:, :x:, :x:, :x:, :large_blue_circle:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.39, :x:, :x:, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.38, :x:, :x:, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.37, :x:, :x:, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.35, :x:, :x:, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.34, :x:, :x:, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.33, :x:, :x:, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, FMP 3.5.32, :x:, :x:, :x:, :x:, :x:, :x:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, :heavy_check_mark:, ### 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.

Main metrics

Overview
Name With Ownerfabric8io/fabric8-maven-plugin
Primary LanguageJava
Program languageJava (Language Count: 3)
Platform
License:Apache License 2.0
所有者活动
Created At2016-04-05 12:05:45
Pushed At2024-06-19 04:52:55
Last Commit At2024-06-19 06:52:47
Release Count567
Last Release Namev4.4.2 (Posted on )
First Release Namev3.0.0-M1 (Posted on 2016-05-31 17:34:03)
用户参与
Stargazers Count333
Watchers Count27
Fork Count202
Commits Count2.4k
Has Issues Enabled
Issues Count754
Issue Open Count28
Pull Requests Count1006
Pull Requests Open Count13
Pull Requests Close Count74
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private