Upload
gary-park
View
314
Download
0
Embed Size (px)
Citation preview
Having your Cake, and eating it too!
Gary Ewan ParkEmail: [email protected]: @gep13Web: http://www.gep13.co.uk
What is Cake?
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/
Okay, but why do I need it?
What are the main philosophies of Cake?
• Non intrusive• It should “just” work• Be highly configurable• Replace the parts that you don’t like• Easy to implement your own tools• No tools should be checked into your repository• Should behave the same way regardless of
• Operating System• Environment
As an example…
Can’t I just use… MAKEFAKECMakeMSBuildNAntPsakeBau
Example Cake Script
Typical Build Workflow
Clean
Build
Unit Tests(NUnit, xUnit,
MSTest)
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
Let’s bake some Cake!
Clean
Build
Unit Tests(NUnit, xUnit,
MSTest)
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
Demo 1NuGet Package Restore
Progress Check
Clean
Build
Unit Tests(NUnit, xUnit,
MSTest)
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
Demo 2Build the Solution
Progress Check
Clean
Build
Unit Tests(NUnit, xUnit,
MSTest)
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
Demo 3Unit Tests
Progress Check
Clean
Build
Unit Tests(NUnit, xUnit,
MSTest)
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
Demo 4Test Coverage
Progress Check
Clean
Build
Unit Tests(NUnit, xUnit,
MSTest)
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
Demo 5NuGet Pack
Progress Check
Clean
Build
Unit Tests(NUnit, xUnit,
MSTest)
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
Questions?
Feel free to get in touchEmail: [email protected]
Twitter: @gep13Web: http://www.gep13.co.uk
Resources
• Cake Documentationo http://cakebuild.net/docs
• MS Dev Show Podcast Episodeo http://msdevshow.com/2016/04/cakebuild-with-mattias-karlsson-and-gary-ewan-park/
• Motz Codes Live: Continuous Integration for Libraries with Jon Dick aka Redtho https://www.youtube.com/watch?v=D0gWjHhJ3IU
• Source Codeo https://github.com/cake-build/cake
• Blog Postso Moving to Cake (C# Make) – Laurent Kempe
http://laurentkempe.com/2016/04/05/Moving-to-Cake-CSharp-Make/