Blogs

"CloudHub" Continuous Integration

Written by Coforge-Salesforce BU | Jun 22, 2015 6:30:00 PM

In this post, we will learn more on the process of Mule deployment automation on to CloudHub. We will be using maven plugin named “cloudhub-maven-plugin”, to achieve the desired result. One may add this as a post build action, so that after every successful build the Mule application automatically gets deployed to the CloudHub and thereby maintain the desired environment(s) with latest code. Continuous integration facilities like Bamboo and Jenkins support maven deployments.

Prerequisites

The reader of this article is assumed to possess some basic knowledge of Maven.

Detailed Steps

1. Add the following plugin to the project’s pom.xml:

<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>cloudhub-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<muleVersion>${MULE VERSION}</muleVersion>
<!--Please note that the domain need not contain cloudhub.io.
So, if the domain is myapp.cloudhub.io, mention it as myapp-->
<domain>${YOUR DOMAIN}</domain>
</configuration>
<executions>
<execution>
<id>deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>

2. Add the following under project properties:

<!--Please note that the user name is actually a combination of
username and environment separated by @, eg. myuser@sandbox-->
<properties>
<cloudhub.username>${username}@${environment}</cloudhub.username>
<cloudhub.password>${password}</cloudhub.password>
</properties>

3. Usage:

$mvn cloudhub:deploy

(OR)

$mvn cloudhub:deploy -Dcloudhub.username=username
-Dcloudhub.password=password -Dcloudhub.domain=testdomain
-Dapplication=/path/to/app.zip -Dcloudhub.muleVersion=3.6.0

If you would like to find out more about how APIs could help you make the most out of your current infrastructure while enabling you to open your digital horizons, do give us a call at +44 (0)203 475 7980 or email us at Salesforce@coforge.com