From the course: Azure DevOps: Continuous Delivery with YAML Pipelines

Azure Pipelines core concepts - Azure Tutorial

From the course: Azure DevOps: Continuous Delivery with YAML Pipelines

Start my 1-month free trial

Azure Pipelines core concepts

- [Narrator] Azure DevOps is the new name for a product that was introduced by Microsoft in 2005 called Team foundation services or TFS. Since it was introduced, it's evolved to be an online as well as an on-premises offering that provides a number of different services that you can use to improve the process of building software applications. Today, it includes a number of different services, including Azure Boards, which allow us to go out and manage the work of defining the requirements and the features and the backlog of tasks that your software teams use to work to deliver the application. It includes Azure Repos, which include Git and Team foundation version control. These allow us to store and manage our code and lets your team collaborate so that they can build complex branching and work with each other in great ways that is very productive. It also includes Azure Pipelines, which is an automation service that provides features to build tests and deploy our code into a variety of environments. Supports both graphically designed workflow as well as that is defined in code language called YAML, which is what this course is focused on. Azure Test Plans is a service that you can use to automate the testing of your code to make sure that it passes all the unit tests and is solid. It also includes Azure Artifacts, and this is a repository where we can store the artifacts or the output of our pipelines for future use. These products make up the Azure DevOps service and are available as part of a free and as paid subscriptions from Microsoft. You can use as many or as few of these products as you like, you might use all of them or even just one. Alternately, you can install a released version of these in your own data center and use the Azure DevOps server. In this course, we're focused on the Azure Pipelines. Azure DevOps Pipelines is an automation service. It provides the ability to trigger and execute a given workflow to be able to take code from a given repository and then execute it through a series of steps that compile it, prepare it, package it, and it delivers it into a number of different environments. It can run on hosted agents that Microsoft manages or you can create custom agents that you manage. These allow you to go out and deliver a consistent execution that builds your process into any environment that you go to. Azure Pipelines is an automation service that executes a series of tasks or steps that define the workflow. It then takes the output of that and it integrates it into multiple different kinds of control systems like Git or Bitbucket and even Azure DevOps. And you can use the repos or repositories from any of the commonly used available. One of the nice things is it also supports serial as well as parallel processing of the tasks that go out and do the work. And it can create some very complex workflows that define how your application should be built. The key concepts of Azure Pipelines start with a trigger that will run a series of different stages. Each of these different stages contain jobs that'll run on a given agent and then those agents are broken down into a series of steps or tasks, each of which then go and do a particular part of the deployment process. There's a number of different tasks that are built in including more than 50 that are available right in the product. But there's also a marketplace that you can use for extending just in case there isn't one that is built in. If it isn't in the marketplace, there are even extensions so you could write your own and then publish that to the marketplace and use it as well. The tools for working with these pipelines include a portal designer that we can use for creating classic pipelines. There's also a code editor for working with what's known as YAML pipelines. YAML pipelines is a new way that we can go out and define the workflow that allows us to create a code version of what that pipeline is and using the features of it, we can create some pretty elaborate processes. It's all about creating the pipeline as code, where we can then take those tasks defined as code and save it and manage it just like any other code file in our project.

Contents