https://github.com/jshiftio/openshift-maven-plugin
Maven plugin for getting your Java apps on to Openshift
https://github.com/jshiftio/openshift-maven-plugin
java maven-plugin openshift
Last synced: about 1 year ago
JSON representation
Maven plugin for getting your Java apps on to Openshift
- Host: GitHub
- URL: https://github.com/jshiftio/openshift-maven-plugin
- Owner: jshiftio
- License: apache-2.0
- Created: 2019-06-11T04:55:47.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-06-30T15:23:13.000Z (about 4 years ago)
- Last Synced: 2025-04-15T02:11:22.172Z (about 1 year ago)
- Topics: java, maven-plugin, openshift
- Language: Java
- Homepage: http://openshift.jshift.io/
- Size: 10.5 MB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
## Openshift Maven Plugin
> *Note: This repository has been moved to [Eclipse Jkube](https://github.com/eclipse/jkube/tree/master/openshift-maven-plugin). In case you want to contribute please send PRs to https://github.com/eclipse/jkube repo*.
[](https://circleci.com/gh/jshiftio/openshift-maven-plugin/tree/master)
[](https://search.maven.org/search?q=g:%22io.jshift%22%20AND%20a:%22oc-maven-plugin%22)
[](https://gitter.im/jshift-community/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[](https://sonarcloud.io/dashboard?id=jshiftio_openshift-maven-plugin)
[](https://sonarcloud.io/dashboard?id=jshiftio_openshift-maven-plugin)

### 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:
```
io.jshift
oc-maven-plugin
${jshift.openshift.version}
```
| Goal | Description |
| --------------------------------------------- | ------------------------------------- |
| [`oc:resource`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:resource) | Create OpenShift resource descriptors |
| [`oc:build`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:build) | Build Docker images |
| [`oc:push`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:push) | Push Docker images to a registry |
| [`oc:deploy`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8:deploy) | Deploy OpenShift resource objects to a cluster |
| [`oc:watch`](https://fabric8io.github.io/fabric8-maven-plugin/#fabric8: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*