Deploying MuleSoft Application to Cloudhub 2.0 using Azure DevOps - Part 2
Tags: mulesoft, azuredevops, tutorial, devops
Published: 2023-03-15 07:45:27

This article is the continuation from [**Deploying MuleSoft Application to Cloudhub 2.0 using Azure DevOps - Part 1**](https://dev.to/brunosouzas/deploying-mulesoft-application-to-cloudhub-20-using-azure-devops-part-1-2h4d)
Now we talk about how to deploy a MuleSoft Application to Production environment with approvers.

Just to remember you, here is the deploy process

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bbadx8g41gc16ch906kr.png)

We did the steps to develop and now we will use the artifact created in develop step and deploy in production environment.
you will need to update the [devops-scripts](https://github.com/brunosouzas/devops-scripts.git) repository to have the scripts we will be using in the steps below.

**Import the Release Pipeline**

Navigate to Pipeline / Releases and click in Import release pipeline
The template is in your repository devops-scripts/common/template-release-pipeline.json to import
To reuse the template import and clone the pipeline to new projects.

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/btqjvhla39pfhjo7jopx.png)

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ksn7fw2r0ap049fvdf47.png)

Change the Release Pipeline Name to **hello-world**
Click in \_artifacts and delete
Add a new Artifacts like example below

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zkgrvkvygybeee8jo00v.png)

**Source Type: Build**
**Project:** Add the Azure Project when have the application repository
**Source (build pipeline):** Select the MuleSoft Application (hello-world)
**Default version:** Specify at the time of release creation
**Source Alias:** \_artifact

Click in \_develop-scripts and delete
Add a new Artifacts like example below

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lxp95oo1l9p1xy6xm4ay.png)

**Source Type: Azure Repository**
**Project:** Mulesoft-Project
**Source (repository):** devops-scripts
**Default branch:** main
**Default version:** Latest from the default branch
**Source Alias:** \_devops-scripts

Add Approvers to Deploy in Production

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f01z66tgjkkzy7ielgvo.png)

Click in the Task

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fkjx4y1lxbhje106ji0.png)

Click in Job to Select the Agent Pool (MacOS/Linux)

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uv0282za6pgeedy1absb.png)

Select the settings.xml

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s3b2bsojln61capdk811.png)

Link the variable groups

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vqprvqfelx301q3dxj1x.png)

**anypoint-platform-variables** : Scopes - Release
**anypoint-platform-\<ENVIRONMENT\>-variables** : Select the Scope to Specific Environment
**\<APPLICATION NAME\>** : Scopes – Release

Continue in Variables and let's create 2 variables

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sbmuuvlobvfiah73hzgz.png)

_Ps. You can add this variable in library but the idea is show the options to you learn and improve in your tests._

Now Click in Save and create release

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ki96874ui8ffl95r078h.png)

Choose the artifact that you have after deploy in develop (pipeline)

![Azure Devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h8ja4fvmtnrkfaqg5374.png)

## Config Slack/Teams to Azure DevOps
The notification doesn't in scripts, you need config your tools using the links below.

[Slack](https://learn.microsoft.com/en-us/azure/devops/pipelines/integrations/slack?view=azure-devops)
[Microsoft Teams](https://learn.microsoft.com/en-us/azure/devops/pipelines/integrations/microsoft-teams?view=azure-devops)

## Conclusion
We finished the deployment process with these two articles, I believe that now you can have a base to continue studying.

In the next article I'll talk about parent-pom and how to have specific properties in your project and deploy them without having to add them to the parent-pom.

**Reference:**
[Azure-DevOps](https://learn.microsoft.com/en-us/azure/devops/?view=azure-devops)
[Deploying MuleSoft Application to Cloudhub 2.0 using Azure DevOps - Part 1](https://dev.to/brunosouzas/deploying-mulesoft-application-to-cloudhub-20-using-azure-devops-part-1-2h4d)

**Code Source**
[devops-scripts](https://github.com/brunosouzas/devops-scripts)
[MuleSoft hello-world](https://github.com/brunosouzas/mulesoft-hello-world)