CI/CD as Code with C#, Cake and .NET 5.0

    Remember when most web applications were just a website and a SQL database? Yeah, things are different these days. Modern web applications consist of an ever-increasing number of moving parts: JavaScript frontends, web APIs, microservices, cloud environments—the list goes on. Building and deploying these applications involves joggling a complex set of tools and services—each with their own rules and requirements—and make them all come together in a unified process. On top of that, modern development teams are expected to release software often, which means that those processes must be entirely automated, from source code to production servers.

    As a .NET developer living in a DevOps culture, how do you achieve that without having to invest in learning a whole new set of tools and languages? Meet Cake.

    Cake is an open source cross-platform build automation tool with a rich ecosystem of integrations to third-party tools and services. And the best part is: it uses a beautiful C# DSL that will make you feel right at home.

    In this 2-Day workshop, you will learn everything you need to know to automate a complete build and deployment pipeline for a modern ASP.NET 5.0 web application using C# and Cake.

    The topics include:
    Compiling using the .NET 5.0 CLI tools
    Running automated tests and measuring code coverage
    Building a web front-end using Node.js
    Versioning based on the Git history of the project
    Packaging with NuGet or as regular Zip files
    Packaging the application as a Docker container
    Deploying to an on-premises web server using Octopus Deploy
    Deploying to a containerized Azure Web App using Docker and the Azure Container Registry
    Integrating with CI servers such as TeamCity, Azure Pipelines and GitHub Actions
    Troubleshooting the pipeline with logging and debugging

    By the end of the workshop, you will know how to apply your existing C# and .NET skills to automate a modern build and deployment pipeline from beginning to end — as a bonus, you'll also learn how to write maintainable build scripts that can evolve as the needs of your software change.

    Computer Setup

    Attendees will need to bring a laptop with Windows, Linux or macOS and the following software installed:
    Visual Studio Code
    PowerShell or Bash
    .NET SDK 5.0.100
    Node.js LTS
    Docker Engine

    Attendees should also have access to a GitHub account.

    Enrico Campidoglio
    Freelance Programmer, Speaker and Trainer

    Enrico is a freelance programmer, teacher and mentor with a strong passion for acquiring and sharing knowledge. If allowed, he'll happily talk for hours about software quality, the DevOps culture, the history of personal computing or mechanical keyboards. One topic he's particularly fond of is Git, which, as he discovered, combines two of his other great passions: the Unix philosophy and source code history.

    When it comes to teaching, Enrico speaks regularly at conferences and user groups, delivers workshops and produces online courses for Pluralsight.

    He occasionally manages to do some open source work by contributing to AutoFixture—a .NET library for generating test data during unit testing—and by maintaining Cake.Curl, an addin for Cake that lets you invoke curl from a build script.

    Enrico can be found online on his website at or on Twitter at @ecampidoglio

    Programutvikling uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?