SlideShare a Scribd company logo
Continuous Integration
—An Overview
Dr. Robert Burnett
Director, Software Engineering
This presentation consists of L -3 Communications Corporation general capabilities
and administrative information that does not contain controlled technical data as
defined within the International Traffic in Arms (ITAR) Part 120.10 or Export
Administration Regulations (EAR) Part 734.7-11.
The practice of regular, comprehensive, and
automatic building and testing of applications
in software development
Continuous Integration
Compile
Build
Test
2
Reliance on manual processes to build
and test software is problematic.
• Error prone.
• Lack of consistency
• Build and integration processes have become
more complex
• Static testing is a critical step in the process
• Quick turnaround on validating changes is now
required to:
• Reduce cost associated with finding defects late
• Reduce time to deploy changes/updates
Why is Continuous Integration (CI) so important?
3
Continuous Integration is a development practice
that requires developers to integrate code into a
shared repository several times a day. Each
commit is then verified by an automated build,
allowing teams to detect problems early.
Integration builds are tested early and often
and functional builds are maintained at all times.
• Don’t leave the build broken
• In a Continuous Integration environment
you should never have a integration build
in a ‘failure state’ for long.
A Fundamental change in how you think about software development
Martin Fowler’s “original” principles of Continuous Deployment
1. Configuration
control single code
repository
2. Automate the
build process
3. Automate
testing
4. Developers
commit changes
to the baseline
daily
5. Build every
commit (to
baseline)
6. Keep the build
fast
7. Test in a clone
of the production
environment
8. Make it easy to
get executable
code
9. Give everyone
full visibility to the
results of the
latest build
10. Automate
deployment
Continuous Integration
5
The CI Build System
Developers
Workspace
CI server
Dashboard
Version Controlled
Repository
Poll
Commit
Changes
Results
Build and Test
Servers
6
Continuous Integration - Basic steps
• Developers load the project source code into their
private workspaces. When done, commit the changes
to the repository
• The CI server monitors the repository and processes
changes when they occur. The CI server:
• Builds the system and runs unit and integration tests
• Releases deployable artifacts for testing
• Assigns a build label to the version of the code it just built
• Informs the team of the successful build
• Alerts the team if the build (or individual tests) fail
• The team fixes the issue at the earliest opportunity
• Report nightly build status on Dashboard
7
Continuous Integration
– Team responsibilities
Commit frequently
Don’t commit broken code
Don’t commit untested code
Don’t commit when the build is broken
Don’t go home after committing code
until the system builds
8
1. Before committing changes, check to see if a build is currently in the "Successful"
status. If not, you should assist in fixing a build before committing new code.
2. If the status is currently "Successful", you should update your personal workspace
to this configuration.
3. Build and test locally to ensure the update doesn't break functionality.
4. If Successful, commit the changes to the repository.
5. Allow CI to complete with new changes.
6. If build fails, stop and fix on your machine. Return to step 3.
7. If build passes, continue to work on the next item.
Continuous Integration checklist
9
10
Adding BlackDuck to our Continuous code inspection
11
Cause for caution
Not all Open-Source Software is Free
Open-Source Software (Free or other wise)
may have security vulnerabilities.
Sandwich from The Linux Foundation, Flight 2017
Free and Open-Source Software
(FOSS)
FOSS is a major part of the software
development landscape which cannot
be ignored.
FOSS provides software developers with a
significant advantage of not having to reinvent
the wheel (or re “implement” the wheel) for
their project.
Scans code for use of FOSS
• Identifies OSS components in code
(Generates FOSS BOM)
• Provides associated OSS license, compliance
and risk of usage
• Provides security vulnerability information for current
and previous scans
• Provides alert of the usage of unapproved OSS
How BlackDuck Hub Helps
12
Complex software development environments supporting multiple targets.
• Embedded ( C/C++,Python, etc.), Application (Java, JavaScript, etc.)
Significant variation in the software development processes
• Agile , Waterfall, and every thing in between
Significant variation in the developers level of engagement and buy-in with CI.
• First impression is this is “extra work”
Our experience at L3
13
14
The Chris Shayan Continuous Delivery Maturity Matrix
Our Progress in the last 5 years
Continuous Delivery
Maturity Matrix
Results of using the Test Automation (TA) on pilot Project A
Test automation in support of Continuous integration
15
Before TA After TA % Improvement
Time to write tests and perform
dry-runs per requirement
4 hrs/req 1.8 hrs/req 55%
Time to test each requirement
in formal test
5 mins/req 0.34 mins/req 93%
Total execution time 12 hours
35 mins auto
+ 1 hrs manual
87%
Results:
• Schedule for integration effort was predictable
• Lab Integration of software components was very quick (within a couple of hours)
or worked 100% the first time since all components were already thoroughly tested
in simulation
• Quick evaluation of code change during compilation and unit test
• Quick evaluation of pass/fail on new builds during integration via automated
regression suites
• Zero defects found during SW Verification dry runs and formal testing
• Zero defects found during System Verification dry runs
100% Code Coverage and Continuous Integration on Project E
16
Other examples
17
Project A2-L:
After implementing core pieces of CI (Build
automation and Test automation), the cycle
time for a new build release (tested &
verified) was reduced from and manually
intensive 3+ day effort to 4 hours.
Project A3-M:
After implementing core pieces of CI time for
incremental release (built, tested & verified)
was reduced from 146 hours to 38 hours
Main reasons for Continuous
Integration to fail
Infrequent check-ins, which lead to delayed integrations
Broken builds, which prevent teams from moving
on to other tasks
Minimal feedback, which prevents action from occurring
Receiving spam feedback, which causes people
to ignore messages
Possessing a slow machine, which delays feedback
Relying on a bloated build, which reduces rapid feedback
18
Thank you!

