SlideShare a Scribd company logo
23-05-2018
1
Trunk Based Development
Ritabrata Moitra
2
Continuous Integration
● Development practice that requires
developers to integrate code into a shared
repository several times a day
● Each check-in is then verified with an
automated build
● Detect problems early
What and Why?
23-05-2018
2
3
Continuous Integration
EARLY FEEDBACK
Most Valuable Player
4
Branching
The Why
23-05-2018
3
5
Let’s Build a
house (again)
6
Let’s Build a
house (again)
23-05-2018
4
7
Feature Branching
The Why
8
Feature Branching
● Code, much like a house, does not
work in isolation
● Late feedback
● Risky to integrateWhat went wrong there?
23-05-2018
5
9
● Developers push code ( of all
possible features that are in
development ) on to a single
remote branch, referred to as the
trunk
● No merge hells
● Faster feedback
● No “It works on my machine”
● Always release ready
Trunk Based Development
Only way to achieve CI
10
● Small commits, frequent commits
● Faster time to production ( optimise
builds, tests, whatever it takes )
● Team’s mindset and commitment
to maintain “every commit as
production-ready”.
● NEVER intentionally commit a
change that we know doesn’t work
Benefits
23-05-2018
6
11
AAQ’s
❖ How do you build something
complex in a small commit?
➢ You don’t.
❖ Bug fixes?
➢ Why should they be
different?
❖ Code Reviews ?
➢ Aha! Pair!
❖ Only works for small teams?
➢ Google does TBD with 25000
devs developing on a single
trunk. (Source: Rachel Potvin, Engineering
Manager, Google)
ALWAYS asked questions
12
❖ But we have short lived branches!
➢ What do you mean by short
lived?
➢ More than a day? Not short!
➢ Less than a day? Why bother?
❖ What about new unfinished
features? How do we push them ?
AAQ’s
ALWAYS asked questions
23-05-2018
7
13
AAQ’s
Always Asked Questions
Feature Toggles
14
● DONT BRANCH!
● Dont Branch!
● Dont branch!
Branching strategies
Lets recap!
23-05-2018
8
THANK YOU
Ritabrata Moitra

More Related Content

What's hot

Wagento Magento 2 developer - Brent W Peterson
Wagento Magento 2 developer - Brent W PetersonWagento Magento 2 developer - Brent W Peterson
Wagento Magento 2 developer - Brent W Peterson
Brent W Peterson
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for Beginners
Nebulaworks
 
Continuous integration introduction
Continuous integration introductionContinuous integration introduction
Continuous integration introduction
Yoram Michaeli
 
Continuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVzContinuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVz
Denis Ristic
 
How to monitor kubernetes clusters
How to monitor kubernetes clustersHow to monitor kubernetes clusters
How to monitor kubernetes clusters
Syed Imam
 
Continuous integration CloudParty 21 may 2014 - Milan
Continuous integration CloudParty 21 may 2014 - MilanContinuous integration CloudParty 21 may 2014 - Milan
Continuous integration CloudParty 21 may 2014 - Milan
Simone Pasquini
 
How to keep modules up to date
How to keep modules up to dateHow to keep modules up to date
How to keep modules up to date
Thomas Fleck
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
icaraion
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
JEMLI Fathi
 
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
OW2
 
Git Watch
Git WatchGit Watch
Magento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRMagento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HR
Denis Ristic
 
CoDe:U git flow
CoDe:U git flowCoDe:U git flow
CoDe:U git flow
Lars Kruse
 
Debugging 2013- Lars pedersen
Debugging 2013- Lars pedersenDebugging 2013- Lars pedersen
Debugging 2013- Lars pedersen
Mediehuset Ingeniøren Live
 
Intro to Git for Project Managers
Intro to Git for Project ManagersIntro to Git for Project Managers
Intro to Git for Project Managers
OyeLabs
 
Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
Last 2019: Designing a DevOps Dependency Diagram to Decide Development DirectionLast 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
Mark Grebler
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Abhinav Gupta
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
Alexandra N. Martinez
 
Common Sense Agile
Common Sense AgileCommon Sense Agile
Common Sense Agile
Alex Apollonsky
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
Noa Harel
 

What's hot (20)

Wagento Magento 2 developer - Brent W Peterson
Wagento Magento 2 developer - Brent W PetersonWagento Magento 2 developer - Brent W Peterson
Wagento Magento 2 developer - Brent W Peterson
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for Beginners
 
