The image includes S2I scripts and maven. Maven is currently only supported as a build tool for applications that are supposed to be deployed on JBoss EAP-based containers (or related/descendant images) on OpenShift. Only WAR deployments are supported at this time. ==== Custom configuration It is possible to add custom configuration files for the image. All files put into configuration/ directory will be copied into `$JBOSS_HOME/standalone/configuration/`. For example to override the default configuration used in the image, just add a custom standalone-openshift.xml into the configuration/ directory. https://github.com/goldmann/openshift-eap-examples/tree/master/custom-configuration[See example] for such deployment. ===== Custom modules It is possible to add custom modules. All files from the modules/Â directory will be copied into `$JBOSS_HOME/modules/`. https://github.com/goldmann/openshift-eap-examples/tree/master/custom-module[See example] for such deployment. ==== Deployment Artifacts By default, artifacts from the source `target` directory will be deployed. To deploy from different directories set the ARTIFACT_DIR environment variable in the BuildConfig definition. ARTIFACT_DIR is a comma-delimited list. For example: ARTIFACT_DIR=app1/target,app2/target,app3/target ==== Artifact Repository Mirrors // Define required 'bcname' attribute for maven_mirror_url.adoc page :bcname: eap // Include the Artifact Repository Mirros section // (MAVEN_MIRROR_URL variable usage information) include::maven_mirror_url.adoc[bcname] ==== Scripts `run`:: runs the container without any changes to the default configuration, this means that the standalone-ha.xml configuration will be used. `assemble`:: uses Maven to build the source, create a package (war) and move it to the `$JBOSS_HOME/standalone/deployments` directory. ==== Environment variables You can influence the way the build is executed by supplying environment variables to the `s2i build` command. See the link:https://github.com/openshift/source-to-image/blob/master/docs/cli.md[s2i docs] for more information. The environment variables that can be supplied are: |=== |Variable name |Description |Example value include::common_s2i_env_vars.adoc[] |*_APP_DATADIR_* | If defined, directory in the source from where data files are copied. |*_mydata_* |*_DATA_DIR_* | Directory in the image where data from `$APP_DATADIR` will be copied. |*_$JBOSS_HOME/data_* |=== ==== Example This example for the JBoss EAP 6.4 image builds the Heroku Java example ---- s2i build -e "MAVEN_ARGS=clean package" --loglevel=5 --forcePull=false https://github.com/heroku/java-sample.git ce-registry.usersys.redhat.com/jboss-eap-6/eap-openshift:6.4 test-jee-app ---- Later you can run the application with: ---- docker run -it --rm test-jee-app ---- This will run a container and deploy the hello world application on start-up.