Maven plugin for getting your Java apps on to Kubernetes and OpenShift
Java Groovy
Latest commit 830efaf Feb 20, 2017 @fusesource-ci fusesource-ci committed on GitHub Merge pull request #844 from fabric8io/versionUpdateed8efa17-edc4-449…
…7-8d47-9eb803c0abdd

PR merged! Thanks!

README.md

fabric8-maven-plugin

Maven Central Coverage Technical Debt Dependency Status

fabric8 logo

This Maven plugin is a one-stop-shop for building and deploying Java applications for Docker, Kubernetes and OpenShift.

What to get started fast? Check out the busy Java developers guide to developing microservices on Kubernetes and Docker.

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 agains a Docker daemon)
  • Various configuration styles:
    • Zero Config 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

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.