SlideShare a Scribd company logo
1 of 17
Download to read offline
A Piece of Cake
Gary Ewan Park
Email: gary@cakebuild.net
Twitter: @gep13
Web: http://www.gep13.co.uk
C# powered cross platform build automation
What is a build?
Typical Build Workflow
Clean
Build
Unit Tests
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
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/
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
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
Okay, but why do I need it?
We build Cake with Cake on…
9 different CI Servers 3 different operating systems
Can’t I just use… MAKEFAKECMakeMSBuildNAntPsakeBau?
Let’s bake some Cake!
Clean
Build
Unit Tests
Test Coverage
StyleCop FxCop
DupFinder InspectCode
Package Publish
Package Restore
Source Code
http://gep13.me/CakeDemos
Demos
Questions?
Feel free to get in touch
Email: gep13@gep13.co.uk
Twitter: @gep13
Web: http://www.gep13.co.uk
Resources
• Cake Documentation
• http://cakebuild.net/docs
• Source Code
• https://github.com/cake-build/cake
• Presentations
• http://cakebuild.net/docs/resources/presentations
• Podcasts
• http://cakebuild.net/docs/resources/podcasts
• Videos
• http://cakebuild.net/docs/resources/videos
• Blog Posts
• http://cakebuild.net/docs/resources/blogs
Sponsors

More Related Content

What's hot

Composer and deployer for enterprise
Composer and deployer for enterpriseComposer and deployer for enterprise
Composer and deployer for enterpriseElena Pustovoit
 
Front-end development automation with Grunt
Front-end development automation with GruntFront-end development automation with Grunt
Front-end development automation with Gruntbenko
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebVũ Nguyễn
 
GAE for PHP - 10 Min to Learn
GAE for PHP - 10 Min to LearnGAE for PHP - 10 Min to Learn
GAE for PHP - 10 Min to LearnChen Yi-Huan
 
Grunt training deck
Grunt training deckGrunt training deck
Grunt training deckJames Ford
 
WordPress modern development
WordPress modern developmentWordPress modern development
WordPress modern developmentRoman Veselý
 
Docker for Artisans
Docker for ArtisansDocker for Artisans
Docker for ArtisansRenPardon
 
Autotests introduction - Codeception + PHP Basics
Autotests introduction - Codeception + PHP BasicsAutotests introduction - Codeception + PHP Basics
Autotests introduction - Codeception + PHP BasicsArtur Babyuk
 
deployer, deployment for TYPO3 CMS with ease and fun
deployer, deployment for TYPO3 CMS with ease and fundeployer, deployment for TYPO3 CMS with ease and fun
deployer, deployment for TYPO3 CMS with ease and funPeter Niederlag
 
Puppeteer - Headless Chrome Node API
Puppeteer - Headless Chrome Node APIPuppeteer - Headless Chrome Node API
Puppeteer - Headless Chrome Node APIWilson Su
 
Dev toolkit: Ferramentas para melhorar a qualidade do seu projeto
Dev toolkit: Ferramentas para melhorar a qualidade do seu projetoDev toolkit: Ferramentas para melhorar a qualidade do seu projeto
Dev toolkit: Ferramentas para melhorar a qualidade do seu projetoEduardo Pittol
 
How QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser ExtensionsHow QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser ExtensionsQing-Cheng Li
 

What's hot (19)

Composer and deployer for enterprise
Composer and deployer for enterpriseComposer and deployer for enterprise
Composer and deployer for enterprise
 
Front-end development automation with Grunt
Front-end development automation with GruntFront-end development automation with Grunt
Front-end development automation with Grunt
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the Web
 
GAE for PHP - 10 Min to Learn
GAE for PHP - 10 Min to LearnGAE for PHP - 10 Min to Learn
GAE for PHP - 10 Min to Learn
 
Grunt training deck
Grunt training deckGrunt training deck
Grunt training deck
 
RxNetty
RxNettyRxNetty
RxNetty
 
WordPress modern development
WordPress modern developmentWordPress modern development
WordPress modern development
 
QA to sous-Chef
QA to sous-ChefQA to sous-Chef
QA to sous-Chef
 
Docker for Artisans
Docker for ArtisansDocker for Artisans
Docker for Artisans
 
Autotests introduction - Codeception + PHP Basics
Autotests introduction - Codeception + PHP BasicsAutotests introduction - Codeception + PHP Basics
Autotests introduction - Codeception + PHP Basics
 
Introduction to saucelabs
Introduction to saucelabsIntroduction to saucelabs
Introduction to saucelabs
 
PHP Testing Workshop
PHP Testing WorkshopPHP Testing Workshop
PHP Testing Workshop
 
Me&g@home
Me&g@home Me&g@home
Me&g@home
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
deployer, deployment for TYPO3 CMS with ease and fun
deployer, deployment for TYPO3 CMS with ease and fundeployer, deployment for TYPO3 CMS with ease and fun
deployer, deployment for TYPO3 CMS with ease and fun
 
