Reader small image

You're reading from  Azure DevOps Explained

Product typeBook
Published inDec 2020
PublisherPackt
ISBN-139781800563513
Edition1st Edition
Tools
Concepts
Right arrow
Authors (3):
Sjoukje Zaal
Sjoukje Zaal
author image
Sjoukje Zaal

Sjoukje Zaal is head of the Microsoft Cloud Center of Excellence, Microsoft Regional Director, and Microsoft Azure MVP with over 20 years' experience in architecture, development, consultancy, and design-related roles. She currently works at Capgemini, a global leader in consultancy, technology services, and digital transformation. She loves to share her knowledge and is active in the Microsoft community as a co-founder of the user groups Tech Daily Chronicle, Global XR Community, and the Mixed Reality User Group. She is also a board member of Azure Thursdays and Global Azure. Sjoukje is an international speaker and is involved in organizing many events. She has written several books and writes blogs.
Read more about Sjoukje Zaal

Stefano Demiliani
Stefano Demiliani
author image
Stefano Demiliani

Stefano Demiliani is a Microsoft MVP on Business Applications and Azure, MCT, Microsoft Certified Solution Developer (MCSD), Azure Certified Architect, and an expert in other Microsoft related technologies. His main activity is architecting and developing enterprise solutions based on the entire stack of Microsoft technologies (mainly focused on ERP and serverless applications). He has worked with Packt Publishing on many IT books related to Azure cloud applications and Dynamics 365 Business Central and is a frequent speaker at IT conferences around Europe. In his free time Stefano is also a runner and a cyclist.
Read more about Stefano Demiliani

Amit Malik
Amit Malik
author image
Amit Malik

Amit Malik is an IT enthusiast and technology evangelist from Delhi, India. He specializes in Virtualization, Cloud, and emerging technology space. He has an intense knowledge in building cloud solutions with Microsoft Windows Azure Pack. Amit holds various industry admired certifications from all major OEM's in Virtualization and Cloud space including MCSE for Private Cloud. Amit has designed and built numerous virtualization and private cloud solutions comprising the product lines of Microsoft, VMware, and Citrix. Apart from these, he can be found working on emerging technologies including VDI, hyper convergence, Software Defined Infrastructure solutions including networking and storage, Containers, Big Data, IoT, and other similar technologies. Amit is interested in building products and doing product management in near future for related technology space. You can always reach Amit on LinkedIn (https://in.linkedin.com/in/amitmalik99)or email (contact2amitmalik@gmail.com)
Read more about Amit Malik

View More author details
Right arrow

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 2020Publisher: PacktISBN-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.
undefined
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 ₹800/month. Cancel anytime

Authors (3)

author image
Sjoukje Zaal

Sjoukje Zaal is head of the Microsoft Cloud Center of Excellence, Microsoft Regional Director, and Microsoft Azure MVP with over 20 years' experience in architecture, development, consultancy, and design-related roles. She currently works at Capgemini, a global leader in consultancy, technology services, and digital transformation. She loves to share her knowledge and is active in the Microsoft community as a co-founder of the user groups Tech Daily Chronicle, Global XR Community, and the Mixed Reality User Group. She is also a board member of Azure Thursdays and Global Azure. Sjoukje is an international speaker and is involved in organizing many events. She has written several books and writes blogs.
Read more about Sjoukje Zaal

author image
Stefano Demiliani

Stefano Demiliani is a Microsoft MVP on Business Applications and Azure, MCT, Microsoft Certified Solution Developer (MCSD), Azure Certified Architect, and an expert in other Microsoft related technologies. His main activity is architecting and developing enterprise solutions based on the entire stack of Microsoft technologies (mainly focused on ERP and serverless applications). He has worked with Packt Publishing on many IT books related to Azure cloud applications and Dynamics 365 Business Central and is a frequent speaker at IT conferences around Europe. In his free time Stefano is also a runner and a cyclist.
Read more about Stefano Demiliani

author image
Amit Malik

Amit Malik is an IT enthusiast and technology evangelist from Delhi, India. He specializes in Virtualization, Cloud, and emerging technology space. He has an intense knowledge in building cloud solutions with Microsoft Windows Azure Pack. Amit holds various industry admired certifications from all major OEM's in Virtualization and Cloud space including MCSE for Private Cloud. Amit has designed and built numerous virtualization and private cloud solutions comprising the product lines of Microsoft, VMware, and Citrix. Apart from these, he can be found working on emerging technologies including VDI, hyper convergence, Software Defined Infrastructure solutions including networking and storage, Containers, Big Data, IoT, and other similar technologies. Amit is interested in building products and doing product management in near future for related technology space. You can always reach Amit on LinkedIn (https://in.linkedin.com/in/amitmalik99)or email (contact2amitmalik@gmail.com)
Read more about Amit Malik