DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • Mule 4 Continuous Integration Using Azure DevOps
  • Mulesoft Cloudhub Deployment using Azure DevOps
  • Set Up a CI/CD Pipeline for An Angular 7 Application From Azure DevOps to AWS S3 - Part 2
  • Testing Serverless Functions

Trending

  • The Human Side of Logs: What Unstructured Data Is Trying to Tell You
  • 5 Subtle Indicators Your Development Environment Is Under Siege
  • The Cypress Edge: Next-Level Testing Strategies for React Developers
  • Event-Driven Architectures: Designing Scalable and Resilient Cloud Solutions
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. DevOps and CI/CD
  4. Deploying MuleSoft Using Azure DevOps

Deploying MuleSoft Using Azure DevOps

This article introduces Azure DevOps and provides a step-by-step guide on how to deploy MuleSoft with Azure DevOps.

By 
Gaurav Dhimate user avatar
Gaurav Dhimate
DZone Core CORE ·
Akshata Sawant user avatar
Akshata Sawant
·
Manoj Debnath user avatar
Manoj Debnath
·
Updated Feb. 26, 24 · Tutorial
Likes (7)
Comment
Save
Tweet
Share
36.2K Views

Join the DZone community and get the full member experience.

Join For Free

Continuous Integration and Continuous Delivery (CI/CD) have become common practices in developing high-quality applications because they promote scaling and shorten the time between coding and deployment.

Mulesoft is a popular integration platform that streamlines data integration across disparate systems. The predefined APIs have support for all types of applications where data can be unlocked between legacy systems, applications, and cloud devices. This highly networked MuleSoft Anypoint platform enables smarter and faster decision-making abilities in an organization. Azure DevOps, on the other hand, provides version control, reporting, requirements management, project management, automated builds, lab management, testing, and release management capabilities. In short, it covers the entire software development lifecycle and enables organizations to automate the software delivery process. The variety of services leverages the collaboration and development of any project.

By combining Azure DevOps with Mulesoft, organizations can leverage the CI/CD pipeline by streamlining the process of development and delivery. This not only increases the efficiency of the process but also considerably reduces risk due to error.


Azure CI/CD

Azure CI/CD

How to Deploy MuleSoft With Azure DevOps

Here we are going to see how to implement CI/CD pipeline for MuleSoft application using Azure DevOps.

Step 1: Mule-Maven Plugin Configuration

Make sure you have added the Mule-Maven plugin in your pom.xml. 

XML
 




x
39


 
1
<plugin>
2
  <groupId>org.mule.tools.maven</groupId>
3
  <artifactId>mule-maven-plugin</artifactId>
4
  <version>3.3.1</version>
5
  <extensions>true</extensions>
6
    <configuration>
7
        <cloudHubDeployment>
8
            <uri>https://anypoint.mulesoft.com</uri>
9
            <muleVersion>${app.runtime}</muleVersion>
10
            <username>${anypoint.username}</username>
11
            <password>${anypoint.password}</password>
12
            <businessGroup>${businessGroup}</businessGroup>
13
            <workers>${workers}</workers>
14
            <workerType>${workerType}</workerType>
15
            <region>us-west-1</region>
16
            <environment>${environment}</environment>
17
            <applicationName>${applicationName}</applicationName>
18
            <properties>
19
                <mule.env>${mule.env}</mule.env>
20
                <encrypt.key>${encrypt.key}</encrypt.key>                   <anypoint.platform.client_id>${anypoint.platform.client_id}     </anypoint.platform.client_id>      <anypoint.platform.client_secret>${anypoint.platform.client_secret}</anypoint.platform.client_secret>
21
                <api.id>${ilg.api.version}</api.id>
22
    <anypoint.platform.config.analytics.agent.enabled>true</anypoint.platform.config.analytics.agent.enabled>
23
            </properties>
24
        </cloudHubDeployment>
25
                    <executions>
26
                        <execution>
27
                            <id>deploy</id>
28
                            <goals>
29
                                <goal>deploy</goal>
30
                            </goals>
31
                            <configuration>
32
                                <classifier>mule-application</classifier>
33
                            </configuration>
34
                        </execution>
35
                    </executions>
36
                    
37
                            <classifier>mule-application</classifier>
38
                </configuration>
39
            </plugin>



