Cake (C# Make) is a cross-platform build automation system with a beautiful DSL and a rich ecosystem of tool integrations. This course will teach you how to use Cake to compile, test, version, package, and deploy your .NET or .NET Core application.
These days, .NET applications consist of an ever increasing number of libraries, frameworks, and tools. Building and deploying them requires you to combine lots of different command-line programs—each with its own set of rules and syntax—and make them work together seamlessly to take your code from source to running software. It really doesn't take much before it gets quite challenging. In this course, Building and Deploying Applications with Cake, you will learn how to automate your build and deployment pipeline using Cake. Cake (C# Make) is a modern cross-platform build automation system with a beautiful C# DSL and a rich ecosystem of integrations to third-party tools and services. You will learn how to create readable and maintainable build scripts that compile, test, version, package and install your web application both using the full .NET Framework as well as .NET Core. By the end of this course, you'll know how to manage the complexity of your build and deployment process using the language (C#) and platform (.NET) you already know and love.
Course Overview (Music playing) Hi, my name is Enrico Campidoglio. Welcome to my course, Building and Deploying Applications with Cake. I'm a freelance programmer, and I also mentor teams on how to develop software better. When I'm in a project, I talk a lot about quality, and what it means to deliver high quality software. Practices like build automation and continuous delivery are essential parts in achieving that goal, because they give you the fast feedback you need to make sure that you're on the right track. Cake, also known as C# Make, is a cross-platform build automation tool that fits. NET developers like a glove, and it's not only because it lets you write your scripts in C#, but because it integrates seamlessly with all the tools and services you need to build and deploy your. NET applications. This course will teach you how to use Cake in your project by automating the build and deployment pipeline for two ASP. NET web applications, one that runs on the. NET Framework on Windows, and one built with. NET Core on macOS. Among other things, we'll use Cake to compile a. NET and. NET Core web application, run the automated tests, package the application's binaries in three different formats, deploy it to an Azure web app, and run the build process in three different continuous integration servers. By the end of this course, you will know how to write beautiful scripts that build and deploy your. NET or. NET Core application using Cake. I hope you will join me on this journey to learn Cake with the Building and Deploying Applications with Cake course at Pluralsight.
Troubleshooting Throughout this course, we have created a complete build and deploy pipeline from scratch for our. NET application, Linker. We did all of that entirely using Cake. Actually, we did it twice, once in Windows where Linker and Cake run on the. NET Framework, and once on macOS, where both run on. NET Core. Now that's quite an accomplishment. What's even more impressive is the fact that we never had to debug our Build script, not even once. Of course, we know that's not how things work in real life. When trying to automate any build process, we are inevitably going to run into problems sooner or later, so we should be prepared to deal with that. So, before we wrap up this course, we need to look at how to troubleshoot a Cake script. Philosophically speaking, there are two fundamental approaches to troubleshooting a software problem. We can troubleshoot from outside of the system by analyzing the logging information it outputs, or we can troubleshoot from the inside by stepping through the system's instruction with the debugger. In Cake, we can use either approach, so we're going to look at both. We'll begin by troubleshooting an external tool that fails by increasing Cake's log verbosity. Then, we'll explore how to debug a Cake script from within our development environment. That is, Visual Studio in Windows and Visual Studio Code on macOS. Let's get started.