Continuous Integration and Continuous Delivery in Mule ESB (CloudHub)
See how continuous integration and delivery with CloudHub can solve some of the traditional inconsistencies between development and operations.
Join the DZone community and get the full member experience.
Join For FreeIn an automated deployment pipeline, DevOps initiates the creation of an automated deployment model pipeline in order to allow for a frictionless deployment in the development lifecycle.
DevOps principle and approach:
Eliminate mistakes.
Build quality in.
Create knowledge.
Defer commitment.
Deliver fast.
Tools used: GitHub, Maven, and Jenkins
Runtime: CloudHub (Anypoint)
Traditional Software Development Lifecycle Challenges
Deployment Approach
Without: The operations team deploys it, but with the possibility that whatever was working in the development environment will not work in the production environment. The response from the development team is usually, “It works just fine in development.” The reason for the failure is that these two environments are different or are not periodically synchronized.
With: Creates production-like systems for development and testing environment. Deployments need to iterative and frequent. Ensure a reliable and repeatable process.
Development Approach
Without: The development team is mostly not able to come to a solution until integration and development are completed and the system is tested.
With: Developers get faster feedback from users with more frequent releases and live testing of ideas.
DevOps Benefits
Building the right product: Developers get faster feedback from users with more frequent releases and live testing of ideas (A/B testing).
Cost reduction: Reduces repetitive work for technical resources.
Improved productivity: With continuous delivery, developers and testers save time setting up and fixing their working environments. Also, deployments are significantly faster.
Reliable releases: With smaller and more frequent releases, the changes in code — and therefore the bugs introduced and their impact — are also smaller.
Improved product quality: Companies report a very significant reduction in open bugs and other issues (in some cases, by more than 90%).
Improved customer satisfaction: This is, not surprisingly, a by-product of all of the previous improvements.
Follows Agile methodology: Culture, continuous delivery, and integration.
Our CloudHub CI/CD Approach
Continuous Delivery
We are able to achieve this using Maven. With the help of Maven during development, the system was tested to verify that none of the previously working functionality was broken.
Maven Configuration for CloudHub:
This is the CloudHub configuration in the pom.xml file (all configuration should be same as in CloudHub).
Continuous Integration:
Jenkins deployment:
Successful build and deployment on CloudHub using Jenkins:
Refer to the below URL to see more details for the code and steps:
Opinions expressed by DZone contributors are their own.
Comments