Published on June 9, 2016
1. A Piece of Cake Gary Ewan Park Email: [email protected] Twitter: @gep13 Web: http://www.gep13.co.uk C# powered cross platform build automation
2. What is Cake?
3. A Definition… “Cake (C# Make) is a cross platform build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.” Reference http://cakebuild.net/
4. Typical Build Workflow Clean Build Unit Tests Test Coverage StyleCop FxCop DupFinder InspectCode Package Publish Package Restore
5. How does Cake work? build.cake cake.exe #tool #addin #reference #load Roslyn or Mono nupkg Exe Msi Tests Anything you can think of Arguments Configuration
6. What Tools am I able to use with Cake? Chocolatey DNU DotCover DupFinder Fixie GitLink GitReleaseManager GitReleaseNotes GitVersion ILMerge ILRepack InspectCode MSBuild MSTest NSIS NUnit OctopusDeploy OpenCover ReportGenerator ReportUnit Roundhouse SignTool SpecFlow TextTransform WiX XBuild XUnit IIS Xamarin PowerShell Gitter Kudu CMake TopShelf Yaml Docker Gulp S3 FluentMigrator EC2 XCode Json VsCode WebDeploy CloudFront ReSharperReports ElasticLoadBalancing DocFx Wyam StyleCop StrongNameTool Orchard XdtTransform Npm Slack
7. Okay, but why do I need it?
8. What are the main philosophies of Cake? • Non intrusive • It should “just” work • Be highly configurable • No binaries should be checked into your repository • Easy to implement your own tools • Build should behave the same way regardless of • Operating System • Environment
9. We build Cake with Cake on… 8 different CI Servers 3 different operating systems
10. Can’t I just use… MAKEFAKECMakeMSBuildNAntPsakeBau?
11. Let’s bake some Cake! Clean Build Unit Tests Test Coverage StyleCop FxCop DupFinder InspectCode Package Publish Package Restore
12. Source Code http://gep13.me/CakeDemos
14. Cake has joined the .Net Foundation http://www.dotnetfoundation.org/blog/cake-welcome
15. Questions? Feel free to get in touch Email: [email protected] Twitter: @gep13 Web: http://www.gep13.co.uk
16. Resources • Cake Documentation o http://cakebuild.net/docs • MS Dev Show Podcast Episode o http://msdevshow.com/2016/04/cakebuild-with-mattias-karlsson-and-gary-ewan-park/ • Motz Codes Live: Continuous Integration for Libraries with Jon Dick aka Redth o https://www.youtube.com/watch?v=D0gWjHhJ3IU • Source Code o https://github.com/cake-build/cake • Blog Posts o Moving to Cake (C# Make) – Laurent Kempe http://laurentkempe.com/2016/04/05/Moving-to-Cake-CSharp-Make/