More Related Content

PDF
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
PDF
Flight East 2018 Presentation–Black Duck at Docusign
PDF
Integrating Black Duck into your Agile DevOps Environment
PDF
Making the Transition from Suite to the Hub
PDF
Customer Case Study: ScienceLogic - Many Paths to Compliance
PDF
Securing deployment pipeline
PDF
PKI in DevOps: How to Deploy Certificate Automation within CI/CD
PDF
Dev ops and safety critical systems
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
Flight East 2018 Presentation–Black Duck at Docusign
Integrating Black Duck into your Agile DevOps Environment
Making the Transition from Suite to the Hub
Customer Case Study: ScienceLogic - Many Paths to Compliance
Securing deployment pipeline
PKI in DevOps: How to Deploy Certificate Automation within CI/CD
Dev ops and safety critical systems

What's hot (20)

PDF
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
PDF
Introduction to dev ops
PPTX
The How and Why of Container Vulnerability Management
PDF
Packaging tool options
PPTX
Integrating security into Continuous Delivery
PPT
Code Quality - Security
PDF
Devops security-An Insight into Secure-SDLC
PDF
Securing Docker Containers
PDF
Don't Let Open Source be the Deal Breaker In Your M&A
PDF
Experience in teaching devops
PDF
Integrating Black Duck into Your Environment with Hub APIs
PPTX
Are your DevOps and Security teams friends or foes?
PPTX
Рабочие нагрузки Skype for business 2015 UC Lab
 
PPTX
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
PPTX
How to Get Started with DevSecOps
PDF
Better Security Testing: Using the Cloud and Continuous Delivery
PDF
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
PDF
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
PDF
SecDevOps
PPTX
OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Introduction to dev ops
The How and Why of Container Vulnerability Management
Packaging tool options
Integrating security into Continuous Delivery
Code Quality - Security
Devops security-An Insight into Secure-SDLC
Securing Docker Containers
Don't Let Open Source be the Deal Breaker In Your M&A
Experience in teaching devops
Integrating Black Duck into Your Environment with Hub APIs
Are your DevOps and Security teams friends or foes?
Рабочие нагрузки Skype for business 2015 UC Lab
 
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
How to Get Started with DevSecOps
Better Security Testing: Using the Cloud and Continuous Delivery
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
SecDevOps
OWASP AppSec EU - SecDevOps, a view from the trenches - Abhay Bhargav
Ad

Similar to Flight East 2018 Presentation–Continuous Integration––An Overview (20)

PPTX
Continuos Delivery
PDF
Introduction to Continuous Integration
PDF
Continuous Integration
PPT
Continuous integration
PPTX
Continuous Integration
PPTX
Continuous Integration: Finding problems soonest
PDF
What is Continuous Integration_ - A Comprehensive Guide.pdf
PDF
Continuous integration - stability, reliability and speed in software develop...
PDF
Continuous Integration
PPTX
Continuous integration for se group meeting
PPT
Continuous Integration
PDF
Continuous integrations - Basics
PPTX
Continuous integration
PDF
Continuous integration
PDF
Continuous Integration Introduction
PDF
Continuous Integration
PPT
Continuous Integration
PPT
Continuous Integration: A Case Study
PDF
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
Continuos Delivery
Introduction to Continuous Integration
Continuous Integration
Continuous integration
Continuous Integration
Continuous Integration: Finding problems soonest
What is Continuous Integration_ - A Comprehensive Guide.pdf
Continuous integration - stability, reliability and speed in software develop...
Continuous Integration
Continuous integration for se group meeting
Continuous Integration
Continuous integrations - Basics
Continuous integration
Continuous integration
Continuous Integration Introduction
Continuous Integration
Continuous Integration
Continuous Integration: A Case Study
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
Ad

