Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Azure DevOps Explained

You're reading from  Azure DevOps Explained

Product type Book
Published in Dec 2020
Publisher Packt
ISBN-13 9781800563513
Pages 438 pages
Edition 1st Edition
Languages
Concepts
Authors (3):
Sjoukje Zaal Sjoukje Zaal
Profile icon Sjoukje Zaal
Stefano Demiliani Stefano Demiliani
Profile icon Stefano Demiliani
Amit Malik Amit Malik
Profile icon Amit Malik
View More author details

Table of Contents (17) Chapters

Preface 1. Section 1: DevOps Principles and Azure DevOps Project Management
2. Chapter 1: Azure DevOps Overview 3. Chapter 2: Managing Projects with Azure DevOps Boards 4. Section 2: Source Code and Builds
5. Chapter 3: Source Control Management with Azure DevOps 6. Chapter 4: Understanding Azure DevOps Pipelines 7. Chapter 5: Running Quality Tests in a Build Pipeline 8. Chapter 6: Hosting Your Own Azure Pipeline Agent 9. Section 3: Artifacts and Deployments
10. Chapter 7: Using Artifacts with Azure DevOps 11. Chapter 8: Deploying Applications with Azure DevOps 12. Section 4: Advanced Features of Azure DevOps
13. Chapter 9: Integrating Azure DevOps with GitHub 14. Chapter 10: Using Test Plans with Azure DevOps 15. Chapter 11: Real-World CI/CD Scenarios with Azure DevOps 16. Other Books You May Enjoy

Chapter 9: Integrating Azure DevOps with GitHub

GitHub is one of the most popular development platforms that's used by open source developers and businesses across the globe to store their code. In this chapter, you will learn how to leverage Azure DevOp's capabilities while you continue to use GitHub as your software development hub.

We'll be covering the following topics:

  • An overview of Azure DevOps and GitHub integration
  • Integrating Azure Pipelines with GitHub
  • Integrating Azure Boards with GitHub
  • Overview of GitHub Actions

Technical requirements

To follow this chapter, you need to have an active Azure DevOps organization and a GitHub account. You can sign up for a GitHub account here: https://github.com/join.

Let's get this chapter's prerequisites ready. This chapter requires that you have the Parts Unlimited GitHub repository cloned to your GitHub account. You will also need an Azure DevOps project to follow the examples in this chapter. Follow these steps before moving on to the next section:

  1. Launch a browser instance and go to https://github.com/microsoft/PartsUnlimitedE2E.
  2. Click Fork, as shown in the following screenshot:

    Figure 9.1 – GitHub repository for Parts Unlimited

  3. GitHub should prompt you to log into your account if you're not logged in already. Select the account you wish to clone the repository to.
  4. This will take a couple of minutes to complete. You should see the repository in your account upon completion.
  5. We will be using this repository...

An overview of Azure DevOps and GitHub integration

GitHub and Azure DevOps go hand in hand to provide a superior software development experience for teams, enabling them to ship and release software at a faster pace with minimal effort. In many scenarios, GitHub and Azure DevOps are competitors (for example, Azure Repos versus GitHub repositories), so it is typically up to you to choose the one that fits your needs and integrate them together for a wholesome platform setup.

Azure DevOps provides various RBAC levels, native enterprise identity integration, and so on, whereas GitHub enables simple collaboration across identities (while including AD integration in its Enterprise version).

When it comes to Continuous Integration/Continuous Development, Azure DevOps is way ahead and has matured compared to its counterpart, GitHub Actions. So, overall, it depends on your use case and requirements whether you choose Azure DevOps and/or GitHub for specific components in your software...

Integrating Azure Pipelines with GitHub

Integrating Azure Pipelines with GitHub enables developers to continue using GitHub as their preferred source control management platform while leveraging Azure Pipelines' build and release capabilities. Azure Pipelines offers unlimited pipeline job minutes for open source projects.

We looked at Azure Pipelines in detail previously in this book, so in this section, we'll take a look at how to store our Azure Pipelines configuration and source code in GitHub and build a CI/CD process with GitHub and Azure DevOps.

Setting up Azure Pipelines and GitHub integration

In order to use Azure Pipelines with GitHub, you must authorize Azure Pipelines to access your GitHub repositories. Let's take a look at the steps for this:

  1. Log into your Azure DevOps account and select the project we created in the Technical requirements section.
  2. Click on Pipelines > Create Pipeline:

    Figure 9.5 – Create Pipeline

  3. Select...

Integrating Azure Boards with GitHub

Azure Boards is the best place to plan and track your work items. Integrating Azure Boards with GitHub allows you to keep using Azure Boards as your planning and managing platform while you continue using GitHub as your source control management platform.

By integrating Azure Boards with GitHub, you can link objects from Azure Boards to GitHub. A few examples are as follows:

  • Work item and Git commit/issue/pull request linking means you can link your work items to the corresponding work being done in GitHub.
  • You can update your work item's status from GitHub itself.
  • Overall, integration allows us to track and link the deliverable across the two platforms easily.

Now, let's set up our Azure Boards integration.

Setting up Azure Boards and GitHub integration

Azure Boards is another extension available in GitHub Marketplace. You can configure the integration from both Azure DevOps and GitHub Marketplace.

...

Overview of GitHub Actions

GitHub Actions is a CI/CD service from GitHub that's used to build and release applications being developed in GitHub repositories. Essentially, GitHub Actions is similar to Azure Pipelines, where you can set up your build and release pipelines to automate the entire software development life cycle.

GitHub Actions was launched in early 2019 to provide a simple DevOps experience built into GitHub itself. GitHub Actions includes enterprise-grade features, such as support for any language with built-in, self-hosted agents for various OSes and container images.

It includes various pre-built workflow templates built by the community, which can make it easier for you to build your DevOps pipeline.

It is outside the scope of this book to talk about GitHub Actions in detail, but you can refer to the GitHub Actions documentation at https://github.com/features/actions to get started.

Summary

In this chapter, we looked at how to use GitHub and Azure DevOps together to build an integrated software development platform for our software teams. To do this, we learned how to set up and manage Azure DevOps pipelines from GitHub, as well as build and integrate CI/CD solutions.

We also learned about how to plan and track our work better in Azure Boards while doing software development in GitHub. You should now be able to use GitHub and Azure DevOps together and improve your overall productivity and DevOps experience. You should also be able to set up integration between the two services and use it in your daily DevOps work.

In the next chapter, we'll look at several real-world CI/CD examples with the help of Azure DevOps.

lock icon The rest of the chapter is locked
You have been reading a chapter from
Azure DevOps Explained
Published in: Dec 2020 Publisher: Packt ISBN-13: 9781800563513
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}