CI/CD for MuleSoft deployments

16.04.2019

Applying a CI/CD approach in developing code for MuleSoft environments brings 2x faster deployment times and better code quality. Let's start by quickly explaining what is CI/CD.

Simply put, CI/CD is an automated process for building, testing and deploying code:

Continuous Integration (CI): is a development practice where developers integrate code into a shared repository frequently, preferably several times a day. Each integration is verified by an automated build and automated unit testing.

Continuous Delivery (CD): is the ability to get changes (Features, Configuration changes, Bug fixes, Experiments) into production or into the hands of users safely and quickly in a sustainable way.  

Why adopt a CI/CD approach

CI/CD is applied during deployment and maintenance to optimise the process of code development and deployment to address delays and errors caused by more traditional approaches that involved a lot of manual work performed in isolation:

  • Testing and deployment are isolated activities performed after design-build.
  • More time consumed for the build cycles.
  • Team members spend a significant amount of time in designing, testing and deploying.
  • Manual code deployment leads to human errors in production.
  • Code Analysis and Quality Checks become tedious tasks.

What are the benefits

Working extensively within numerous MuleSoft Anypoint Platform environments and projects we have adopted a CI/CD approach quite early in the game. The benefits we have seen are significant both for the development teams and the end users, with improvements in effort, time and code quality being the most substantial:

  • The time from deciding that we need to make a change to have it in production is called "Cycle Time". This is a vital metric for any project.
  • Lower risk: The introduction of automated processes reduces manual involvement and consequently human error.
  • Faster releases: automation and smaller increments of change allow code to be released much faster.
  • Improved testability: CI/CD enables smaller, specific changes to the code making testing much more effective.
  • Shorter mean time to repair (MTTR): time spent on identifying, investigating and fixing errors is significantly reduced
  • Improved usability: end-user involvement and feedback during continuous development leads to usability improvements

The compound effect of adopting a CI/CD approach is that teams have more time to focus on new work because they have fewer late-cycle defects taking up their time.

How to create a CI/CD solution

There are plenty of open source tools that can be used in a production environment for Anypoint Platform. We have found the following to be the most effective for ours:

unnamed

 

If you would like to find out more about how CI/CD could help you automate process building, testing and deploying code, do give us a call at +44 (0)203 475 7980 or email us at marketing@whishworks.com

Other useful links:

API reusability – why does it matter?

API recipes with MuleSoft Anypoint Platform

Customer success stories

Recent Posts