fabric8io/fabric8-maven-plugin


📢 This project is migrated to 👉 https://github.com/eclipse/jkube

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    
	dependencies {
		implementation 'com.github.fabric8io:fabric8-maven-plugin:4.4.2'
	}
	dependencies {
		implementation("com.github.fabric8io:fabric8-maven-plugin:4.4.2")
	}
	<dependency>
	    <groupId>com.github.fabric8io</groupId>
	    <artifactId>fabric8-maven-plugin</artifactId>
	    <version>4.4.2</version>
	</dependency>

                            
    libraryDependencies += "com.github.fabric8io" % "fabric8-maven-plugin" % "4.4.2"
        
        

                            
    :dependencies [[com.github.fabric8io/fabric8-maven-plugin "4.4.2"]]
        
        

Readme


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

<p align="center"> <a href="http://fabric8.io/"> <img src="https://github.com/fabric8io/fabric8/blob/048693944325e1a609599fceeadfe987e9cc53f8/docs/images/cover/cover_small.png" alt="fabric8 logo"/> </a> </p>

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.4.2 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | 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.4.2 | :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.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.