Continuous Integration for ASP.NET with Docker and Azure Devops

Video description

Each lecture is self-sufficient and concise and describes information related to the topic.

About This Video

  • You will learn about troubleshooting container, networking, and image building issues
  • Understand automated dev environments with Docker Compose
  • Set up continuous integration pipelines to build and publish Docker images to ACR

In Detail

Docker with Kubernetes has already become a mainstream technology. However, running Windows containers with Docker is still a less explored path and lacks resources. This course was initially created as Docker mastery on Windows.

We will start with an introduction to CI with Azure DevOps and Docker for .NET, and we will explore Docker's story and what is Azure DevOps. We will learn about Docker architecture and ecosystem to understand Docker in a better way.

Moving forward, we will understand Docker registries and how to debug container applications with logs. We will learn to create an environment to build an ASP.NET Core app, a hands-on project wherein you will learn to write a Dockerfile for a .NET Core app to make your skills stronger.

By the end of the course, you will be able to run Windows containers and set up the CI pipeline with Azure DevOps.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Introduction to CI with Azure DevOps Ad Docker for .NET
    1. Why Container-Based Software Delivery
    2. What is Continuous Integration and Delivery?
    3. CI/CD Workflow with Docker and Kubernetes
    4. Running .NET Applications with Docker
    5. What is Azure DevOps?
    6. The Docker Story
    7. Containers Versus VMs
    8. Two Ways on Windows - Hyper-V and Windows Containers
    9. Technologies Under the Hood – Namespaces, CGroups, and Layers
    10. Docker Architecture and Ecosystem
  2. Chapter 2 : Environment Setup
    1. Setup Azure Account
    2. Launch Windows 10 VM on Azure
    3. Install and Configure Docker to Run Windows Containers
  3. Chapter 3 : Running and Operating
    1. Getting Started with Docker Client
    2. Understand Docker Registries
    3. Learn to Pull and Examine Images
    4. Launch Your First Ephemeral Container
    5. Working with an Interactive Container
    6. Running Containers in Detached Mode
    7. Debugging Container Applications with Logs
    8. Getting Inside the Container with Exec
    9. Exposing Application with Port Mapping
    10. Managing Container's Lifecycle
    11. Lab Time
  4. Chapter 4 : Dockerizing a ASP .NET Core App
    1. Create an Environment to Build ASP.NET Core App
    2. Build an ASP.NET Core App Within a Container
    3. Committing Container's Changes to an Image
    4. Why Do You Need a Dockerfile?
    5. Automated Build of an Image With a Dockerfile
    6. Publishing Docker Image to Docker Hub
    7. The Secret Behind Image Layers – Iterative Image Build
    8. Deep Dive into Dockerfile Instructions
    9. Analyzing a Dockerfile for ASP .NET App
    10. Write a Dockerfile for a .NET Core App
    11. Solution to Dockerfile for a .NET Core App
  5. Chapter 5 : Advanced Image Building Projects
    1. What is a Multi-Stage Dockerfile
    2. Nano Project – Refactor Dockerfile for ASP .NET app with Multi-Stage
    3. Solution
    4. Research Project
    5. Nano Project - Dockerize a Legacy ASP .NET Framework App
    6. Solution Part I - Build App with .NET Framework SDK Image
    7. Solution Part II - Test Run ASP .NET Framework App
    8. Solution Part III - Write a Multi-Stage Dockerfile to Automate Image Build
  6. Chapter 6 : Deploying Containers with Docker Compose
    1. AlbumViewer Application Stack Use Case
    2. Imperative Approach to Launch AlbumViewer Container Stack
    3. Introducing Docker Compose
    4. Building docker-compose.yaml with YAML
    5. Launching Two-Tier Application with Compose
    6. More Docker Compose Commands
    7. Service Discovery with Docker Compose
    8. Integration Dockerfile with Compose
    9. Idempotence and Immutable Deployments
  7. Chapter 7 : Building CI Pipelines with Azure DevOps
    1. Creating Azure DevOps Account
    2. Importing a GitHub Repository to Azure DevOps
    3. Creating a Simple ASP.NET Build Pipeline
    4. Modifying Pipeline and Triggering Manually
    5. Adding a Docker-Based Build Pipeline
    6. Set Up Azure Container Registry
    7. Retagging and Pushing Images to ACR
    8. Docker build and ACR Publish Pipeline
  8. Chapter 8 : Deploy to Dev with Compose and Azure DevOps
    1. Configuring Docker Host to Accept Remote Connections
    2. Debugging Issue with TLS Certs and Docker Image
    3. Adding Service Connection to a Docker Host
    4. Sync GitHub and Azure Repos with Git Remotes
    5. Adding Deploy to Dev Stage with Docker Compose
    6. Troubleshooting Connectivity Issues
    7. How to Detect and Fix Firewall Issues

Product information

  • Title: Continuous Integration for ASP.NET with Docker and Azure Devops
  • Author(s): Gourav Shah
  • Release date: May 2021
  • Publisher(s): Packt Publishing
  • ISBN: 9781801070546