The <cloudHubDeployment> tag of the Mule Maven plugin defines the attributes of your deployable. So, let's see what each of these properties tells us about the deployment onto CloudHub. 

  • uri: Mulesoft Anypoint platform URL
  • muleVersion: Mulesoft version to be used for deployment(e.g. 4.2.3).
  • username: Username for Anypoint platform
  • password: Password for Anypoint platform
  • businessGroup: Business group of the Anypoint platform under which you want to deploy your application
  • workers: The number of workers to be assigned to the application. This is used for horizontal scaling
  • workerType: The number of vCores to be assigned to the application. This is used for vertical scaling
  • region: Region to be used while deploying the application
  • environment: Environment onto which application needs to be deployed
  • applicationName: Application name to be deployed
  • properties: Provide here all the properties which are required by application at deployment time i.e. encryption key

Step 2: Create a New Pipeline

Log in to your Azure DevOps account. There are two ways to create a pipeline. First, you can go to the Pipelines tab and click a new pipeline.

Creating a new pipeline

Creating a new pipeline


Or, you can go to your repositories where you have your files and select the Build Pipeline option.

Build pipeline from repositories

Build pipeline from repositories


So, let's create it using the Create pipeline option. Go to Pipeline and Create Pipeline.

Creating pipeline

Creating pipeline


Step 3: Select Classic Editor

Now, select Classic Editor as it gives better customization.

Using classic editor

Using classic editor


Step 4: Select Source

You can select your source where your code is stored. In my case, it’s in Azure Repos. Further, select your Team Project, Repository and branch. Then, click continue.

Continue

Continue

Step 5: Select Maven Template

Now, Select the Maven template.

Maven template

Maven template


This is the default screen you’ll see.

Default screen

Default screen


I’ll be removing all the three steps created under the Agent job and customize it according to my requirements.

Customization

Customization


Step 6: Download Secure File

Firstly, I am adding “Download secure file.” I’ll be using it to download settings.xml.

Download secure file

Download secure file


But to download and use secure file in our pipeline, we need to store our file somewhere. In order to add settings.xml, go to Pipelines → Library → Secure files and add (+) Secure files. Then navigate to settings.xml:

Settings.xml

Settings.xml


Make sure your settings.xml has the below server and profile added under the respective tags.

XML
 




xxxxxxxxxx
1
27


 
1
<server>
2
    <id>Exchange2</id>
3
    <username>guest-mule</username>
4
    <password>Mulesoft1</password>
5
</server>
6

          
7
<profile>
8

          
9
        <id>Mule</id>
10
        <activation>
11
            <activeByDefault>true</activeByDefault>
12
        </activation>
13
        <repositories>
14
            <repository>
15
                <id>Exchange2</id>
16
                <name>Exchange2</name>
17
                <url>https://repository.mulesoft.org/nexus-ee/content/repositories/releases-ee/</url>
18
                <layout>default</layout>
19
                <releases>
20
                    <enabled>true</enabled>
21
                </releases>
22
                           <snapshots>
23
                    <enabled>true</enabled>
24
               </snapshots>
25
            </repository>
26
        </repositories>
27
 </profile>



Now the settings that we created need to be selected, as shown below.

Selecting settings

Selecting settings


Step 7: Create Reference Name

Now let’s create a reference name “mulesoftSettingsFile” for this settings file, which we will use later in maven goals. 

Creating reference name

Creating reference name


Step 8: Add Maven

Let’s add the next step in the Agent job, which will be Maven. 

Adding Maven

Adding Maven


In Options, we have given the secure settings file a reference name, which we created in the previous step.

Providing reference name

Providing reference name


Step 9: Add Variables

We require "username" and "password" for the Anypoint platform to be provided at build time, so lets create two variables for them and pass it into the Maven setup for deployment. 

Add variable

Add variable


Step 10: Save and Deploy

Now let’s add the final Step, which will be performed by our Agent. 

Package deploy

Package deploy


Now let's run the pipeline. We can either save the pipeline using "Save" or save it and run using the "Save and run" option.

Saving the pipeline

Saving the pipeline


Once the pipeline is executed, you will see the below screen.

Finalize job

Finalize job


And you will be able to see the application deployed onto CloudHub. We can add more steps into the CI/CD pipeline like code analysis, testing, and report generation. Thus, we have successfully created a CI/CD pipeline using Azure DevOps and deployed an application to CloudHub.

azure DevOps Pipeline (software) MuleSoft application Continuous Integration/Deployment

Opinions expressed by DZone contributors are their own.

Related

  • Mule 4 Continuous Integration Using Azure DevOps
  • Mulesoft Cloudhub Deployment using Azure DevOps
  • Set Up a CI/CD Pipeline for An Angular 7 Application From Azure DevOps to AWS S3 - Part 2
  • Testing Serverless Functions

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!