▶Book Description
Azure DevOps Server, previously known as Team Foundation Server (TFS), is a comprehensive on-premise DevOps toolset with a rich ecosystem of open source plugins. This book is your one stop guide to learn how to effectively use all of these Azure DevOps services to go from zero to DevOps.
You will start by building high-quality scalable software targeting .NET, .NET core or Node.js applications. You will learn techniques that will help you to set up end-to-end traceability of your code changes from design through to release. Whether you are deploying software on-premise or in the cloud in App Service, Functions, or Azure VMs, this book will help you learn release management techniques to reduce release failures. Next, you will be able to secure application configuration by using Azure KeyVault. You will also learn how to create and release extensions to the Azure DevOps marketplace and reach million developer ecosystem for feedback. The working extension samples will allow you to iterate changes in your extensions easily and release updates to the marketplace quickly.
By the end of this book, techniques provided in the book will help you break down the invisible silos between your software development teams. This will transform you from being a good software development team to an elite modern cross functional software development team.
▶What You Will Learn
- Set up a team project for an Agile delivery team, importing requirements from Excel
- Plan,track, and monitor progress using self updating boards, Sprint and Kanban boards
- Unlock the features of Git by using branch policies, Git pull requests, forks, and Git hooks
- Build and release .NET core, SQL and Node.js applications using Azure Pipeline
- Automate testing by integrating Microsoft and open source testing frameworks
- Extend Azure DevOps Server to a million developer ecosystem
▶Key Features
- Learn improving code quality using pull requests, branch policies, githooks and git branching design
- Accelerate the deployment of high quality software by automating build and releases using CI-CD Pipelines.
- Learn tried and tested techniques to automate database deployments, App Service & Function Deployments in Azure.
▶Who This Book Is For
This book is for anyone looking to succeed with DevOps. The techniques in this book apply to all roles of the software development lifecycle including developers, testers, architects, configuration analysts, site reliability engineers and release managers. If you are a new user you'll learn how to get started; if you are an experienced user you'll learn how to launch your project into a modern and mature DevOps enabled software development team.
▶What this book covers
- Chapter 1, Planning and Tracking Work, explains how to create and set up a scrum team project, import requirements as work items from Excel, use work items for collaboration, set up hierarchical backlogs, configure and customize kanban boards, prepare and plan a sprint, use delivery plans to track multiple teams, and use dashboards for planning and tracking work.
- Chapter 2, Source Control Management, covers the differences between Git and TFVC, why Git is more suited for greenfield projects with distributed teams working on small codebases, how to migrate from TFVC to Git with history, how to access Azure DevOps Git repositories using SSH, and how to import a Git repository from GitHub into Azure DevOps Server. It also explains how to perform Git operations using the command line and Visual Studio Code, how to configure branch policies and use pull requests to review code, how to configure and use Git Hooks, how to manage and store large files in Git, how to use Git branching strategies for CD, and how to search code in Azure DevOps using the code search service.
- Chapter 3, Build and Release Agents, explains how to set up build and release agents, automate the setup of build and release agents using unattended installation with PowerShell, download agents from GitHub using the GitHub release API, configure deployment groups, run an Azure DevOps agent behind a corporate enterprise proxy, analyze build usage data, automate agent pool maintenance, and configure retention policies for builds and releases. In this chapter, you'll also learn how to use agent capabilities and demands to map build definitions to specific agents in pools, and finally, how to manage and permission agent usage using role-based access control.
- Chapter 4, Continuous Integration and Build Automation, defines continuous integration. It also explains how to configure one build pipeline to build all branches of a code repository, how to reflect the branch quality in the build name by dynamically updating the build name during pipeline execution, how to use web deploy to create a package in an ASP.NET build pipeline, how to organize the output from a build into logical folders, how to use an assembly version to stamp assemblies in a pipeline, how to set up a build pipeline for a .NET Core application, how to set up a build pipeline for a Node.js application, and how to set up a build pipeline for database projects. You'll also learn how to use SonarQube in a build pipeline to manage technical debt.
- Chapter 5, Continuous Testing, shows the direction Microsoft is taking with its testing tools, along with the rationale behind discontinuing some of the testing tools. It also shows how to run NUnit-based unit tests in a pipeline, how to use feature flags to test in production, how to distribute multi-configuration tests on agent pools, how to configure parallel execution of automated tests to speed up overall test execution, how to run functional Specflow tests using Azure pipelines, how to analyze test execution results from the runs view. You'll also learn how to export test artifacts and test results from Test Hub, and finally, how to chart test results on dashboards in Azure DevOps Server team projects.
- Chapter 6, Continuous Deployments, defines continuous deployment. It also explains how to deploy the database to SQL Azure using Azure release pipelines, how to consume secrets in Azure pipelines from the Azure Key Vault, how to deploy a .NET Core app into Azure App Service, how to deploy an Azure Function using Azure Pipelines, and how to publish secrets to Azure Key Vault. In this chapter, you'll also learn how to deploy a static website on Azure Storage, and finally, deploy a VM to Azure DevTest Labs.
- Chapter 7, Azure Artifacts and Dependency Management, explains how to leverage artifacts to break down monolithic applications into microservices, how to publish a NuGet package to artifacts, how to consume a NuGet package feed in Visual Studio, how to publish an NPM package to an artifact feed in Azure DevOps Server, how to test NuGet packages using artifact views, and how to secure your packages by scanning for known vulnerabilities in your dependencies using WhiteSource.
- Chapter 8, Azure DevOps Extensions, explains how to leverage the Azure DevOps Server APIs to extend Azure DevOps Server, how to create a new publisher in Visual Studio Marketplace, how to create a simple task to clean folder, how to create a UI extension, how to create a service connection to connect to GitLab, how to create a pipeline task to consume the custom service connection and download GitLab sources and finally how to publish extensions to Visual Studio Marketplace using Azure Pipelines.