Dependency Management on Microsoft Azure for DevOps Engineers

Paths

Dependency Management on Microsoft Azure for DevOps Engineers

Authors: Marcel de Vries, Neil Morrissey

Managing all of the dependencies in a project only gets harder the bigger your projects and teams get. This is why it’s important to implement a solid approach to dependency... Read more

What you will learn

  • How to use feature toggles, package management, and versioning with Azure DevOps
  • How to manage software dependencies using packages
  • How to leverage open source software packages safely

Pre-requisites

This path is targeted to Azure DevOps Engineers who are already familiar with the Azure portal and expects learners to be familiar with Agile practices, Azure administration, and Azure development.

Beginner

The course in this section of the path covers all of the fundamentals you need to know about feature toggles, package management, and versioning within Azure DevOps. With this knowledge, you’ll be able to effectively separate deployments from releases and enable multiple releases a day.

Feature Toggles, Package Management and Versioning with Azure DevOps

by Marcel de Vries

Jun 14, 2019 / 1h 8m

1h 8m

Start Course
Description

Delivering software to production in a repeatable and reliable way requires us to be smarter about the way we deploy and release our software. In this course, Feature Toggles, Package Management and Versioning with Azure DevOps, you'll see how to use feature toggles, package management, and a proven way of versioning in order to deploy your software multiple times without affecting any users. First, you'll discover how to separate deployment from a release by using Feature Toggles as a means to introduce new or changed functionality without the need for branching in source control. Next, you'll explore details on how to split up your solution in multiple packages, and how you can ask crucial questions to determine the correct granularity, coupling, and cohesion between packages. Finally, you'll learn an industry proven way of versioning that helps you avoid endless dependencies. We integrate this into our automated builds in Azure DevOps. By the end of this course, you'll know how to efficiently use feature toggles, package management, and versioning with Azure DevOps.

Table of contents
  1. Course Overview
  2. Feature Toggles
  3. Package Management
  4. Versioning

Intermediate

The course in this section of the path teaches you how to manage all of the software dependencies you might have while using packages and how to configure Azure Artifacts to host packages.

Microsoft Azure DevOps Engineer: Inspecting and Identifying Code Dependencies

by Neil Morrissey

Nov 26, 2019 / 50m

50m

Start Course
Description

Software applications are getting larger and more complex, and to manage that complexity we often reuse code in our solutions. That code might come from open source libraries, third party libraries or you might have your own code components that you need to reuse across solutions. The way we reuse code is through packages, and they need to be stored in a package repository. In this course, Microsoft Azure DevOps Engineer: Inspecting and Identifying Code Dependencies, you'll learn package management within Azure DevOps. First, you’ll learn how to identify code dependencies in your codebase that you can extract and turn into reusable packages. Next, you'll explore package types and feeds, and specifically, feeds in Azure Artifacts. Then, you'll discover how to package your own code as a NuGet package and consume it from an Azure Artifacts feed. Finally, you'll see how to make publishing of your package part of your continuous integration continuous deployment pipeline in Azure Pipelines. By the end of this course, you'll know how to identify code dependencies and use Azure Artifacts to host the packages that your application and pipelines depend on.

Table of contents
  1. Course Overview
  2. Manage Build Dependencies with Azure Artifacts

Advanced

The course in this section of the path dives deeper into the world of open source package and how to safely manage them in your projects. You’ll learn how to analyze open source components using WhiteSource Bolt, how to manage open source libraries, and how to protect those components from threats.

Inspecting Open Source Software Packages for Security and License Compliance

by Neil Morrissey

Dec 4, 2019 / 38m

38m

Start Course
Description

Modern software is composed of many open source components, that are used to speed development and provide complex functionality you would normally need to write yourself. But with that convenience, there come some risks. In this course, Inspecting Open Source Software Packages for Security and License Compliance, you will learn the different types of risks involved with open source software, and how you can manage those risks by using a tool called WhiteSource Bolt. First, you will explore the licenses that come with open source libraries and components. Next, you will learn the inherent risks that come with leveraging open source libraries in your projects. Then, you will understand more about a class of tools, called software composition analysis tools, that can help you migrate those risks. Finally, you will discover a free tool called WhiteSource Bolt that you can integrate into your Azure DevOps pipeline builds, to analyze the open source components in your project. By the end of this course, you will be more confident in managing open source libraries, and better able to respond to threats to those components.

Table of contents
  1. Course Overview
  2. Setting up a Build Pipeline to Inspect Package Feeds