Continuous Integration
Presentation by
Hung Nguyen Huy
Contents
1. Prerequisites
2. Problems
3. What is Continuous Integration?
4. Why Continuous Integration?
5. How does Continuous Integration works?
6. Best practices of Continuous Integration
7. Summary
Prerequisites
● Version Control System
● Automation Testing
● Software Build
● Software Deployment
Version Control System (VCS)
● A system that records changes to a file or set of files over time.
● Every file
○ Has a full history of changes: records of Who did What, When, Why
○ Can be restored to any version at any time
● Benefits
○ Allows a team to manage/share source code
○ Keeps track of all versions of files
○ Possibility to recall specific versions of files
○ Allows simultaneous development of different features on the same codebase
Distributed Version Control System
Distributed Version Control System
Terminologies:
● Repository
● Clone
● Commit
● Pull/Push
● Branch
● Merge (Integrate)
Automation Testing
● The use of special software/tools to:
○ Control the execution of tests
○ Assert actual outcomes with expected outcomes
● Critical for CI/CD.
Software Build
What is software build?
● The process by which source code is converted in to a standalone software
artifact that can be run on a server
Build tools
● The process of building software is usually managed by a build tool
● Examples: Ant, Maven, Gradle,…
Software Deployment
● All of the activities that make a software available to use.
● Including installation, configuration, running, testing, and making necessary
changes,…
Problems
Problems
The Source of the Problem
● Traditional software integration
● Change conflicts
● Escalating Factors
Integration Hell
Continuous Integration (CI)
Solution: Integrate Continuously
What is Continuous Integration?
● a development methodology
● of daily developer integrations
● verified by automated builds (including tests)
Why Continuous Integration?
Why Continuous Integration?
Building Software can be a risky business
● Fixing bugs late is costly
● Lack of team cohesion
● Lack of project visibility
● Poor quality code base
● Lack of deployable software
Risk 01: Fixing bugs late is costly
Risk 02: Lack of team cohesion
● “Your changes to UserService conflicts with mine. How do we merge now?”
● “When did you change the Account API? I’m still using the old version in my
branch? How can I merge now?”
● “When did we decided to upgrade to version 2.0-alpha of iTextPDF?”
● ….
Risk 03: Lack of project visibility
● “What do you mean by the latest build was fail and the master branch was
broken?”
● “What do you mean the tests are failing?”
● “What’s in version 1.2.3 of the build?”
● “What’s our code coverage now? “
Risk 04: Poor quality code base
● “We have 3 classes doing the same thing???”
● “We have a function with thousand lines of code???”
● Coding standard violations
● Duplicated code!
● ….
Risk 05: Lack of deployable software
● “It works on my machine!”
● “I need a new build to test with” (QA)
● “The [boss|client|customer] is coming, we need to demo progress asap”
Use Continuous Integration
to reduce the risks
How CI works?
● What constitutes a build?
● When do I build?
● How do I build?
● CI Workflow
What constitutes a build?
● Compilation
● Test execution
● Database integration
● Code Inspection
● Document generation
● Feedback
Compilation
● Ensures code actually compiles
● Can be ignored in the case of interpreted languages.
Test Execution
● Ensures product functions as expected.
● Through repeatable testing.
Database Integration
● Ensures Database and Code in sync.
● Automates (re)creation of Database and test data.
Code Inspection
● Ensures a quality code base.
● Identifies problems early.
● Enforces best practices and coding standards.
Document Generation
● Automatically ensures software documentation is current.
● Produces build reports and metrics.
Feedback
Provide immediately feedback to developers and other stake-holders.
How do I build?
● Use a single build script
● That can run from the cmdline
● Do NOT depend on an IDE
Do it continuously!
● Use a dedicated CI server
● Trigger on ALL daily check-ins, not cron
● NOT only at midnight
Pay attention to your build
● Provide immediate feedback
● Make it easily accessible
● Require NO developer effort
Metrics matter
● Identify key metrics and track them visually
● Act on them immediately
CI Workflow
Best Practices
1.
Commit Early,
Commit Often
Everyone commits to the Mainline EVERY DAY
2.
NEVER commit broken code
Run private build first
3.
Fix build failures immediately,
Avoid getting broken code
4.
Fail Fast
5.
Everyone can see what’s happening
6.
Act on metrics
7.
Build & Test in a clone
of the production environment
8.
Create artifacts from every build
Make it easy for anyone to get the latest executable version
Summary
Continuous Integration
Can help you build better quality
software faster, with more
confidence
Thanks for listening!

More Related Content

PDF
Common blind spots on the journey to production vijay raghavan aravamudhan
PDF
Spring Framework Tutorial | VirtualNuggets
PDF
Building Big Architectures XP Conference 2016
PPTX
Spring Framework 5.0: Hidden Gems
PDF
Javantura v4 - Security architecture of the Java platform - Martin Toshev
ODP
Learn Continuous Integration with Jenkins All in One Guide
PDF
Creating modern java web applications based on struts2 and angularjs
PDF
Writing S.O.L.I.D Code
Common blind spots on the journey to production vijay raghavan aravamudhan
Spring Framework Tutorial | VirtualNuggets
Building Big Architectures XP Conference 2016
Spring Framework 5.0: Hidden Gems
Javantura v4 - Security architecture of the Java platform - Martin Toshev
Learn Continuous Integration with Jenkins All in One Guide
Creating modern java web applications based on struts2 and angularjs
Writing S.O.L.I.D Code

