Add an existing project to the newly created GIT repo from Visual Studio
I have an existing ASP.NET Core API project on my local machine which I’m going to publish to VSTS GIT.
Open the existing project in VS. Go to File-> Open.
This project consists of a GET RESTFull service which will give you the list of technologies, as shown in below figure.
In the right bottom of Visual Studio, you can find "Add to Source Control" or else do File->Add to Source Control, as shown in the below figure.
The team explorer window will be opened with two options,
- Push to Visual Studio Team Service and
- Push to Remote Repository, (We already created a GIT repo in TFS so we can do push to remote repository).
Click on "Publish Git Repo".
Give your remote GIT url and click on Publish.
After successfull publishing and syncing, you can find the published files in respective project page of VSTS.
Configure a build in VSTS
Open the newly created repository in VSTS. Go to build page and click "Add New Definition".
A window will be opened as shown in the below figure.
A new create build definition window will be opened with some list of predefined templates. Since we are working on an ASP.NET CORE API site, I’m going to select an Empty Template. Click on "Next" to change the settings.
Choose the respective project and click on "Create". The new build definition will be opened as shown in below figure.
Now we need to add some utility to build our application. Click on "Add build" to add the utilities; In our case, we need to add four utilities to build our ASP.NET Core application.
Step 1
Restore NuGet packages.
Tool - dotnet
Argument - Restore
Working folder - Choose the folder where the .csproj file present for Visual Studio 2017 will be stored or choose a folder where the project.json is available in case of Visual Studio 2015.
Step 2
Build the ASP.NET CORE project and publish the output.
Tool - dotnet
Arguments - publish -c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory)
Working folder - Choose the folder where the .csproj file is present for Visual Studio 2017 or choose a folder where the project.json is available in case of Visual Studio 2015
Step 3
Archive the output into a web deploy package.
Root folder to archive - $(Build.ArtifactStagingDirectory)
Prefix root folder name to archive paths - Unchecked
Archive type - zip
Artifact file to create - $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
Once the build steps are completed, we need to setup the variables and default queue agent.
Click on variables from the build definition menu, and add a new variable which is listed below.
Variables
- BuildConfiguration - release
- BuildPlatform - any cpu
Next, we need to change the default queue agent from general setting.
In my case, I used Visual Studio 2017 for creating an ASP.NET Core application. So, my default queue agent will be hosted on VS2017.
We are done with build definition settings. Click on Save button to save our build definition.
Create a Web App in Azure for deployment
Log into your Azure portal. Quickly create a new web app ( New -> Web+Mobile -> Web app) as shown in below figure.
To learn more about Azure App Services, click
here,
http://myaspnetcoreapp.azurewebsites.net/ is the URL generated from the newly created web app.
Configure a Release in VSTS
Go to newly created GIT repo page. Select "Release" from build & release menu. The release page will be opened as shown in the below figure,
Click on "New definition".
The create release definition window will be opened with a list of deployment templates. Let's select Azure App Service Deployment and click Next.
Choose the respective project and build definition; then check on continous deployment; click on create to open the release definition page as shown in below figure.
VSTS will bring your Azure subscriptions automatically based on login. We just need to select the respective subscription. Click on "Authorize" and it will do an authorization process to get the app service name.
I haven't created any deployment slot so I will skip it in settings, finally give your URL in APP service URL and click on Save
Get back to code and let's add one more techology in our technologyList, to check the work flow of continous Integration once the commit and sync is done from visual studio
Change the code, as shown in below figure.
Build Status in VSTS
Release Status
Test the updated response for the request
http://myaspnetcoreapp.azurewebsites.net//api/Technologies/TechnologiesList
Summary
We have learned how to create a build and release definition for the ASP.NET Core application with Azure App Service for the deployment in VSTS and implemented the continous integration.
Reference
https://www.visualstudio.com/en-us/docs/build/apps/aspnet/ci/build-aspnet-core I hope you have enjoyed this article. Your valuable feedback, questions, or comments about this article are always welcome.