More from Synopsys Software Integrity Group (20)

PDF
Webinar–Segen oder Fluch?
PDF
Webinar–Mobile Application Hardening Protecting Business Critical Apps
PDF
Webinar–The 2019 Open Source Year in Review
PDF
Webinar–Best Practices for DevSecOps at Scale
PDF
Webinar–That is Not How This Works
PDF
Webinar–You've Got Your Open Source Audit Report–Now What?
PDF
Webinar–OWASP Top 10 for JavaScript for Developers
PDF
Webinar–The State of Open Source in M&A Transactions
PDF
Webinar–5 ways to risk rank your vulnerabilities
PDF
Do Design Quality and Code Quality Matter in Merger and Acquisition Tech Due ...
PDF
Webinar–Using Evidence-Based Security
PDF
Webinar–Delivering a Next Generation Vulnerability Feed
PDF
Webinar–Financial Services Study Shows Why Investing in AppSec Matters
PDF
Webinar–What You Need To Know About Open Source Licensing
PDF
Webinar–Improving Fuzz Testing of Infotainment Systems and Telematics Units U...
PDF
Webinar–Why All Open Source Scans Aren't Created Equal
PDF
Webinar–Is Your Software Security Supply Chain a Security Blind Spot?
PDF
Webinar–Sécurité Applicative et DevSecOps dans un monde Agile
PDF
Webinar–Creating a Modern AppSec Toolchain to Quantify Service Risks
PDF
Webinar – Streamling Your Tech Due Diligence Process for Software Assets
Webinar–Segen oder Fluch?
Webinar–Mobile Application Hardening Protecting Business Critical Apps
Webinar–The 2019 Open Source Year in Review
Webinar–Best Practices for DevSecOps at Scale
Webinar–That is Not How This Works
Webinar–You've Got Your Open Source Audit Report–Now What?
Webinar–OWASP Top 10 for JavaScript for Developers
Webinar–The State of Open Source in M&A Transactions
Webinar–5 ways to risk rank your vulnerabilities
Do Design Quality and Code Quality Matter in Merger and Acquisition Tech Due ...
Webinar–Using Evidence-Based Security
Webinar–Delivering a Next Generation Vulnerability Feed
Webinar–Financial Services Study Shows Why Investing in AppSec Matters
Webinar–What You Need To Know About Open Source Licensing
Webinar–Improving Fuzz Testing of Infotainment Systems and Telematics Units U...
Webinar–Why All Open Source Scans Aren't Created Equal
Webinar–Is Your Software Security Supply Chain a Security Blind Spot?
Webinar–Sécurité Applicative et DevSecOps dans un monde Agile
Webinar–Creating a Modern AppSec Toolchain to Quantify Service Risks
Webinar – Streamling Your Tech Due Diligence Process for Software Assets

Recently uploaded (20)

PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
L1 - Introduction to python Backend.pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
Introduction to Artificial Intelligence
PDF
Nekopoi APK 2025 free lastest update
PPT
Introduction Database Management System for Course Database
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
history of c programming in notes for students .pptx
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
System and Network Administration Chapter 2
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
L1 - Introduction to python Backend.pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Online Work Permit System for Fast Permit Processing
Introduction to Artificial Intelligence
Nekopoi APK 2025 free lastest update
Introduction Database Management System for Course Database
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
VVF-Customer-Presentation2025-Ver1.9.pptx
Design an Analysis of Algorithms I-SECS-1021-03
Understanding Forklifts - TECH EHS Solution
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
history of c programming in notes for students .pptx
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
System and Network Administration Chapter 2
Upgrade and Innovation Strategies for SAP ERP Customers
CHAPTER 2 - PM Management and IT Context
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx

