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
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>openshift-maven-plugin</artifactId>
<version>${jshift.openshift.version}</version>
</plugin>
Goal | Description |
---|---|
openshift:resource |
Create OpenShift resource descriptors |
openshift:build |
Build Docker images |
openshift:push |
Push Docker images to a registry |
openshift:deploy |
Deploy OpenShift resource objects to a cluster |
openshift:watch |
Watch for doing rebuilds and restarts |
- 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