Go at Openprovider
Go at OpenproviderGo at Openprovider
Go at Openprovider
 
Puppeteer - Headless Chrome Node API
Puppeteer - Headless Chrome Node APIPuppeteer - Headless Chrome Node API
Puppeteer - Headless Chrome Node API
 
Dev toolkit: Ferramentas para melhorar a qualidade do seu projeto
Dev toolkit: Ferramentas para melhorar a qualidade do seu projetoDev toolkit: Ferramentas para melhorar a qualidade do seu projeto
Dev toolkit: Ferramentas para melhorar a qualidade do seu projeto
 
How QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser ExtensionsHow QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser Extensions
 

Viewers also liked

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 2016Gary Park
 
A Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - ReadingA Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - ReadingGary Park
 
Semantic Versioning with GitVersion
Semantic Versioning with GitVersionSemantic Versioning with GitVersion
Semantic Versioning with GitVersionGary Park
 
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 2016Jamie Phillips
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic VersioningDrupalize.Me
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストMasahiko Asai
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Viewers also liked (10)

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
 
Cake
CakeCake
Cake
 
A Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - ReadingA Piece of Cake - DDD11 - Reading
A Piece of Cake - DDD11 - Reading
 
Semantic Versioning with GitVersion
Semantic Versioning with GitVersionSemantic Versioning with GitVersion
Semantic Versioning with GitVersion
 
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
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
Cakes
CakesCakes
Cakes
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェスト
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar to A Piece of Cake - DDD North

Survival of the Continuist
Survival of the ContinuistSurvival of the Continuist
Survival of the ContinuistPaul Blundell
 
Build Automation? It's a piece of Cake.
Build Automation? It's a piece of Cake.Build Automation? It's a piece of Cake.
Build Automation? It's a piece of Cake.Guilherme Ferreira
 
Craftsmanship in Computational Work
Craftsmanship in Computational WorkCraftsmanship in Computational Work
Craftsmanship in Computational WorkYung-Yu Chen
 
High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014Oliver N
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 Tikal Knowledge
 
Google C++ Testing Framework in Visual Studio 2008
Google C++ Testing Framework in Visual Studio 2008Google C++ Testing Framework in Visual Studio 2008
Google C++ Testing Framework in Visual Studio 2008Andrea Francia
 
North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017
North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017
North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017Ortus Solutions, Corp
 
CI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentCI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentBintang Thunder
 
Cooking the Cake for Nuget packages
Cooking the Cake for Nuget packagesCooking the Cake for Nuget packages
Cooking the Cake for Nuget packagesSergey Dzyuban
 
using Chocolatey for application deployments
using Chocolatey for application deploymentsusing Chocolatey for application deployments
using Chocolatey for application deploymentsOwain Perry
 
Using and Building Open Source in Google Corporate Engineering - Justin McWil...
Using and Building Open Source in Google Corporate Engineering - Justin McWil...Using and Building Open Source in Google Corporate Engineering - Justin McWil...
Using and Building Open Source in Google Corporate Engineering - Justin McWil...OSCON Byrum
 
What can possibly go wrong if i dont e2 e test my packages?
What can possibly go wrong if i dont e2 e test my packages?What can possibly go wrong if i dont e2 e test my packages?
What can possibly go wrong if i dont e2 e test my packages?Juan Picado
 
Google test training
Google test trainingGoogle test training
Google test trainingThierry Gayet
 
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsContinuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsFrancesco Bruni
 
Moving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventuresMoving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventuresFrits Van Der Holst
 
Leveraging Continuous Integration For Fun And Profit!
Leveraging Continuous Integration For Fun And Profit!Leveraging Continuous Integration For Fun And Profit!
Leveraging Continuous Integration For Fun And Profit!Jess Chadwick
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io
 

Similar to A Piece of Cake - DDD North (20)

Survival of the Continuist
Survival of the ContinuistSurvival of the Continuist
Survival of the Continuist
 
Tdd is not about testing
Tdd is not about testingTdd is not about testing
Tdd is not about testing
 
Build Automation? It's a piece of Cake.
Build Automation? It's a piece of Cake.Build Automation? It's a piece of Cake.
Build Automation? It's a piece of Cake.
 
Craftsmanship in Computational Work
Craftsmanship in Computational WorkCraftsmanship in Computational Work
Craftsmanship in Computational Work
 
High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
 
Google C++ Testing Framework in Visual Studio 2008
Google C++ Testing Framework in Visual Studio 2008Google C++ Testing Framework in Visual Studio 2008
Google C++ Testing Framework in Visual Studio 2008
 
Jenkins as a Service
Jenkins as a ServiceJenkins as a Service
Jenkins as a Service
 
North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017
North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017
North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017
 
CI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentCI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift Deployment
 