Flight East 2018 Presentation–Continuous Integration––An Overview

  • 1. Continuous Integration —An Overview Dr. Robert Burnett Director, Software Engineering This presentation consists of L -3 Communications Corporation general capabilities and administrative information that does not contain controlled technical data as defined within the International Traffic in Arms (ITAR) Part 120.10 or Export Administration Regulations (EAR) Part 734.7-11.
  • 2. The practice of regular, comprehensive, and automatic building and testing of applications in software development Continuous Integration Compile Build Test 2
  • 3. Reliance on manual processes to build and test software is problematic. • Error prone. • Lack of consistency • Build and integration processes have become more complex • Static testing is a critical step in the process • Quick turnaround on validating changes is now required to: • Reduce cost associated with finding defects late • Reduce time to deploy changes/updates Why is Continuous Integration (CI) so important? 3
  • 4. Continuous Integration is a development practice that requires developers to integrate code into a shared repository several times a day. Each commit is then verified by an automated build, allowing teams to detect problems early. Integration builds are tested early and often and functional builds are maintained at all times. • Don’t leave the build broken • In a Continuous Integration environment you should never have a integration build in a ‘failure state’ for long. A Fundamental change in how you think about software development
  • 5. Martin Fowler’s “original” principles of Continuous Deployment 1. Configuration control single code repository 2. Automate the build process 3. Automate testing 4. Developers commit changes to the baseline daily 5. Build every commit (to baseline) 6. Keep the build fast 7. Test in a clone of the production environment 8. Make it easy to get executable code 9. Give everyone full visibility to the results of the latest build 10. Automate deployment Continuous Integration 5
  • 6. The CI Build System Developers Workspace CI server Dashboard Version Controlled Repository Poll Commit Changes Results Build and Test Servers 6
  • 7. Continuous Integration - Basic steps • Developers load the project source code into their private workspaces. When done, commit the changes to the repository • The CI server monitors the repository and processes changes when they occur. The CI server: • Builds the system and runs unit and integration tests • Releases deployable artifacts for testing • Assigns a build label to the version of the code it just built • Informs the team of the successful build • Alerts the team if the build (or individual tests) fail • The team fixes the issue at the earliest opportunity • Report nightly build status on Dashboard 7
  • 8. Continuous Integration – Team responsibilities Commit frequently Don’t commit broken code Don’t commit untested code Don’t commit when the build is broken Don’t go home after committing code until the system builds 8
  • 9. 1. Before committing changes, check to see if a build is currently in the "Successful" status. If not, you should assist in fixing a build before committing new code. 2. If the status is currently "Successful", you should update your personal workspace to this configuration. 3. Build and test locally to ensure the update doesn't break functionality. 4. If Successful, commit the changes to the repository. 5. Allow CI to complete with new changes. 6. If build fails, stop and fix on your machine. Return to step 3. 7. If build passes, continue to work on the next item. Continuous Integration checklist 9
  • 10. 10
  • 11. Adding BlackDuck to our Continuous code inspection 11 Cause for caution Not all Open-Source Software is Free Open-Source Software (Free or other wise) may have security vulnerabilities. Sandwich from The Linux Foundation, Flight 2017 Free and Open-Source Software (FOSS) FOSS is a major part of the software development landscape which cannot be ignored. FOSS provides software developers with a significant advantage of not having to reinvent the wheel (or re “implement” the wheel) for their project.
  • 12. Scans code for use of FOSS • Identifies OSS components in code (Generates FOSS BOM) • Provides associated OSS license, compliance and risk of usage • Provides security vulnerability information for current and previous scans • Provides alert of the usage of unapproved OSS How BlackDuck Hub Helps 12
  • 13. Complex software development environments supporting multiple targets. • Embedded ( C/C++,Python, etc.), Application (Java, JavaScript, etc.) Significant variation in the software development processes • Agile , Waterfall, and every thing in between Significant variation in the developers level of engagement and buy-in with CI. • First impression is this is “extra work” Our experience at L3 13
  • 14. 14 The Chris Shayan Continuous Delivery Maturity Matrix Our Progress in the last 5 years Continuous Delivery Maturity Matrix
  • 15. Results of using the Test Automation (TA) on pilot Project A Test automation in support of Continuous integration 15 Before TA After TA % Improvement Time to write tests and perform dry-runs per requirement 4 hrs/req 1.8 hrs/req 55% Time to test each requirement in formal test 5 mins/req 0.34 mins/req 93% Total execution time 12 hours 35 mins auto + 1 hrs manual 87%
  • 16. Results: • Schedule for integration effort was predictable • Lab Integration of software components was very quick (within a couple of hours) or worked 100% the first time since all components were already thoroughly tested in simulation • Quick evaluation of code change during compilation and unit test • Quick evaluation of pass/fail on new builds during integration via automated regression suites • Zero defects found during SW Verification dry runs and formal testing • Zero defects found during System Verification dry runs 100% Code Coverage and Continuous Integration on Project E 16
  • 17. Other examples 17 Project A2-L: After implementing core pieces of CI (Build automation and Test automation), the cycle time for a new build release (tested & verified) was reduced from and manually intensive 3+ day effort to 4 hours. Project A3-M: After implementing core pieces of CI time for incremental release (built, tested & verified) was reduced from 146 hours to 38 hours
  • 18. Main reasons for Continuous Integration to fail Infrequent check-ins, which lead to delayed integrations Broken builds, which prevent teams from moving on to other tasks Minimal feedback, which prevents action from occurring Receiving spam feedback, which causes people to ignore messages Possessing a slow machine, which delays feedback Relying on a bloated build, which reduces rapid feedback 18