Build and Deployment Automation for .NET Developers (with C# and Cake)

.NET NDC Oslo

This workshop is part of NDC Oslo 2019

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 surprisingly 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 Core web application using nothing more than C# and Cake. The list of topics include:

  • Compiling using MSBuild and the .NET Core CLI tools
  • Running automated tests and measuring code coverage
  • Versioning based on the Git history of the project
  • Packaging using NuGet or as regular Zip files
  • Deploying to an on-premises web server using Octopus Deploy
  • Deploying to an Azure Website using Kudu
  • Integrating with CI servers such as TeamCity, VSTS and Travis CI
  • 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 — as a bonus, you'll also learn how to write maintainable build scripts that can adapt as the needs of the software change.

Computer Setup

Attendees will need to bring a laptop with Windows and the following software installed:

  • Visual Studio 2017 or preferably Visual Studio Code
  • PowerShell or Bash
  • Git
  • .NET Core 2.1 SDK
  • .NET Framework 4.6.1 or later SDK

Attendees should also have access to a GitHub account.

Time

09:00 - 17:00