C# devs should love Cake!

Our dev team here has learned a lot over the years courtesy of our partners at ThoughtWorks:

  • Test Driven Development
  • Continuous Integration
  • Agile Development Processes
  • and lots of other good stuff!

Today I wanted to talk about Cake (http://cakebuild.net/) which is the C# “equivalent” of Rake, which we’ve been using for years here.  Rake has been a mainstay here in helping us with scripting of the building, testing and deployment of our applications.  While we’ve become fairly familiar with Ruby, it’s always been awkward for those who are not so polyglot in terms of dev languages, to switch between C# and Ruby.  Along comes Cake, which helps us to provide the “tasks” structure we love in Rake via Ruby but using C# and native .Net libraries.  At my shop, we’re starting to take a long look at ASP.Net Core and with that, looking for opportunities to introduce newer tools that are a better fit in our Microsoft centered stack.  As a result, we’re now successfully building out our script library for the building, testing and deployment of our applications using a combination of Powershell and Cake.  Currently, with the usage of Cake Add Ins, we are able to build test and deploy the following types of projects:

  • ASP.NET Core with .Net Framework 4.5.2
  • SQL Server 2016 SSIS packages

We’re now expanding our usage to deploying SQL Server projects using DacPacs and Windows Services.  I’ll be using this blog to track my personal notes on the build out of the scripts, which will track certain gotchas and oddities that my team and I run into as we build out the scripts.