Skip to content

Latest commit

 

History

History

openshift-maven-plugin

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

OpenShift Maven Plugin

Maven Central

Sample Demo

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>org.eclipse.jkube</groupId>
        <artifactId>openshift-maven-plugin</artifactId>
        <version>${jkube.openshift.version}</version>
      </plugin>
Goal Description
oc:resource Create Kubernetes resource descriptors
oc:build Build Docker images
oc:push Push Docker images to a registry
oc:deploy Deploy Kubernetes resource objects to a cluster
oc:helm Generate Helm charts for your application
oc:helm-push Push generated Helm Charts to remote repository
oc:remote-dev Run and debug code in your local machine while connected to services available in your 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 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 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