Continuous integration introduction
Continuous integration introductionContinuous integration introduction
Continuous integration introduction
 
Continuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVzContinuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVz
 
How to monitor kubernetes clusters
How to monitor kubernetes clustersHow to monitor kubernetes clusters
How to monitor kubernetes clusters
 
Continuous integration CloudParty 21 may 2014 - Milan
Continuous integration CloudParty 21 may 2014 - MilanContinuous integration CloudParty 21 may 2014 - Milan
Continuous integration CloudParty 21 may 2014 - Milan
 
How to keep modules up to date
How to keep modules up to dateHow to keep modules up to date
How to keep modules up to date
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
 
Git Watch
Git WatchGit Watch
Git Watch
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRMagento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HR
 
CoDe:U git flow
CoDe:U git flowCoDe:U git flow
CoDe:U git flow
 
Debugging 2013- Lars pedersen
Debugging 2013- Lars pedersenDebugging 2013- Lars pedersen
Debugging 2013- Lars pedersen
 
Intro to Git for Project Managers
Intro to Git for Project ManagersIntro to Git for Project Managers
Intro to Git for Project Managers
 
Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
Last 2019: Designing a DevOps Dependency Diagram to Decide Development DirectionLast 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
Common Sense Agile
Common Sense AgileCommon Sense Agile
Common Sense Agile
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 

Similar to Trunk based development ritabrata

Implementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for CheapskatesImplementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for Cheapskates
mhenroid
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
Hùng Nguyễn Huy
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 
Continuous Integration and Delivery
Continuous Integration and DeliveryContinuous Integration and Delivery
Continuous Integration and Delivery
Brandon Cornett
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and Mockito
C4Media
 
Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"
Lars Thorup
 
Configuration Management and Deployment
Configuration Management and DeploymentConfiguration Management and Deployment
Configuration Management and Deployment
SomnathMore3
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
Brian Moon
 
The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...
Mek Srunyu Stittri
 
Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)
Chandrapal Badshah
 
Python Linters at Scale.pdf
Python Linters at Scale.pdfPython Linters at Scale.pdf
Python Linters at Scale.pdf
Jimmy Lai
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
Anatoliy Okhotnikov
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
How do we test nodejs apps?
How do we test nodejs apps?How do we test nodejs apps?
How do we test nodejs apps?
Michal Juhas
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous Integration
Gabriel Araujo
 
Intro to Continuous Integration
Intro to Continuous IntegrationIntro to Continuous Integration
Intro to Continuous Integration
Tal Mor (Moshayov)
 
AgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel HarpAgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel Harp
Barry Gavril
 
Gerrit Code Review
Gerrit Code ReviewGerrit Code Review
Gerrit Code Review
Johannes Barop
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
dcieslak
 

Similar to Trunk based development ritabrata (20)

Implementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for CheapskatesImplementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for Cheapskates
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
 
Continuous Integration and Delivery
Continuous Integration and DeliveryContinuous Integration and Delivery
Continuous Integration and Delivery
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and Mockito
 
Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"
 
Configuration Management and Deployment
Configuration Management and DeploymentConfiguration Management and Deployment
Configuration Management and Deployment
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...
 
Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)
 
Python Linters at Scale.pdf
Python Linters at Scale.pdfPython Linters at Scale.pdf
Python Linters at Scale.pdf
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
How do we test nodejs apps?
How do we test nodejs apps?How do we test nodejs apps?
How do we test nodejs apps?
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous Integration
 
Intro to Continuous Integration
Intro to Continuous IntegrationIntro to Continuous Integration
Intro to Continuous Integration
 
AgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel HarpAgileLINC Continous Slides by Daniel Harp
AgileLINC Continous Slides by Daniel Harp
 
Gerrit Code Review
Gerrit Code ReviewGerrit Code Review
Gerrit Code Review
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
 

More from apgionline

Collaboration secret power to shift through change lizzy morris
Collaboration secret power to shift through change lizzy morrisCollaboration secret power to shift through change lizzy morris
Collaboration secret power to shift through change lizzy morris
apgionline
 
Autonomic computing-18th may dhiren shah prachi shah
Autonomic computing-18th may dhiren shah prachi shahAutonomic computing-18th may dhiren shah prachi shah
Autonomic computing-18th may dhiren shah prachi shah
apgionline
 
