Deploying Mule application to CloudHub via Jenkins pipeline
- October 30, 2020
Jenkins is a free and open source automation server. It helps automate the parts of software development related to building, testing and deploying, facilitating continuous integration and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
Following are the steps to Install Jenkins:
-
Download Jenkins Setup.
- Install plugins
- Unlock Jenkins
- Create Admin User
- Configure Jenkins URL and Jenkins is ready to use
Dashboard will be open. Go to Manage Jenkins > Global Tool Configuration > Add the JDK, Maven, and Git settings.
Deploying Mule application to CloudHub via Jenkins pipeline
Now, we’ll see how to deploy Mule API via pipeline to CloudHub.
Note: We'll use a script file (jenkinsfile.txt) from SCM and SCM is Git repository.
Step 1: Create a Mule project in Anypoint Studio.
Here is a simple API which has a transform message with sample payload.
Step 2: Add deployment Config in pom.xml.
Step 3: Add jenkinsfile.txt (script) in the project. There are three stages: Build, Test and Deploy. When the pipeline is built, these three stages will be executed one after another. Each stage has repository location followed by a maven command (for the operation to be executed).
Step 4: Add settings.xml in the project
Step 5: Commit the code to the repository. Here, we’ve used Git repo.
Now, go to Jenkins and configure the pipeline.
Step 1: Click on New Item
Step 2: Provide name to pipeline, then choose pipeline option and click ok.
Step 3: Configure the “Pipeline” section as shown below.
- Select "Pipeline script from SCM” from drop down list.
- Provide GIt repo’s details like URL and credentials.
- Provide branch name to be deployed.
- Provide script path.
Step 4: Build Pipeline
Step 5: Once you build the pipeline, the deployment will start. If something goes wrong, you can check logs to find its cause and work around it.
Step 6: Go to Anypoint platform and check the app. Hit the end point and review the logs.
Note
- To resolve error: 400 Bad Request: {“status”:400,”message”:”Object Store V1 is not supported for your org”} add <objectStoreV2>true</objectStoreV2> in deployment config.
- To resolve error 403 Forbidden: {“status”:403,”message”:”User unauthorized to access requested resource.”} try to change application name in deployment config to make it unique.
— By Nisha Kshirsagar