After last week’s post on Azure Pipelines: Release to Azure App Service I came across a much easier way to get started using Azure DevOps and Azure App Servies. This post is going to walk through this process which is started from the Azure Portal side instead of Azure DevOps.
The names here are going to be a bit confusing. When I say Azure DevOps I am talking about the rebrand of Visual Studio Team Services which includes services for boards, repos, pipeline, etc. When I say Azure DevOps Project, or just DevOps Project, I am referring to the project type this post is going to be using from the Azure Portal side.
Create DevOps Project
From the Azure Portal click the Create a resource button.
For me, DevOps Project was in the list of popular items. If you don’t see it list you can use the search at the top to find it. Click on the DevOps Project to start the process.
On the next page, you have options to start a new application with a lot of different languages or to deploy an existing application. For this example, we are going to select .NET and click the Next button. This screen is a great example of how Microsoft is working hard to support more than just .NET.
For .NET the next choice is ASP.NET or ASP.NET Core. No surprise I’m sure that we are going to go with ASP.NET Core. There is also an option for adding a database, but we aren’t going to use it for this example. Click Next to continue.
The next step is to select which Azure Service the new application should run on. We are going to use a Linux Web App to match what last week’s sample was running on. Click Next to continue.
There are quite a few settings on this next screen, but they are all pretty clear. The first group of settings is for the Azure DevOps project and you can either use an existing account or the process will create one for you. A Project name is required.
The next group of settings is for the Azure App Service that will be created. Subscription should default in if you only have one. Web app name is going to control the URL Azure provides as well as play in the naming of the resources that are created. Click Done to start the creation process.
Deployment
After clicking down above the deployment of all the need resources will start. This process takes awhile. The portal will redirect you to a status page similar to the following while deployment is in progress. It took a little over 4 minutes for mine to complete.
When the deployment is complete click the Go to resource button.
Results
The Overview page for the project gives a great summary of the whole CI/CD pipeline that was created with links to the associated Azure DevOps pages to manage each step. The Azure resources section will have the URL you can use to access the running application.
The resulting application should look similar to the following.
Wrapping Up
This process is a much easier way to get started if you are going all in with Azure. If you read last week’s post you know there is a lot that goes into creating something close to this setup manually and even then it was missing the nice overview provided by this setup.
Also published on Medium.
What CI/CD solution exist for traditional winclient line of business apps?
Azure Pipelines work fine with desktop apps. The build pipeline will be pretty similar to what is needed for a web app. The release pipeline is where you might have to make a lot of adjustments to how your particular application needs to be released/deployed.
Awesome, are there examples or tutorials already?
I don’t have any currently.
“Azure DevOps” as a service/product brand is what happens when a an engineering product team doesn’t use its marketing team. Horrible choice that will have long term market/business/sales friction implications.
The name is a bit narrow for what the product has to offer, but it is a great offering. Hopefully, the name won’t get in the way.
It’s 3:30 am and I’m headed in just to try this. :) thank you.
That is awesome! You will be amazed at how easy Microsoft has made this process.
So you think my custom. Electron (node js) kiosk app will integrate right in? Man I’m pumped about that.
I think you will be able to get it working, but that one may be more challenging than my example.
Well we will see. Electron framework is just node.js but I want to deliver it to InTune so it can be pushed to windows devices. I will report back!
Looking forward to hearing how it goes.