Ivy Projects are designed to be built on a continuous integration (CI) server like Jenkins.
Maven build plugin¶
The project-build-plugin is a Maven plugin that can build Ivy Projects on a developer machine or on a continuous integration server. The plugin provides the following main features:
Compilation of Ivy Projects
Testing of unit tests against an Ivy Project or the Ivy core classes
Packaging of built Ivy Projects as IAR (ivy archive) artifacts
Installation of IAR artifacts into the local Maven repository
Deployment of IAR artifacts to an Axon.ivy Engine
The Designer has a built in Maven runtime that allows to start Maven with zero initial configuration effort. A local maven build can be started as follows:
Switch to the Java perspective
Expand an Ivy Project in the Ivy Project Tree view
Open the context menu of the file
pom.xmlby right clicking it
Navigate to Run as > Maven install
Ivy Projects declare its ids and dependencies in the
Project Deployment Descriptor. This deployment descriptor
can be easily edited with the corresponding ivy editor and is stored as
Maven Project Object Model (
pom.xml). Therefore each Ivy Project has by
pom.xml which is needed by maven to build it.
However advanced Maven users can adjust this default configuration and use additional Maven plugins or dependencies in the pom.xml. But not all POM entries should be modified, some are required or limited in usage in Ivy Projects:
<version/>Must be set in every Ivy Project POM. It can not be inherited from a parent POM (even tough this is valid in plain Maven).
<packaging>iar</packaging>Provides the custom Ivy Project lifecycle, must not be modified.
<type>iar</type>will be manipulated by the Project Deployment Descriptor. Therefore additional configurations like the
<scope>could get lost trough the simple editor usage.
Values that can be manipulated with the simple Project Deployment Descriptor can not contain Maven properties. For instance
The version must be qualified like
<version>5.0.0-SNAPSHOT</version>.A version like
Continuous Integration Job with Jenkins¶
The following steps are needed to build an Ivy Project on a Jenkins CI server.
Install Jenkins as described in the Jenkins Wiki
Install a Maven runtime in Jenkins via Manage > Configure > Maven > Maven installation > Choose auto installation
Create a new Jenkins Job. Select Maven-Project as job style.
Provide a link to the source code of the Ivy Project in the
Configure the goals
clean verifyin the :guilabel:
Save the Job and Run it