Wednesday, 27 April 2016

CloudHub Continuous Integration

Introduction

 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 website}</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
4. Example:
1

The status can also be tracked from CloudHub console:
3
References
https://github.com/mulesoft/cloudhub-maven-plugin

No comments:

Post a Comment