Openshift Maven Plugin
Note: This repository has been moved to Eclipse Jkube. In case you want to contribute please send PRs to https://github.com/eclipse/jkube repo.
Introduction
This Maven plugin is a one-stop-shop for building and deploying Java applications for OpenShift. It brings your Java applications on to OpenShift. It provides a tight integration into maven and benefits from the build configuration already provided. It focuses on three tasks:
- Building S2I images
- Creating OpenShift resources
- Deploy application on OpenShift
Usage
To enable Openshift maven plugin on your project just add this to the plugins sections of your pom.xml:
<plugin>
<groupId>io.jshift</groupId>
<artifactId>oc-maven-plugin</artifactId>
<version>${jshift.openshift.version}</version>
</plugin>
Goal | Description |
---|---|
oc:resource |
Create OpenShift resource descriptors |
oc:build |
Build Docker images |
oc:push |
Push Docker images to a registry |
oc:deploy |
Deploy OpenShift resource objects to a cluster |
oc:watch |
Watch for doing rebuilds and restarts |
Features
- Dealing with S2I images and hence inherits its flexible and powerful configuration.
- Supports both 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 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 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