Akka actorstotherescue nirmalya sengupta
Akka actorstotherescue nirmalya senguptaAkka actorstotherescue nirmalya sengupta
Akka actorstotherescue nirmalya sengupta
apgionline
 
Agile for everything dan greening
Agile for everything dan greeningAgile for everything dan greening
Agile for everything dan greening
apgionline
 
Agile coach as psychologists chandan lal patary
Agile coach as psychologists chandan lal pataryAgile coach as psychologists chandan lal patary
Agile coach as psychologists chandan lal patary
apgionline
 
Agile beyond it case study sanika bhide
Agile beyond it case study sanika bhideAgile beyond it case study sanika bhide
Agile beyond it case study sanika bhide
apgionline
 
2018 05 - human side of agile - apgi - jayaprakash prabhakar
2018 05 - human side of agile - apgi - jayaprakash prabhakar2018 05 - human side of agile - apgi - jayaprakash prabhakar
2018 05 - human side of agile - apgi - jayaprakash prabhakar
apgionline
 
10 commandments-mandar-kulkarni
10 commandments-mandar-kulkarni10 commandments-mandar-kulkarni
10 commandments-mandar-kulkarni
apgionline
 
Sprint design thinking amit ranjan
Sprint design thinking amit ranjanSprint design thinking amit ranjan
Sprint design thinking amit ranjan
apgionline
 
Scrum master master class
Scrum master master classScrum master master class
Scrum master master class
apgionline
 
SAFe case study vandana sinha temenos
SAFe case study vandana sinha temenosSAFe case study vandana sinha temenos
SAFe case study vandana sinha temenos
apgionline
 
Pratham IIT B team
Pratham IIT B teamPratham IIT B team
Pratham IIT B team
apgionline
 
Performance kanban springer nature rucha kapare
Performance kanban springer nature rucha kaparePerformance kanban springer nature rucha kapare
Performance kanban springer nature rucha kapare
apgionline
 
Keynote Lizzy Morris
Keynote Lizzy MorrisKeynote Lizzy Morris
Keynote Lizzy Morris
apgionline
 
Institutionalization of user experience chaitanya inamdar
Institutionalization of user experience chaitanya inamdarInstitutionalization of user experience chaitanya inamdar
Institutionalization of user experience chaitanya inamdar
apgionline
 
Infuse life embrace change sunil mundra
Infuse life embrace change sunil mundraInfuse life embrace change sunil mundra
Infuse life embrace change sunil mundra
apgionline
 
How to get more out of your agile transformation nilesh kulkarni
How to get more out of your agile transformation nilesh kulkarniHow to get more out of your agile transformation nilesh kulkarni
How to get more out of your agile transformation nilesh kulkarni
apgionline
 
Great orientation rahul shah
Great orientation rahul shahGreat orientation rahul shah
Great orientation rahul shah
apgionline
 
Enterpreneur mindset for agile teams sharmila patwardhan
Enterpreneur mindset for agile teams sharmila patwardhanEnterpreneur mindset for agile teams sharmila patwardhan
Enterpreneur mindset for agile teams sharmila patwardhan
apgionline
 
Emotional intelligence pooja wandile
Emotional intelligence pooja wandileEmotional intelligence pooja wandile
Emotional intelligence pooja wandile
apgionline
 

More from apgionline (20)

Collaboration secret power to shift through change lizzy morris
Collaboration secret power to shift through change lizzy morrisCollaboration secret power to shift through change lizzy morris
Collaboration secret power to shift through change lizzy morris
 
Autonomic computing-18th may dhiren shah prachi shah
Autonomic computing-18th may dhiren shah prachi shahAutonomic computing-18th may dhiren shah prachi shah
Autonomic computing-18th may dhiren shah prachi shah
 
Akka actorstotherescue nirmalya sengupta
Akka actorstotherescue nirmalya senguptaAkka actorstotherescue nirmalya sengupta
Akka actorstotherescue nirmalya sengupta
 
Agile for everything dan greening
Agile for everything dan greeningAgile for everything dan greening
Agile for everything dan greening
 
Agile coach as psychologists chandan lal patary
Agile coach as psychologists chandan lal pataryAgile coach as psychologists chandan lal patary
Agile coach as psychologists chandan lal patary
 
Agile beyond it case study sanika bhide
Agile beyond it case study sanika bhideAgile beyond it case study sanika bhide
Agile beyond it case study sanika bhide
 
