XL Deploy Plugin

The XL Deploy Maven plugin is used to deploy a deployment package to a single environment.

Deployment is the series of activities needed to make an application available to end users. This includes the full scope of deployment activities: removing the old software packages, installing the new software packages, updating the data source(s), modifying firewall settings, reconfiguring the web server, and restarting all services involved. That is, deployment is everything needed to ensure that if a developer, tester, or end user opens a browser and enters www.my-application.com, it will show the application up and running, fully functional with live data.

This plugin is useful for performing integration tests for other Maven plugins.

IMPORTANT: As of version 5.0.0, the plugin groupId is com.xebialabs.xldeploy and the plugin artifactId is xldeploy-maven-plugin. Please replace com.xebialabs.deployit with com.xebialabs.xldeploy and maven-deployit-plugin with xldeploy-maven-plugin in pom.xml files. Also, the plugin prefix has changed from deployit to xldeploy.

IMPORTANT: Since version 4.0.0, this plugin requires Java 7.

Goals Overview

The plugin has four goals meant to participate in the default build lifecycle:

Usage

General instructions on how to use the plugin can be found on the usage page. Some specific use cases are described in the examples below.

If you have questions about using the plugin, please refer to the FAQ.

You can submit a feature request or bug report in our issue tracker. When creating a new issue, please provide a comprehensive description of your concern. It is crucial that the developers can reproduce problems when fixing bugs. For this reason, entire debug logs, POMs, or preferably small demo projects attached to the issue are very much appreciated. Contributors can check out the project from our source repository.

Deployable formats

The Maven plugin allows you to specify deployables in two formats.

New format:

 <deployables>
    <file.Folder name="configuration" location="config"/>
 </deployables>

Legacy format:

 <deployables>
    <deployable>
        <name>configuration</name>
        <type>file.Folder</type>
        <location>config</location>
    </deployable>
 </deployables>

The new format is similar to the content of a deployit-manifest.xml file as generated by XL Deploy. It supports features that the legacy format does not. For new packages, it is recommended that you use the new format.

The legacy format has limited features and is no longer updated or improved.

While deployables defined in this way have properties that can be found on related types, there are some properties that are specific to the Maven plugin. Location is one such property; it is used to specify location of artifacts in the Maven project.

Examples

The following sample configurations show selected use cases in more detail: