SlideShare a Scribd company logo
CI/CD
Continuous Integration / Continuous Delivery
Gabriel Araujo
● I’m not an expert
● Full-Stack Web Developer
● Wordy Curious guy
● Fascinated by automation and
computer-assisted tasks
● Work Experience
○ Jenkins
○ TeamCity
○ Travis
○ VSTS
○ Gitlab CI
○ Codeship
○ ...
What is Continuous Integration?
The practice of regularly
integrating code changes into
the mainline.
More than once,
daily.
“Continuously is more often than you
think.”
- Mike Roberts
Why teams are doing it?
Fail fast,
fail often.
It’s
time-saving.
Ready to deploy at
any time.
Enable project
visibility.
It gives
confidence.
Why teams are not doing it?
One more
thing to
maintain.
Too much
change.
Too much
failed
builds.
Additional costs.
It’s a
developer job.
Extreme Programming Explained
by Kent Beck (1999)
● Sit Together
● Whole Team
● Informative Workspace
● Energized Work
● Pair Programming
● Stories
● Weekly Cycle
● Quarterly Cycle
● Slack
● Ten-Minute Build
● Continuous Integration
● Test-First Programming
● Incremental Design
Commit Code Frequently
● Integrate early and often
○ Integration = Communication
● Avoid late integration
○ long-lived branches
○ Branch-heavy workflow (e.g., gitflow)
○ Time-consuming
○ Prevent developers from using latest
changes
● Make small changes
○ Break down a larger task
○ Feature flags
● Commit after each task
● Up to date mainline
● Conflicts reduced
● Smaller PRs
● Better code review
Automated Builds
● Complicated process but predictable
○ Reproducible on any environment
● From zero to hero with a single command
● Keep the build fast
○ Build what’s needed
○ Lightweight builds (private builds)
○ Caching strategies
● Run automated tests and inspection
○ Generate reports
○ Visualize trends
● Fix broken builds immediately
“Crucially, if the build fails, the development
team stops whatever they are doing and
fixes the problem immediately”
- Jez Humble and David Farley
Criticism
● Builds get broken often
● Unable to fix errors in time
● Code is already on master
● Build flags are ignored
Continuous Integration
vs
Continuous Delivery
vs
Continuous Deployment
Code Build Integrate Test Release Deploy
Continuous Integration
Continuous Delivery
Continuous Deployment
Build and Test
Automated
System
Dev
Dev
Dev
Dev
Dev
Production
Feat 346 Feat 45 Testing Staging
Services and tools
● Jenkins
● Bamboo
● Bitbucket Pipelines
● TeamCity
● VSTS
● Codeship
● Travis CI
● CircleCI
● GO
● Gitlab CI
● Github Actions
● Buildbot
● CruiseControl
● AppVeyor
● Drone.io
● ...
Hands on
And a little bit of code
Gitlab CI Features
● Configuration as code (yaml)
● Your own distributed isolated runners
● Multi-stage and parallel jobs
● Manual deploy gates
● Artifacts storage
● Built-in registry
● Docker, shell, support (main)
● Environments
● Review Apps (preview)
● Caching configs
● Triggers
○ Push
○ Branches, tags (regex)
○ Other pipeline
○ Schedules
○ API
○ Manual (web)
○ Merge requests
○ Chats
Constinuous Integration
Code pushed
to gitlab
unit tests
integration testsbuild deploy
feature/*
develop
stage
Code pushed
to gitlab
lint TS
lint SCSS
unit tests
build
build
build deploy
deploy
deploy destroy
ui tests
feature/*
master
tag
version
Code pushed
to gitlab
lint TS
lint SCSS
unit tests
build
build
build deploy
deploy
deploy destroy
ui tests
Thanks!
Contact me:
Invillia
151 Padre Duarte
Araraquara, SP 14800-360
contato@gabrielaraujo.dev
gabrielaraujo.dev
References
● Continuous Integration - What's the point?
● Why Continuous Integration Doesn’t Work
● Software Configuration Management Patterns: Effective Teamwork,
Practical Integration
● What is a Continuous Integration and Delivery Pipeline, and Why Is It
Important?
● Continuous Integration: Improving Software Quality and Reducing Risk

More Related Content

PDF
Modern Messaging for Distributed Systems
PDF
“Practical DevOps by a small team of devs” by Ilgvars Jēcis from FinoTech  at...
PDF
Embracing Continuous Integration
PPTX
Develop 4 Developers
PDF
Eric tucker - Eliminating "Over the Fence"
PPTX
ChatBots for self-service DevOps
PDF
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
PDF
The bugfix confirmation loop - PyConFI 2013
Modern Messaging for Distributed Systems
“Practical DevOps by a small team of devs” by Ilgvars Jēcis from FinoTech  at...
Embracing Continuous Integration
Develop 4 Developers
Eric tucker - Eliminating "Over the Fence"
ChatBots for self-service DevOps
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
The bugfix confirmation loop - PyConFI 2013

What's hot (20)

PPTX
How do we test nodejs apps?
PPTX
Project management frameworks for software developing
PDF
Balancing Technical Debt and Clean Code
PDF
PPTX
Lessons Learnt from Backend Systems Development
PPTX
Domenico Musto "Continuous Delivery Made Possible"
PPTX
Who needs Visual Studio? - Philly.NET Code Camp 2016
PPTX
Typescript kata The TDD style 2 edition
PPTX
How we use Silverstripe CMS to deliver bilingual and accessible websites
PPTX
Speed up Development by Turning Web Blocks Into First-Class Citizens
PDF
How to approach building GUIs using PyQT
PDF
The Continuous Delivery process
PDF
Capistrano @ VilniusPHP
PDF
meetup version of Paving the road to production
PDF
Releaseflow: a healthy build and deploy process
PDF
Software Development Lifecycles
PDF
VN Tech Seminor Vol.3 Hubot Tutorial
PPT
TypeScript - Javascript done right
PPTX
Open NTF OpenSource is collaboration at its best and matters
PDF
Software development. xp, agile, etc.
How do we test nodejs apps?
Project management frameworks for software developing
Balancing Technical Debt and Clean Code
Lessons Learnt from Backend Systems Development
Domenico Musto "Continuous Delivery Made Possible"
Who needs Visual Studio? - Philly.NET Code Camp 2016
Typescript kata The TDD style 2 edition
How we use Silverstripe CMS to deliver bilingual and accessible websites
Speed up Development by Turning Web Blocks Into First-Class Citizens
How to approach building GUIs using PyQT
The Continuous Delivery process
Capistrano @ VilniusPHP
meetup version of Paving the road to production
Releaseflow: a healthy build and deploy process
Software Development Lifecycles
VN Tech Seminor Vol.3 Hubot Tutorial
TypeScript - Javascript done right
Open NTF OpenSource is collaboration at its best and matters
Software development. xp, agile, etc.
Ad

Similar to Constinuous Integration (20)

PDF
The state of Jenkins pipelines or do I still need freestyle jobs
PDF
Continuous integration (eng)
PDF
Survival of the Continuist
PDF
Continuous integration & Continuous Delivery @DeVz
PDF
Continuous integrations - Basics
PDF
High Performance Software Engineering Teams
PDF
Drupal and Devops , the Survey Results
PDF
Developer Productivity Engineering with Gradle
PDF
Services, tools & practices for a software house
PDF
Devops, the future is here, it's just not evenly distributed yet.
PPTX
Continuous integration introduction
PPTX
What is dev ops?
PDF
Debugging 2013- Lars pedersen
PDF
Scrum is not enough - being a successful agile engineer
PDF
Keeping code clean
PDF
Test driven development_continuous_integration
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
PDF
Magento Continuous Integration & Continuous Delivery @MM17HR
PDF
Passing the Joel Test in the PHP World (phpbnl10)
PPTX
Introduction to jenkins for the net developer
The state of Jenkins pipelines or do I still need freestyle jobs
Continuous integration (eng)
Survival of the Continuist
Continuous integration & Continuous Delivery @DeVz
Continuous integrations - Basics
High Performance Software Engineering Teams
Drupal and Devops , the Survey Results
Developer Productivity Engineering with Gradle
Services, tools & practices for a software house
Devops, the future is here, it's just not evenly distributed yet.
Continuous integration introduction
What is dev ops?
Debugging 2013- Lars pedersen
Scrum is not enough - being a successful agile engineer
Keeping code clean
Test driven development_continuous_integration
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Magento Continuous Integration & Continuous Delivery @MM17HR
Passing the Joel Test in the PHP World (phpbnl10)
Introduction to jenkins for the net developer
Ad

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Transform Your Business with a Software ERP System
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Understanding Forklifts - TECH EHS Solution
PDF
top salesforce developer skills in 2025.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
How to Choose the Right IT Partner for Your Business in Malaysia
How to Migrate SBCGlobal Email to Yahoo Easily
ISO 45001 Occupational Health and Safety Management System
VVF-Customer-Presentation2025-Ver1.9.pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Online Work Permit System for Fast Permit Processing
Upgrade and Innovation Strategies for SAP ERP Customers
Operating system designcfffgfgggggggvggggggggg
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Transform Your Business with a Software ERP System
Odoo POS Development Services by CandidRoot Solutions
Navsoft: AI-Powered Business Solutions & Custom Software Development
Understanding Forklifts - TECH EHS Solution
top salesforce developer skills in 2025.pdf
Wondershare Filmora 15 Crack With Activation Key [2025

Constinuous Integration