Book Image

Azure DevOps Explained

By : Sjoukje Zaal, Stefano Demiliani, Amit Malik
Book Image

Azure DevOps Explained

By: Sjoukje Zaal, Stefano Demiliani, Amit Malik

Overview of this book

Developing applications for the cloud involves changing development methodologies and procedures. Continuous integration and continuous deployment (CI/CD) processes are a must today, but are often difficult to implement and adopt. Azure DevOps is a Microsoft Azure cloud service that enhances your application development life cycle and enables DevOps capabilities. Starting with a comprehensive product overview, this book helps you to understand Azure DevOps and apply DevOps techniques to your development projects. You'll find out how to adopt DevOps techniques for your development processes by using built-in Azure DevOps tools. Throughout the course of this book, you'll also discover how to manage a project with the help of project management techniques such as Agile and Scrum, and then progress toward development aspects such as source code management, build pipelines, code testing and artifacts, release pipelines, and GitHub integration. As you learn how to implement DevOps practices, this book will also provide you with real-world examples and scenarios of DevOps adoption. By the end of this DevOps book, you will have learned how to adopt and implement Azure DevOps features in your real-world development processes.
Table of Contents (17 chapters)
1
Section 1: DevOps Principles and Azure DevOps Project Management
4
Section 2: Source Code and Builds
9
Section 3: Artifacts and Deployments
12
Section 4: Advanced Features of Azure DevOps

Using container jobs in Azure Pipelines

In this chapter, we saw that when you create a pipeline, you define jobs, and that when the pipeline is executed, these jobs runs on the host machine where the agent is installed.

If you're using Windows or Linux agents, you can also run a job inside a container (in an isolated way from the host). To run a job inside a container, you need to have Docker installed on the agent and your pipeline must have permission to access the Docker daemon. If you're using Microsoft-hosted agents, running jobs in containers is actually supported on the windows-2019 and ubuntu-16.04 pool images.

As an example, this is a YAML definition for using a container job in a Windows pipeline:

pool:
  vmImage: 'windows-2019'
container: mcr.microsoft.com/windows/servercore:ltsc2019
steps:
- script: date /t
  displayName: Gets the current date
- script: dir  
  workingDirectory: $(Agent.BuildiDirectory...