What is CI/CD?
Continuous integration (CI) and continuous delivery (CD) embody a culture, set of operating principles, and collection of practices that enable application development teams to deliver code changes more frequently and reliably. The implementation is also known as the CI/CD pipeline.
Azure Pipeline for DevOps
Azure Pipelines is a continuous delivery tool, designed to build code in popular languages, test them, and then deliver them to your choice of endpoint. Like other CI/CD systems, it’s also extensible, with a library of tasks and extensions to add support for test tools and for integration with your devops tool chain.
DotVVM CI/CD Pipeline
In this article we will go through steps required to enable CI/CD to your DotVVM web application.
To keep it short and focus on CI/CD pipeline we will not show the steps required to create DevOps project on Azure DevOps. If you want to know more you can try this Lab.
-
Go to devops.azure.com and login.
-
Open your devops project and go to Pipelines then click on Create Pipeline
-
Select where to connect to get your code. Here I host my DotVVM application on Azrue Repos Git.
-
Azure displays all available repositories in the selected host. Select your DotVVM repository.
-
Once you select your target repository, Azure pipeline will go to configure your pipeline step where you select your application type. If the target application type is not listed click in show more button.
For your DotVVM application you can select ASP.NET Core (.Net Framework)
-
In the review step, Azure displays your pipeline in YAML format. You can edit if you want manually or click on show assistant in upper right corner to select the tasks you want to to add to your pipeline.
-
From task list, select .Net Core task to publish your DotVVM web application.
Command : publish
Publish web project : checked
Zip published projects : checked
Add project's folder name to publish path : checked
-
From Task list select Azure App Service Deploy task to deploy your DotVVM to azure app service with the following configuration:
Connection Type - Azure Resource Manager
Azure subscription - select one from your available subscriptions
App Service type - Web App on Windows
App Service name - select your target App service from App services available in selected subscription. If the list is empty you have to create App service first before creating your pipeline.
Then click Add button to add this task to your pipeline.
-
Click Save and run to save your pipeline for future updates and run it immediately. If you don't want to run it, just click on down arrow and click save.
-
Azure will commit this pipeline to your master branch or you can create a separate branch for this commit.
Now your pipeline is configured and ready to run and deploy your DotVVM application to target Azure App service. After each push you do to the master branch of your repository your Azure pipeline will be triggered and deploy a new version of your DotVVM application .
Summary
In this article we showed a simple way to configure an Azure Pipeline to enable CI/CD for your DotVVM application to be deployed to a specified Azure App Service.