SlideShare a Scribd company logo
1 of 19
CAKE
http://cakebuild.net
patrik@patriksvensson.se @firstdrafthell
AGENDA
• What is Cake?
• The philosophy behind Cake
• How does Cake work?
• Dependency based programming
• Demo!
• Awkward silence followed by applause
WHAT IS CAKE? (1/5)
A build automation tool
• Write your build scripts in C#
• Runs on full .NET framework (net45) and .NET Core (netstandard1.6)
• Powered by Roslyn and the Mono compiler
Not a replacement for your CI server!
WHAT IS CAKE? (2/5)
WHAT IS CAKE? (3/5)
WHAT IS CAKE? (4/5)
Open Source
• Available on GitHub
https://github.com/cake-build/cake
Part of the .NET Foundation
• Project guidance and mentoring
• IP & Legal
• Financial support
WHAT IS CAKE? (5/5)
A healthy community
• 600+ pull requests
• 75+ contributors
• 80+ third party addins
Azure, PowerShell, AWS, IIS, WebDeploy, Xamarin, Docker, Vagrant,
Unity3D, SQL Server etc. etc.
PHILOSOPHY (1/3)
• Increase team productivity
• Decrease complexity of development and CI/CD
• No binaries or sensitive information in repository
• Build scripts and configuration in repository
PHILOSOPHY (2/3)
Non-intrusive
• Doesn’t affect the way you or your team work
Behaves the same way
• Regardless of operating system
• Regardless of environment (i.e. TeamCity, AppVeyor, TFS, Jenkins,
Bamboo)
PHILOSOPHY (3/3)
Convention based…
• How tools and other things are resolved
…but also configurable
• Provide your own configuration or override defaults
• Implement your own tools
• Replace internal parts you don’t like
HOW DOES CAKE WORK?
Cake file (C#)
Packages
Script engine
Configuration and
arguments
Cake.exe
• nupkg
• exe
• dll
• msi
• …
Some kind of result
Compile
DEPENDENCY BASED PROGRAMMING (1/4)
Define your work as fine grained tasks
Clean Unit tests FxCop
Package Build Publish
Calculate
version
DEPENDENCY BASED PROGRAMMING (2/4)
Order of execution is defined as dependencies between tasks.
Clean
Unit tests
FxCop
Package
Build
Publish
Calculate
version
DEPENDENCY BASED PROGRAMMING (3/4)
Conditions influence whether a task should be skipped or not.
Clean
Unit tests
FxCop
Package
Build
Publish
Calculate
version
DEPENDENCY BASED PROGRAMMING (4/4)
By executing a target, we determine what tasks should be executed.
Clean
Unit tests
FxCop
Package
Build
Publish
Calculate
version
Default
AppVeyor
Demo!
16
Clean
Unit tests
FxCop
Package
Build
Publish
Calculate
version
Default
AppVeyor
Questions?
18
Thank you!
19
patrik@patriksvensson.se @firstdrafthell

More Related Content

What's hot

Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018
Tessa Mero
 
Software operability and run book collaboration London Feb 2014
Software operability and run book collaboration London Feb 2014Software operability and run book collaboration London Feb 2014
Software operability and run book collaboration London Feb 2014
Matthew Skelton
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandAtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
colleenfry
 
Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB
Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB
Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB
WSO2
 

What's hot (20)

Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018
 
Deployment Automation - My journey at Peazie
Deployment Automation - My journey at PeazieDeployment Automation - My journey at Peazie
Deployment Automation - My journey at Peazie
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring Developers
 
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
 
Choosing Between Cross Platform of Native Development
Choosing	Between Cross Platform of Native DevelopmentChoosing	Between Cross Platform of Native Development
Choosing Between Cross Platform of Native Development
 
K15t - How Atlassian Does Docs
K15t - How Atlassian Does DocsK15t - How Atlassian Does Docs
K15t - How Atlassian Does Docs
 
K15t Software & Scroll Add-ons Power Painless Content Collaboration
K15t Software & Scroll Add-ons Power Painless Content CollaborationK15t Software & Scroll Add-ons Power Painless Content Collaboration
K15t Software & Scroll Add-ons Power Painless Content Collaboration
 
Software operability and run book collaboration London Feb 2014
Software operability and run book collaboration London Feb 2014Software operability and run book collaboration London Feb 2014
Software operability and run book collaboration London Feb 2014
 
ChatOps Workshop
ChatOps WorkshopChatOps Workshop
ChatOps Workshop
 
Recipes for Continuous Delivery (ThoughtWorks Geeknight)
Recipes for Continuous Delivery (ThoughtWorks Geeknight)Recipes for Continuous Delivery (ThoughtWorks Geeknight)
Recipes for Continuous Delivery (ThoughtWorks Geeknight)
 
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the EnterpriseDOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
 
Api360 Summit The Automated Monolith
Api360 Summit  The Automated MonolithApi360 Summit  The Automated Monolith
Api360 Summit The Automated Monolith
 
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015
 
Visual Studio Code vs. Sublime Text
Visual Studio Code vs. Sublime TextVisual Studio Code vs. Sublime Text
Visual Studio Code vs. Sublime Text
 
The "Run Anywhere" Mindset
The "Run Anywhere" MindsetThe "Run Anywhere" Mindset
The "Run Anywhere" Mindset
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
Empowering Your Clients and Be an Advocate for Yourself
Empowering Your Clients and Be an Advocate for YourselfEmpowering Your Clients and Be an Advocate for Yourself
Empowering Your Clients and Be an Advocate for Yourself
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandAtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
 
Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB
Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB
Cloud Service Integration with WSO2 Developer Studio and WSO2 ESB
 
Salvatore Laisa - Da Angular a React - Un viaggio inaspettato
Salvatore Laisa - Da Angular a React - Un viaggio inaspettatoSalvatore Laisa - Da Angular a React - Un viaggio inaspettato
Salvatore Laisa - Da Angular a React - Un viaggio inaspettato
 

Viewers also liked

Viewers also liked (6)

Having your cake, and eating it too!
Having your cake, and eating it too!Having your cake, and eating it too!
Having your cake, and eating it too!
 
Having your cake, and eating it too! - DDDScotland
Having your cake, and eating it too! - DDDScotlandHaving your cake, and eating it too! - DDDScotland
Having your cake, and eating it too! - DDDScotland
 
Builds with a side of Cake - CodeStock 2016
Builds with a side of Cake - CodeStock 2016Builds with a side of Cake - CodeStock 2016
Builds with a side of Cake - CodeStock 2016
 
A Piece of Cake - NDC Oslo 2016
A Piece of Cake - NDC Oslo 2016A Piece of Cake - NDC Oslo 2016
A Piece of Cake - NDC Oslo 2016
 
A Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - ReadingA Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - Reading
 
A Piece of Cake - DDD North
A Piece of Cake - DDD NorthA Piece of Cake - DDD North
A Piece of Cake - DDD North
 

Similar to Cake

Similar to Cake (20)

Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten Ziegeler
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey Vasiliev
 
Stackato
StackatoStackato
Stackato
 
How to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 peopleHow to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 people
 
Combining Open Source and Standards
Combining Open Source and StandardsCombining Open Source and Standards
Combining Open Source and Standards
 
What's new in .net 5 by muralidharan deenathayalan
What's new in .net 5 by muralidharan deenathayalanWhat's new in .net 5 by muralidharan deenathayalan
What's new in .net 5 by muralidharan deenathayalan
 
20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes
 
Taming the DevOps unicorn with Azure and Visual Studio Team Services
Taming the DevOps unicorn with Azure and Visual Studio Team ServicesTaming the DevOps unicorn with Azure and Visual Studio Team Services
Taming the DevOps unicorn with Azure and Visual Studio Team Services
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
Stackato v3
Stackato v3Stackato v3
Stackato v3
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
DevOps Moves To Production (Lori MacVittie)
DevOps Moves To Production (Lori MacVittie)DevOps Moves To Production (Lori MacVittie)
DevOps Moves To Production (Lori MacVittie)
 
Developing and Deploying Microservices with Project Tye
Developing and Deploying Microservices with Project TyeDeveloping and Deploying Microservices with Project Tye
Developing and Deploying Microservices with Project Tye
 
Webinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentWebinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software Development
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
 
Cloud native
Cloud nativeCloud native
Cloud native
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
 
SkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid Cloud
 
Logic appsforbeginners
Logic appsforbeginnersLogic appsforbeginners
Logic appsforbeginners
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Cake