Deploy a Hippo CMS Project to the BloomReach Cloud with 1 Click or Less - BloomReach Experience - Open Source CMS
GatsbyJS and BloomReach CMS

September 21, 2018

January 7, 2014

April 30, 2018

Deploy a Hippo CMS Project to the BloomReach Cloud with 1 Click or Less LAB

Baris Can Vural Baris Can Vural is a Software Engineer at BloomReach. He holds an MSc in Computer Science and Engineering with a focus on Internet and Web Technologies. When he is not solving complex technical challenges you can find him at the gym or writing code for sideprojects. You can find his projects on his GitHub account.

 

How to Deploy a Simple Hippo CMS Project Through Jenkins Automation

 

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image5.png

 

Jenkins is a very popular automation server that is used for continuous integration and continuous delivery (CI/CD) pipelines. This lab post will serve as a guide on how to automate building a  typical Hippo CMS project and deploying it on the BloomReach Cloud / OnDemand 1 environment through Rundeck.

 

The typical steps

Hippo CMS developers usually take the following steps to deploy a version of the project using the OD1 environment:

 

  1. Run mvn clean verify && mvn -Pdist

  2. Use SFTP to send the distribution file over, where it is visible on the Rundeck website.

  3. Select the correct distribution and deploy it to the correct environment.

 

What we have

A Jenkins server

Code repository (GitHub) where our Hippo CMS project resides

Environment where we deploy using Rundeck

 

What we want

Build and deploy with 1 click or less. I will outline the steps required to trigger the build and deployment manually through the Jenkins UI, but triggering push/pull request events from GitHub to automatically trigger the whole build and deploy process is also possible.

 

Jenkins Requirements

Jenkins is all about the functionalities that installed plugins provide. If you are the one setting up the server, make sure you install the suggested plugins. The list of plugins you will need are:

 

Credential Configuration

Since we will be communicating with the Rundeck server, we are going to have to set up the credentials within Jenkins. This will allow us to use SFTP to transfer the distribution file without having to provide a password.

 

First, we go to the Credentials option on the left-hand panel of the Jenkins Homepage.

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image1.png

 

Configure the login credentials. This is for the SFTP command.

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image9.png

 

Next, we are going to configure the Rundeck plugin for Jenkins

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image3.png

 

Go to ‘Configure System’ and fill in the plugin configuration with your details:

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image8.png

 

In the actual build and deploy steps, we will refer to these configurations we just created. Let’s start by giving the project a name and showing the GitHub project URL:

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image7.png

 

A little further down the page, select the SSH configuration we configured earlier on:

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image2.png

 

Further down, we add the actual build script:

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image4.png

 

Lastly, a little below, we add the Rundeck plugin configuration:

https://documentation.bloomreach.com/binaries/ninecolumn/content/gallery/blog/image6.png

 

That’s it! Now the build job should fetch the code from GitHub, build it and deploy it through Rundeck!

Stay up to date

 

Join our community to stay up to date with the latest Hippo CMS developments. Get the latest information on our CMS updates, ask questions and meet fellow Hippo developers.

 

Subscribe Now