Azure DevOps is a tool for planning, auditing, code versioning, code integrating, testing, artifact storing, and deploying. It is the primary tool for continuous integration and deployment. This course will focus on the most important parts of Azure Pipelines in implementing an end-to-end continuous integration strategy.
Build triggers are essential for automated code processing and will reduce the workload of any team governing the process. You will learn which build triggers exist, why you may want to use them, and a strategy for implementing them.
Hybrid builds allow for flexibility in workflow, security, and processes by integrating builds from more than one pipeline or tool.
Parallel builds will speed up processing of the workflow where it makes sense to do so. You will learn how to use parallel or multi-agent builds, when to use them, and what their benefits are.
Azure DevOps is but one tool in the CI ecosystem. This course will also touch upon other build tools as well as recommendations for their use and integration into your workflow.
To round out the course, we will set up a completely automated continuous integration (CI) workflow that will provide a foundation for a secure, repeatable, auditable, and complete CI solution for your projects.
Learning Objectives
- Maximize automation strategy with build triggers
- Understand hybrid build concepts
- Speed up pipelines with parallel builds
- Learn about build tools and Azure integration
Intended Audience
- Anyone wanting to learn the continuous integration material for Microsoft's AZ-400 exam
Prerequisites
- A basic understanding of workflow and the CI build pipeline process
- A good understanding of the development lifecycle
- It would be advantageous to have a basic understanding of YAML, although it's not required
Resources
The GitHub repository for this course is at https://github.com/cloudacademy/azure-continuous-integration-build.
In this section, we will take a look at some popular build tools and then some recommendations on how to choose a build tool.
Build tools are invaluable when it comes to automating repeatable processes associated with a continuous integration. There are several options to choose from and the number of options is increasing.
The first question that may come to mind is what is the best build tool? That depends a lot on the use case and preference. No build tool is perfect but considering the tools that check off the majority of your criteria is a good place to start. Perhaps the most defining characteristic of a build tool is whether it is entirely cloud-based or can be hosted on-premise.
Let's take a quick look at some of the more popular build tools out there today.
Jenkins has been around a long time and offers the ability to run the tool just about anywhere even as a docker container on your local system as we'll see later. Jenkins has a portal base interface and has the option of using declarative style or pile-on definitions via Groovy.
Bamboo is an Atlassian product which is a paid platform. It has good integration with some of their other popular tools, Jira and Bitbucket.
Circle CI offers options between a cloud-based platform or on-premise and has good support.
Drone is a relatively new tool with some innovative features such as easy plugins.
Azure DevOps is truly an end-to-end dev ops tool. It also provides a lot of integration with Azure services as well as planning and testing frameworks.
There are many more build tools out there. I urge you to explore and see what works best for your use cases.
Let's go over some guidelines that may help you pick a build tool.
When it comes to build tools, like most things, it isn't necessarily all about the tool but also about what else these tools have to offer. Take into consideration the peripheral features of the tool.
Do you need a build tool that is quick to learn so that other teams can come up to speed quickly? Or do you need something that is more robust with plenty of options and flexibility at the expense of a greater time investment?
Also consider professional support. It may be well worth the investment.
There are many cloud-based CI tools but if you need something that works on-premise then make sure to factor that in.
Greenfield DevOps or revamping may be a good time to consider a tool with top planning integration.
It may also be beneficial to consider the monetary investment or at least try a tool for free in order to make a better-informed choice.
Whatever the case, it's up to you to determine the requirements and find a tool that satisfies as many of those as possible.
Lectures
Cory W. Cordell is an accomplished DevOps Architect, Software Engineer, and author. He started his DevOps career as a DevOps Engineer for a large bank where he helped implement DevOps practices and tooling and establish a DevOps culture.
Cory then accepted a position with a global firm to build a DevOps department. He led a team of DevOps Engineers to establish best practices and train development teams on tooling and those practices. He worked to help development teams migrate their applications to Azure Kubernetes Service and establish pipelines to build, test, and deploy code. Realizing that a substantial gap existed in the toolchain, he developed an application to aid in infrastructure tracking and to provide UI abilities for teams to view application status for their software.
Cory is now enjoying working as a contractor and author.