Cooking the Cake for Nuget packages
Cooking the Cake for Nuget packagesCooking the Cake for Nuget packages
Cooking the Cake for Nuget packages
 
using Chocolatey for application deployments
using Chocolatey for application deploymentsusing Chocolatey for application deployments
using Chocolatey for application deployments
 
Using and Building Open Source in Google Corporate Engineering - Justin McWil...
Using and Building Open Source in Google Corporate Engineering - Justin McWil...Using and Building Open Source in Google Corporate Engineering - Justin McWil...
Using and Building Open Source in Google Corporate Engineering - Justin McWil...
 
What can possibly go wrong if i dont e2 e test my packages?
What can possibly go wrong if i dont e2 e test my packages?What can possibly go wrong if i dont e2 e test my packages?
What can possibly go wrong if i dont e2 e test my packages?
 
Google test training
Google test trainingGoogle test training
Google test training
 
Why Gradle?
Why Gradle?Why Gradle?
Why Gradle?
 
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsContinuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and Jenkins
 
Moving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventuresMoving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventures
 
Leveraging Continuous Integration For Fun And Profit!
Leveraging Continuous Integration For Fun And Profit!Leveraging Continuous Integration For Fun And Profit!
Leveraging Continuous Integration For Fun And Profit!
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and Golang
 

Recently uploaded

The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotEdgard Alejos
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 

Recently uploaded (20)

The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform Copilot
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 

A Piece of Cake - DDD North

  • 1. A Piece of Cake Gary Ewan Park Email: gary@cakebuild.net Twitter: @gep13 Web: http://www.gep13.co.uk C# powered cross platform build automation
  • 2. What is a build?
  • 3. Typical Build Workflow Clean Build Unit Tests Test Coverage StyleCop FxCop DupFinder InspectCode Package Publish Package Restore
  • 5.
  • 6. 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/
  • 7. 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
  • 8. 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
  • 9. Okay, but why do I need it?
  • 10. We build Cake with Cake on… 9 different CI Servers 3 different operating systems
  • 11. Can’t I just use… MAKEFAKECMakeMSBuildNAntPsakeBau?
  • 12. Let’s bake some Cake! Clean Build Unit Tests Test Coverage StyleCop FxCop DupFinder InspectCode Package Publish Package Restore
  • 14. Demos
  • 15. Questions? Feel free to get in touch Email: gep13@gep13.co.uk Twitter: @gep13 Web: http://www.gep13.co.uk
  • 16. Resources • Cake Documentation • http://cakebuild.net/docs • Source Code • https://github.com/cake-build/cake • Presentations • http://cakebuild.net/docs/resources/presentations • Podcasts • http://cakebuild.net/docs/resources/podcasts • Videos • http://cakebuild.net/docs/resources/videos • Blog Posts • http://cakebuild.net/docs/resources/blogs

Editor's Notes

  1. Cake creates a Directed acyclic graph of each of the tasks Makes sure that each task is only run one
  2. Instead, we are here to talk about Cake, the cross platform build and orchestration tool. Full disclosure, I am one of three maintainers of the Cake project on GitHub Some history/information - Open Source - Supports the most common tools out of the box - Cross Platform (Windows OS X Linux) - Small but slowly growing - almost 600 Pull Requests - almost 80 Contributors - almost 70 third party addins - 767 Stars - Over 100000 downloads
  3. Built using Roslyn, and the Mono Compiler, allowing execution on both Windows, OS X and Linux Script Processing to make sure things work the same on both
  4. Black ones are built in and ship with Cake Blue ones are those that have been created by the community There are aliases that span across * Unit Testing Frameworks * Test Coverage * Static Code Analysis * JavaScript Runners * Documentation Generators * Chat Systems * Publishing
  5. Talk about compiling directly out of Visual Studio - You might run some Unit Tests after the build has completed - You might run some static analysis tools within Visual Studio - You might manually create and deploy a package once you know that everything works This is prone to human error, and not repeatable or maintainable as the complication of the application increases
  6. You can use any of these that you want. Fully agree with the concept of a polyglot developer, but from a strictly pragmatic point of view, writing a build script in the same language as you are developing, makes a lot of sense.
  7. Mention laptop setup Working in offline mode All commands are still executed as they would be if doing it in reallife Only slightly modified bootstrapper and configuration file Show Visual Studio solution, and explain project structure
  8. Can’t emphasise enough how much they make it happen. Platinum Sponsors: University of Leeds – Venue & support. DevExpress – Teas & Coffees. Black Marble – organisation, design etc. Sage – speaker shirts & general platinum sponsor. Sonoco Trident – general platinum sponsor. NDC – general platinum - visit their stand! Equal Experts – pre-DDD North dinner (speakers, helpers & friends) Silver Sponsors X-lab Github Bronze Sponsors JetBrains – licenses! O’Reilly – vouchers! Huddle – agendas  Microsoft Press – books & vouchers!