Book Image

Azure DevOps Server 2019 Cookbook - Second Edition

By : Tarun Arora, Utkarsh Shigihalli
Book Image

Azure DevOps Server 2019 Cookbook - Second Edition

By: Tarun Arora, Utkarsh Shigihalli

Overview of this book

Previously known as Team Foundation Server (TFS), Azure DevOps Server is a comprehensive on-premise DevOps toolset with a rich ecosystem of open source plugins. This book will help you learn how to effectively use the different Azure DevOps services. You will start by building high-quality scalable software targeting .NET, .NET Core and Node.js applications. Next, 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 failures. As you progress, you will be able to secure application configuration by using Azure Key Vault. You will also understand how to create and release extensions to the Azure DevOps marketplace and reach the million-strong developer ecosystem for feedback. Later, the working extension samples will even allow you to iterate changes in your extensions easily and release updates to the marketplace quickly. By the end of this book, you will be equipped with the skills you need to break down the invisible silos between your software development teams, and transform them into a modern cross-functional software development team.
Table of Contents (14 chapters)
Title Page
About Packt
Contributors
Preface
Index

Chapter 4. Continuous Integration and Build Automation

As a developer compiling code and running unit tests gives you assurance that your code changes haven’t had an impact on the existing codebase. Integrating your code changes into the source control repository enables other to validate their changes with yours. As a best practice teams integrate into the shared repository several times a day to reduce the risk of introducing breaking changes or worst overwriting each other’s.

Note

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is verified by an automated build, allowing teams to detect problems early. 

The Automated build running as part of the CI process is often referred to as the CI build. While there isn't a clear definition of what the CI build should do, at the very minimum it is expected to compile code and run unit tests. Running the CI build on a non-developer isolated workspace...