2018 05 - human side of agile - apgi - jayaprakash prabhakar
2018 05 - human side of agile - apgi - jayaprakash prabhakar2018 05 - human side of agile - apgi - jayaprakash prabhakar
2018 05 - human side of agile - apgi - jayaprakash prabhakar
 
10 commandments-mandar-kulkarni
10 commandments-mandar-kulkarni10 commandments-mandar-kulkarni
10 commandments-mandar-kulkarni
 
Sprint design thinking amit ranjan
Sprint design thinking amit ranjanSprint design thinking amit ranjan
Sprint design thinking amit ranjan
 
Scrum master master class
Scrum master master classScrum master master class
Scrum master master class
 
SAFe case study vandana sinha temenos
SAFe case study vandana sinha temenosSAFe case study vandana sinha temenos
SAFe case study vandana sinha temenos
 
Pratham IIT B team
Pratham IIT B teamPratham IIT B team
Pratham IIT B team
 
Performance kanban springer nature rucha kapare
Performance kanban springer nature rucha kaparePerformance kanban springer nature rucha kapare
Performance kanban springer nature rucha kapare
 
Keynote Lizzy Morris
Keynote Lizzy MorrisKeynote Lizzy Morris
Keynote Lizzy Morris
 
Institutionalization of user experience chaitanya inamdar
Institutionalization of user experience chaitanya inamdarInstitutionalization of user experience chaitanya inamdar
Institutionalization of user experience chaitanya inamdar
 
Infuse life embrace change sunil mundra
Infuse life embrace change sunil mundraInfuse life embrace change sunil mundra
Infuse life embrace change sunil mundra
 
How to get more out of your agile transformation nilesh kulkarni
How to get more out of your agile transformation nilesh kulkarniHow to get more out of your agile transformation nilesh kulkarni
How to get more out of your agile transformation nilesh kulkarni
 
Great orientation rahul shah
Great orientation rahul shahGreat orientation rahul shah
Great orientation rahul shah
 
Enterpreneur mindset for agile teams sharmila patwardhan
Enterpreneur mindset for agile teams sharmila patwardhanEnterpreneur mindset for agile teams sharmila patwardhan
Enterpreneur mindset for agile teams sharmila patwardhan
 
Emotional intelligence pooja wandile
Emotional intelligence pooja wandileEmotional intelligence pooja wandile
Emotional intelligence pooja wandile
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 

Trunk based development ritabrata

  • 1. 23-05-2018 1 Trunk Based Development Ritabrata Moitra 2 Continuous Integration ● Development practice that requires developers to integrate code into a shared repository several times a day ● Each check-in is then verified with an automated build ● Detect problems early What and Why?
  • 2. 23-05-2018 2 3 Continuous Integration EARLY FEEDBACK Most Valuable Player 4 Branching The Why
  • 3. 23-05-2018 3 5 Let’s Build a house (again) 6 Let’s Build a house (again)
  • 4. 23-05-2018 4 7 Feature Branching The Why 8 Feature Branching ● Code, much like a house, does not work in isolation ● Late feedback ● Risky to integrateWhat went wrong there?
  • 5. 23-05-2018 5 9 ● Developers push code ( of all possible features that are in development ) on to a single remote branch, referred to as the trunk ● No merge hells ● Faster feedback ● No “It works on my machine” ● Always release ready Trunk Based Development Only way to achieve CI 10 ● Small commits, frequent commits ● Faster time to production ( optimise builds, tests, whatever it takes ) ● Team’s mindset and commitment to maintain “every commit as production-ready”. ● NEVER intentionally commit a change that we know doesn’t work Benefits
  • 6. 23-05-2018 6 11 AAQ’s ❖ How do you build something complex in a small commit? ➢ You don’t. ❖ Bug fixes? ➢ Why should they be different? ❖ Code Reviews ? ➢ Aha! Pair! ❖ Only works for small teams? ➢ Google does TBD with 25000 devs developing on a single trunk. (Source: Rachel Potvin, Engineering Manager, Google) ALWAYS asked questions 12 ❖ But we have short lived branches! ➢ What do you mean by short lived? ➢ More than a day? Not short! ➢ Less than a day? Why bother? ❖ What about new unfinished features? How do we push them ? AAQ’s ALWAYS asked questions
  • 7. 23-05-2018 7 13 AAQ’s Always Asked Questions Feature Toggles 14 ● DONT BRANCH! ● Dont Branch! ● Dont branch! Branching strategies Lets recap!