loading...
DotVVM

Build Azure Pipeline to your DotVVM application

miroprocessor profile image Amir Ismail ・3 min read

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.
src : https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html

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 tool and for integration with your devops tool chain.
src : https://www.infoworld.com/article/3305845/how-to-work-with-azure-pipelines-for-devops.html.

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 steps required to create DevOps project on Azure DevOps. If you want to know more you can try this Lab.

  1. Go to devops.azure.com and login.

  2. Open your devops project and go to Pipelines then click on Create Pipeline

  3. Select where to connect to get your code. Here I host my DotVVM application on Azrue Repos Git.
    enter image description here

  4. Azure displays all available repositories in selected host. Select your DotVVM repository.

  5. 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)

    enter image description here

  6. In 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.
    enter image description here

  7. 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
    enter image description here

  8. 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. enter image description here Then click Add button to add this task to your pipeline.
  9. 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.
    enter image description here

  10. Azure will commit this pipeline to your master branch or you can create a separate branch for this commit.
    enter image description here

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 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.

Posted on May 25 by:

miroprocessor profile

Amir Ismail

@miroprocessor

.Net Team Leader | Passionate about software development | Co-Organizer in Azure Egypt & Azure Kuwait Meetup groups | DotVVM Developer Advocate

DotVVM

DotVVM is an open source ASP.NET framework that lets you build line-of-business applications and SPAs without writing tons of JavaScript code.

Discussion

markdown guide