Introduction
This is a series of articles to get our hands dirty with Azure DevOps (previously known as VSTS). Along with that, understanding the basics of DevOps and Azure DevOps is important. Please refer to my article – “
Introduction To DevOps and Azure DevOps”.
It will cover the following things,
- What is Azure DevOps?
- What is Azure DevOps Services?
- What is Azure Pipelines?
Prerequisites
- Hands-on Lab - Open Azure Devops and Manage Code
- Hands-on Lab - Create a sample .NET Core app
What is Azure DevOps?
This tool from Microsoft gives us a perfect blend of multiple tools like Jenkins/TeamCity along with JIRA and GitHub
It takes care of the following things.
- Storing code in the repository like GitHub
- Creating a build pipeline
- Creating a release pipeline
- Managing the agile process like JIRA
- Seamless integration with VS and Azure
What is Azure DevOps Services?
It’s a suite of built-in services provided by Azure, these are,
- Azure Pipelines: Deploy anything in any language in minutes.
- Azure Repos: Private repositories.
- Azure Artifacts: A repository in Azure to upload our artifacts.
- Azure Boards: It provides agile planning boards like Kanban/Scrum.
- Azure Test Plans: Manual & Exploratory tools for testing.
Azure Pipelines provide a built-in feature which allows us to,
- Take the code from its repository
- Provision the required infrastructure via ARM in a Resource group
- Pre-built pipelines with Build/Release tasks ready to use
- Add monitoring via App Insights
What is Azure Pipeline?
It allows us to deploy App Services, Kubernetes, Serverless Functions as well and any other cloud provider like GCP or AWS anywhere.
The lifecycle begins with the build phase and during the execution, the code will typically go through -
- Build
- Run tests
- Upload the test results
- Publish built artifacts
Once the build is complete we need something to deploy, a tool. Azure Pipelines offer the release tool which can be triggered when a new artifact is published. The release tool can be triggered even from Jenkins or any other tool by using hooks.
The release phase will typically go through these steps:
- Check out the code
- Deploy the Infrastructure via ARM
- Download the artifacts
- Deploy
Prerequisites
These are pre-requisites to start working on Azure Devops,
- An Azure pay-as-you go account enabled
- A repository with the code expected to be deployed (optional - will demo it later as well)
- Add a custom Resource group project if you wish to provision additional infrastructure (optional - will demo it later as well)
Hands-on Lab - Open Azure DevOps and Manage Code
Steps to be followed -
- Open https://dev.azure.com/ and login using your Azure credentials.
- Create a project.
- Go to the repo section of the code.
- Clone the repo using git.
Hands-on Lab - Create a sample .NET Core app
Steps to be followed,
- Open VS 2017 and create a project.
- Choose ASP.NET Core template and create a directory.
- Choose a .NET Core MVC template.
- Once the application has been created, run the app.
- Add git, ignore file and push all the code into the repo using Git.
Stay tuned for the next series of articles which will take us to a deep dive into Azure DevOps.
Happy learning!