What's hot (19)

PPTX
Testing in DevOps world
PDF
Javantura v4 - Spring Boot and JavaFX - can they play together - Josip Kovaček
PDF
Continuous integration / deployment with Jenkins
PPTX
Continuous integration with Jenkins
PPTX
Leveling Up Deployment Infrastructure
PPTX
MuleSoft CloudHub API Versioning
PPTX
JENKINS Training
PPT
Enter the Team City
PPTX
Wellington MuleSoft Meetup 2021-02-18
PDF
The Evolution of Continuous Delivery at Scale @ Linkedin
PDF
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
PDF
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
PPTX
Zalenium - How to run Selenium Script using Docker and Selenium Grid
PPT
Continuous Delivery with Visual Studio Online
PPTX
Operations Validation for Infrastructure As Code - PSConfEU 2016
PPTX
Developing Infrastructure Code for CI & CD
PPTX
Mobile UI Testing using Appium and Docker
PDF
Testing strategies and best practices using MUnit
PPTX
Meetup bangalore-may22nd2021
Testing in DevOps world
Javantura v4 - Spring Boot and JavaFX - can they play together - Josip Kovaček
Continuous integration / deployment with Jenkins
Continuous integration with Jenkins
Leveling Up Deployment Infrastructure
MuleSoft CloudHub API Versioning
JENKINS Training
Enter the Team City
Wellington MuleSoft Meetup 2021-02-18
The Evolution of Continuous Delivery at Scale @ Linkedin
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
Zalenium - How to run Selenium Script using Docker and Selenium Grid
Continuous Delivery with Visual Studio Online
Operations Validation for Infrastructure As Code - PSConfEU 2016
Developing Infrastructure Code for CI & CD
Mobile UI Testing using Appium and Docker
Testing strategies and best practices using MUnit
Meetup bangalore-may22nd2021
Ad

Similar to Introduction to Continuous Integration (20)

PPTX
Continuous Integration
PDF
Continuous Integration
PDF
Flight East 2018 Presentation–Continuous Integration––An Overview
PPT
Continuous Integration and Builds
PDF
Continuous integration & Continuous Delivery @DeVz
PPT
Continuous Integration
PPTX
Continuous Integration
PPT
Continuous Integration
PDF
Quickstart for continuous integration
PPTX
Continuos Delivery
PDF
Continuous integration
PDF
What is Continuous Integration_ - A Comprehensive Guide.pdf
ODP
Continous integration
ODP
Continuous integration by Halyna Levko
PPT
Continuous integration
PPTX
Continuous Integrations & Deployments
PPTX
Continuous Integration: Finding problems soonest
PPTX
Continuous integration for se group meeting
PDF
Continuous integration - stability, reliability and speed in software develop...
Continuous Integration
Continuous Integration
Flight East 2018 Presentation–Continuous Integration––An Overview
Continuous Integration and Builds
Continuous integration & Continuous Delivery @DeVz
Continuous Integration
Continuous Integration
Continuous Integration
Quickstart for continuous integration
Continuos Delivery
Continuous integration
What is Continuous Integration_ - A Comprehensive Guide.pdf
Continous integration
Continuous integration by Halyna Levko
Continuous integration
Continuous Integrations & Deployments
Continuous Integration: Finding problems soonest
Continuous integration for se group meeting
Continuous integration - stability, reliability and speed in software develop...
Ad

Recently uploaded (20)

PPTX
Improving Audience Engagement ROI with ERP-Powered Insights
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
PPTX
Relevance Tuning with Genetic Algorithms
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PPTX
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
PPTX
Comprehensive Guide to Digital Image Processing Concepts and Applications
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
PDF
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
PPTX
Foundations of Marketo Engage: Nurturing
PPTX
AI Tools Revolutionizing Software Development Workflows
PPTX
Greedy best-first search algorithm always selects the path which appears best...
PDF
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
PDF
Multiverse AI Review 2025_ The Ultimate All-in-One AI Platform.pdf
PPTX
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
PPTX
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
PPTX
StacksandQueuesCLASS 12 COMPUTER SCIENCE.pptx
PDF
IT Consulting Services to Secure Future Growth
PDF
Top 10 Project Management Software for Small Teams in 2025.pdf
PDF
Adlice Diag Crack With Serial Key Free Download 2025
PDF
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
Improving Audience Engagement ROI with ERP-Powered Insights
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Relevance Tuning with Genetic Algorithms
What Makes a Great Data Visualization Consulting Service.pdf
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
Comprehensive Guide to Digital Image Processing Concepts and Applications
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
Foundations of Marketo Engage: Nurturing
AI Tools Revolutionizing Software Development Workflows
Greedy best-first search algorithm always selects the path which appears best...
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
Multiverse AI Review 2025_ The Ultimate All-in-One AI Platform.pdf
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
StacksandQueuesCLASS 12 COMPUTER SCIENCE.pptx
IT Consulting Services to Secure Future Growth
Top 10 Project Management Software for Small Teams in 2025.pdf
Adlice Diag Crack With Serial Key Free Download 2025
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer

Introduction to Continuous Integration