SlideShare uma empresa Scribd logo
1 de 25
Build automation?
It’s a piece of Cake.
Guilherme Ferreira
@gsferreira
http://netponto.org18ª Reunião Presencial no Porto 04/11/2017
Guilherme Ferreira
@gsferreira
http://gsferreira.com
Porto, Portugal
Software Architect @numbersbelieve
@netponto community organizer
Father and Husband | Black Lab Companion
Ankylosing Spondylitis Fighter
Library
Library !== “Libraria”
CTRL + SHIFT + B
Why it hurts?
Build should be…
• a separate process
• a living form of documentation
• repeatable
• made up of more than one solution if needed
• valid without binaries or sensitive information in repository
• versioned
So that…
• we can increase team productivity
• we can decrease complexity of development and CI/CD
Build workflow
Clean
Package
Restore
Build
Run Unit
Tests
Test
Coverage
Package Deploy
What is Cake? (http://cakebuild.net/)
• Build automation system
• C# Make (F# - Fake, Powershell - psake, …)
• Learn a new language 
• .NET shop
• Built on top of Roslyn and Mono
• Cross Platform
• Detailed documentation
What is Cake? (http://cakebuild.net/)
• Built-in methods for common operations (C# DSL)
• Build agnostic from Build Server
Cake is built with Cake on…
Open souce – healthy community
Coming soon…
Intellisense
Demo
Build workflow
Clean
Package
Restore
Build
Run Unit
Tests
Test
Coverage
Package Deploy
ASP.NET Core
xUnit.net
Octopus Deploy
How I do it?
• GIT / Visual Studio Team Services
• TeamCity
• Octopus Deploy
• nuget
• npm
• .net core
• xUnit V2
• Jest
• Docker
Extensions: Visual Studio
• Syntax Highlighting
• Templates
• Task Runner
Extensions: VS Code
• Syntax Highlighting
• Snippets
• Intellisense (Comming soon)
Wrapping up
• Versioned Build Script
• Use your C# Super Powers
• Cross Platform
• Extensible
• Healthy community
• More than 100 addins
• Intellisense ❤
• A piece of cake!
Questions?
@gsferreira
https://gsferreira.com
https://github.com/gsferreira/cakedemo

Mais conteúdo relacionado

Semelhante a Build automation made easy with Cake

What is (not) Pharo 8?
What is (not) Pharo 8?What is (not) Pharo 8?
What is (not) Pharo 8?FAST
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?Jonas Hecht
 
Desktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumDesktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumBen Ramsey
 
4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski
4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski
4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel JedrzejewskiPROIDEA
 
Neo4J meetup, Brussels, 2018-06-12
Neo4J meetup, Brussels, 2018-06-12Neo4J meetup, Brussels, 2018-06-12
Neo4J meetup, Brussels, 2018-06-12Bart Maertens
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to PythonSpotle.ai
 
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...Caio Moreno
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R MeetupJo-fai Chow
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R MeetupSri Ambati
 
APIdays Helsinki 2019 - How API Will Help Win the Deals - the Case of Infrast...
APIdays Helsinki 2019 - How API Will Help Win the Deals - the Case of Infrast...APIdays Helsinki 2019 - How API Will Help Win the Deals - the Case of Infrast...
APIdays Helsinki 2019 - How API Will Help Win the Deals - the Case of Infrast...apidays
 
Thrive 2019 Building intelligent bots for your modern workplace best practic...
Thrive 2019  Building intelligent bots for your modern workplace best practic...Thrive 2019  Building intelligent bots for your modern workplace best practic...
Thrive 2019 Building intelligent bots for your modern workplace best practic...Thomas Gölles
 
Automation in iOS development
Automation in iOS developmentAutomation in iOS development
Automation in iOS developmentCong Nguyen
 
Making Testing Easy w GitHub Copilot.pdf
Making Testing Easy w GitHub Copilot.pdfMaking Testing Easy w GitHub Copilot.pdf
Making Testing Easy w GitHub Copilot.pdfApplitools
 
London .Net Developers May 2015 events for London Ontario
London .Net Developers May 2015 events for London OntarioLondon .Net Developers May 2015 events for London Ontario
London .Net Developers May 2015 events for London OntarioTom Walker
 
Improving the Pharo VM
Improving the Pharo VMImproving the Pharo VM
Improving the Pharo VMFAST
 
Introduction to PowerShell for SharePoint Admins and Developers
Introduction to PowerShell for SharePoint Admins and DevelopersIntroduction to PowerShell for SharePoint Admins and Developers
Introduction to PowerShell for SharePoint Admins and DevelopersMichael Blumenthal (Microsoft MVP)
 
Ci/CD platform with drone and gogs
Ci/CD platform with drone and gogsCi/CD platform with drone and gogs
Ci/CD platform with drone and gogsPol Jane
 
Developing Apps with GPT-4 and ChatGPT_ Build Intelligent Chatbots, Content G...
Developing Apps with GPT-4 and ChatGPT_ Build Intelligent Chatbots, Content G...Developing Apps with GPT-4 and ChatGPT_ Build Intelligent Chatbots, Content G...
Developing Apps with GPT-4 and ChatGPT_ Build Intelligent Chatbots, Content G...BIHI Oussama
 

Semelhante a Build automation made easy with Cake (20)

What is (not) Pharo 8?
What is (not) Pharo 8?What is (not) Pharo 8?
What is (not) Pharo 8?
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
 
Tech Culture
Tech CultureTech Culture
Tech Culture
 
Desktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumDesktop Apps with PHP and Titanium
Desktop Apps with PHP and Titanium
 
4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski
4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski
4Developers 2015: Sylius - E-Commerce framework for PHP - Pawel Jedrzejewski
 
Neo4J meetup, Brussels, 2018-06-12
Neo4J meetup, Brussels, 2018-06-12Neo4J meetup, Brussels, 2018-06-12
Neo4J meetup, Brussels, 2018-06-12
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R Meetup
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R Meetup
 
Block-based Speech to Speech Translation
Block-based Speech to Speech TranslationBlock-based Speech to Speech Translation
Block-based Speech to Speech Translation
 
APIdays Helsinki 2019 - How API Will Help Win the Deals - the Case of Infrast...
APIdays Helsinki 2019 - How API Will Help Win the Deals - the Case of Infrast...APIdays Helsinki 2019 - How API Will Help Win the Deals - the Case of Infrast...
APIdays Helsinki 2019 - How API Will Help Win the Deals - the Case of Infrast...
 
Thrive 2019 Building intelligent bots for your modern workplace best practic...
Thrive 2019  Building intelligent bots for your modern workplace best practic...Thrive 2019  Building intelligent bots for your modern workplace best practic...
Thrive 2019 Building intelligent bots for your modern workplace best practic...
 
Automation in iOS development
Automation in iOS developmentAutomation in iOS development
Automation in iOS development
 
Making Testing Easy w GitHub Copilot.pdf
Making Testing Easy w GitHub Copilot.pdfMaking Testing Easy w GitHub Copilot.pdf
Making Testing Easy w GitHub Copilot.pdf
 
London .Net Developers May 2015 events for London Ontario
London .Net Developers May 2015 events for London OntarioLondon .Net Developers May 2015 events for London Ontario
London .Net Developers May 2015 events for London Ontario
 
Improving the Pharo VM
Improving the Pharo VMImproving the Pharo VM
Improving the Pharo VM
 
Introduction to PowerShell for SharePoint Admins and Developers
Introduction to PowerShell for SharePoint Admins and DevelopersIntroduction to PowerShell for SharePoint Admins and Developers
Introduction to PowerShell for SharePoint Admins and Developers
 
Ci/CD platform with drone and gogs
Ci/CD platform with drone and gogsCi/CD platform with drone and gogs
Ci/CD platform with drone and gogs
 
Developing Apps with GPT-4 and ChatGPT_ Build Intelligent Chatbots, Content G...
Developing Apps with GPT-4 and ChatGPT_ Build Intelligent Chatbots, Content G...Developing Apps with GPT-4 and ChatGPT_ Build Intelligent Chatbots, Content G...
Developing Apps with GPT-4 and ChatGPT_ Build Intelligent Chatbots, Content G...
 

Último

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Último (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

Build automation made easy with Cake

Notas do Editor

  1. Fear of unknown “for loops” are for computers Delivery is painful