SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Continuous Integration 
Barış İNANÇ 
ARDIC AR-GE 
Release Engineer
Who am I? 
• Release Engineer in ARDIC INC. 
• Maintaining build operations for 3 years 
• Trying to automate everything 
2
Agenda 
• Catastrophic Failure Step by Step 
• Continuous Integration 
• Why it is important? 
• What is needed? 
• Build 
▫ What 
▫ When 
▫ How 
• My Toolbox and Workflow 
• 7 Step for Success 
3
Catastrophic Failure Step by Step 
• Crowded Team 
• Multi module project 
• No revision management system / wrong usage 
of revision management system 
• Manual testing 
• Compile only on finish 
• Binary deployment from developer computer 
• … 
4
Continuous Integration 
• Software engineering practice, where project is 
builded frequently 
• Emerged as Extreme Programming technique 
• 2000, Continuous Integration, Martin Fowler 
• Became Agile Process standard 
5
Why it is important? (1) 
• Fixing bugs late can be costly 
6
Why it is important? (2) 
• To Improve Team Collaboration 
▫ “Changes are conflicting how to merge now?” 
▫ “When did this code changed/removed/added” 
▫ “It was working two days ago” 
7
Why it is important? (3) 
• To Improve Code Quality 
(Before production/catastrophic failure) 
▫ “Same code over and over why not make a 
function” 
▫ Why did you write this code: 
… 
if(foo==true) 
return true 
else 
return false 
… 
return foo 
8
Why it is important? (4) 
• To know Project history/future 
▫ What was in version 1.2.129? 
▫ Which tests are failing? 
9
Why it is important? (5) 
• Always ready for deployment 
▫ “It works on my computer” 
▫ “Customer is coming, ready for a demo?” 
10
Fix before not try during flight 
11
What is needed? 
• Revision Management System (GIT/SVN) 
• Dedicated Build Server 
• Open-minded team 
12
Term: Build 
• Learn real meaning of Build 
Build != Compile 
13
Build 
• Compilation 
sucessfully 
• Test Execution 
• Database Integration 
• Code Inspection 
• Automated Deployment 
• Document Generation 
repeatable 
Upgrade/downgrade scripts 
Health check 
Always ready 
Up-to-date 
14
Build When? 
• Full project build regularly (nightly) 
• Build module in every commit 
• Full Build if a module changes dependencies 
15
Build How? 
• Generate building scripts 
• Unattended building 
• Do not use IDE for building 
• Use CI server not developer computer 
• Generate build report for immediate feedback 
• Accessible for team 
16
Jenkins CI 
• Easy to use Continuous Integration tool 
• Building/Testing/Monitoring can be done from 
same application 
• Ready for scaling and parallel building 
• Can integrate with SCM and Code Quality tools 
easily 
17
18
Gerrit Code Review 
• Code Review system for GIT SCM 
• Each patchset can be reviewed before merging to 
release branch 
• Fix before build 
19
20
SonarQube 
• Code Quality tool 
• Automated code quality analysis 
• Over 20 programming languages 
• Coding rules, potential bugs, duplications can be 
anlyzed via this tool 
21
22
Let’s integrate Everything 
23 
Submit changes 
Submit changes it is applicable 
Get changes and build 
Analyze changes 
GIT 
Repo 
Report Output
Let’s integrate Everything 
• Never commit a code to master repository directly 
• Send patchset to review regularly 
• Patchset will be automatically builded and sent to 
analysis to SonarQube 
• SonarQube runs analysis and generated report 
• Build and Analysis reports will be linked to 
patchset in Gerrit Code Review system 
• Merge code to release branch after manual review 
24
Let’s integrate Everything 
• Jenkins CI can build project regularly 
• After compilation completed tests can be run via 
Jenkins 
• Daily sonar analysis can be started during this 
build 
• All reports will be ready for the morning 
25
26 
Source: http://www.slideshare.net/drluckyspin/continuous-integration
Conclusion 
• For 
▫ Better quality Code 
▫ Fast Development Time 
▫ Less cost on money or time 
• Use Continuous Integration techniques 
27
Thank you for listening 
Any Questions… 
28
References 
• http://www.slideshare.net/drluckyspin/continuous-integration 
• https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins 
• http://www.sonarqube.org/ 
• https://code.google.com/p/gerrit/ 
• http://martinfowler.com/articles/continuousIntegration.html 
29

Mais conteúdo relacionado

Mais procurados

Develop Operation, Operate Development: A journey towards service delivery at...
Develop Operation, Operate Development: A journey towards service delivery at...Develop Operation, Operate Development: A journey towards service delivery at...
Develop Operation, Operate Development: A journey towards service delivery at...Behrooz Nobakht
 
Keeping Your CI/CD Pipeline as Fast as It Needs to Be
Keeping Your CI/CD Pipeline as Fast as It Needs to BeKeeping Your CI/CD Pipeline as Fast as It Needs to Be
Keeping Your CI/CD Pipeline as Fast as It Needs to BeAbraham Marin-Perez
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of LifeMelissa Benua
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery Sarah Elson
 
Continuous Integration for Beginners
Continuous Integration for BeginnersContinuous Integration for Beginners
Continuous Integration for BeginnersYüce Çelikel
 
Integration Testing as Validation and Monitoring
 Integration Testing as Validation and Monitoring Integration Testing as Validation and Monitoring
Integration Testing as Validation and MonitoringMelissa Benua
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and BuildsBhavin Javia
 
TuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the usersTuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the usersTuleap
 
How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)Jimmy Puckett
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Noa Harel
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Poonam Panday
 
Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)Serena Software
 
Continuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenarioContinuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenarioDavide Benvegnù
 
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 Cheapskatesmhenroid
 
Introduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformIntroduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformSalesforce Developers
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Noa Harel
 

Mais procurados (20)

Develop Operation, Operate Development: A journey towards service delivery at...
Develop Operation, Operate Development: A journey towards service delivery at...Develop Operation, Operate Development: A journey towards service delivery at...
Develop Operation, Operate Development: A journey towards service delivery at...
 
Keeping Your CI/CD Pipeline as Fast as It Needs to Be
Keeping Your CI/CD Pipeline as Fast as It Needs to BeKeeping Your CI/CD Pipeline as Fast as It Needs to Be
Keeping Your CI/CD Pipeline as Fast as It Needs to Be
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
Continuous Integration for Beginners
Continuous Integration for BeginnersContinuous Integration for Beginners
Continuous Integration for Beginners
 
Integration Testing as Validation and Monitoring
 Integration Testing as Validation and Monitoring Integration Testing as Validation and Monitoring
Integration Testing as Validation and Monitoring
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
 
Dev ops
Dev opsDev ops
Dev ops
 
TuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the usersTuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the users
 
How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile
 
Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)
 
Continuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenarioContinuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenario
 
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 Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformIntroduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce Platform
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 

Destaque

Forrester total-economic-impact-of-ca-release-automation
Forrester total-economic-impact-of-ca-release-automationForrester total-economic-impact-of-ca-release-automation
Forrester total-economic-impact-of-ca-release-automationSathish Nagarajan
 
Business Intelligence Release Management Best Practices
Business Intelligence Release Management Best PracticesBusiness Intelligence Release Management Best Practices
Business Intelligence Release Management Best PracticesJohn Heaton
 
Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...IBM UrbanCode Products
 
R12 subledgeraccountingandgl
R12 subledgeraccountingandglR12 subledgeraccountingandgl
R12 subledgeraccountingandglRam Niket Kumar
 
Migrate from Terma Software Jaws to CA Workload Automation iDash for Enhanced...
Migrate from Terma Software Jaws to CA Workload Automation iDash for Enhanced...Migrate from Terma Software Jaws to CA Workload Automation iDash for Enhanced...
Migrate from Terma Software Jaws to CA Workload Automation iDash for Enhanced...CA Technologies
 
Hands-On Lab: Complement CA Release Automation with a New Continuous Delivery...
Hands-On Lab: Complement CA Release Automation with a New Continuous Delivery...Hands-On Lab: Complement CA Release Automation with a New Continuous Delivery...
Hands-On Lab: Complement CA Release Automation with a New Continuous Delivery...CA Technologies
 
Explore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsExplore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsCA Technologies
 
Application release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deploymentApplication release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deploymentPraveen John kumar
 
How Application Release Automation Powers DevOps
How Application Release Automation Powers DevOpsHow Application Release Automation Powers DevOps
How Application Release Automation Powers DevOpsXebiaLabs
 
Pre-Con Ed: Become a Power User of CA Release Automation to Get the Most out ...
Pre-Con Ed: Become a Power User of CA Release Automation to Get the Most out ...Pre-Con Ed: Become a Power User of CA Release Automation to Get the Most out ...
Pre-Con Ed: Become a Power User of CA Release Automation to Get the Most out ...CA Technologies
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeIBM UrbanCode Products
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release AutomationXebiaLabs
 
DevOps Best Practices: Managing and Scaling Release Automation Using Visual a...
DevOps Best Practices: Managing and Scaling Release Automation Using Visual a...DevOps Best Practices: Managing and Scaling Release Automation Using Visual a...
DevOps Best Practices: Managing and Scaling Release Automation Using Visual a...XebiaLabs
 
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...CA Technologies
 
Lean IT Presentation
Lean IT PresentationLean IT Presentation
Lean IT Presentationbyunesiu
 
Reduce Software Release Cycles by 4-5x with Application Release Automation fo...
Reduce Software Release Cycles by 4-5x with Application Release Automation fo...Reduce Software Release Cycles by 4-5x with Application Release Automation fo...
Reduce Software Release Cycles by 4-5x with Application Release Automation fo...CA Technologies
 
Effective Software Release Management
Effective Software Release ManagementEffective Software Release Management
Effective Software Release ManagementMichael Degnan
 
CA Workload Automation Product Roadmap - CA Workload Automation Technology Su...
CA Workload Automation Product Roadmap - CA Workload Automation Technology Su...CA Workload Automation Product Roadmap - CA Workload Automation Technology Su...
CA Workload Automation Product Roadmap - CA Workload Automation Technology Su...Extra Technology
 

Destaque (20)

Forrester total-economic-impact-of-ca-release-automation
Forrester total-economic-impact-of-ca-release-automationForrester total-economic-impact-of-ca-release-automation
Forrester total-economic-impact-of-ca-release-automation
 
Business Intelligence Release Management Best Practices
Business Intelligence Release Management Best PracticesBusiness Intelligence Release Management Best Practices
Business Intelligence Release Management Best Practices
 
Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...
 
R12 subledgeraccountingandgl
R12 subledgeraccountingandglR12 subledgeraccountingandgl
R12 subledgeraccountingandgl
 
Migrate from Terma Software Jaws to CA Workload Automation iDash for Enhanced...
Migrate from Terma Software Jaws to CA Workload Automation iDash for Enhanced...Migrate from Terma Software Jaws to CA Workload Automation iDash for Enhanced...
Migrate from Terma Software Jaws to CA Workload Automation iDash for Enhanced...
 
Hands-On Lab: Complement CA Release Automation with a New Continuous Delivery...
Hands-On Lab: Complement CA Release Automation with a New Continuous Delivery...Hands-On Lab: Complement CA Release Automation with a New Continuous Delivery...
Hands-On Lab: Complement CA Release Automation with a New Continuous Delivery...
 
Explore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsExplore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration Topics
 
Best practices in release management
Best  practices in release managementBest  practices in release management
Best practices in release management
 
Application release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deploymentApplication release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deployment
 
How Application Release Automation Powers DevOps
How Application Release Automation Powers DevOpsHow Application Release Automation Powers DevOps
How Application Release Automation Powers DevOps
 
Pre-Con Ed: Become a Power User of CA Release Automation to Get the Most out ...
Pre-Con Ed: Become a Power User of CA Release Automation to Get the Most out ...Pre-Con Ed: Become a Power User of CA Release Automation to Get the Most out ...
Pre-Con Ed: Become a Power User of CA Release Automation to Get the Most out ...
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release Automation
 
DevOps Best Practices: Managing and Scaling Release Automation Using Visual a...
DevOps Best Practices: Managing and Scaling Release Automation Using Visual a...DevOps Best Practices: Managing and Scaling Release Automation Using Visual a...
DevOps Best Practices: Managing and Scaling Release Automation Using Visual a...
 
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
 
6 sigma LTE release management process improvement
6 sigma LTE release management process improvement6 sigma LTE release management process improvement
6 sigma LTE release management process improvement
 
Lean IT Presentation
Lean IT PresentationLean IT Presentation
Lean IT Presentation
 
Reduce Software Release Cycles by 4-5x with Application Release Automation fo...
Reduce Software Release Cycles by 4-5x with Application Release Automation fo...Reduce Software Release Cycles by 4-5x with Application Release Automation fo...
Reduce Software Release Cycles by 4-5x with Application Release Automation fo...
 
Effective Software Release Management
Effective Software Release ManagementEffective Software Release Management
Effective Software Release Management
 
CA Workload Automation Product Roadmap - CA Workload Automation Technology Su...
CA Workload Automation Product Roadmap - CA Workload Automation Technology Su...CA Workload Automation Product Roadmap - CA Workload Automation Technology Su...
CA Workload Automation Product Roadmap - CA Workload Automation Technology Su...
 

Semelhante a Continuous integrations - Basics

Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous IntegrationHùng Nguyễn Huy
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Flight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewFlight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewSynopsys Software Integrity Group
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationhugo lu
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentBrian Moon
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsRajnish Chauhan
 
Continuous Integration and Delivery
Continuous Integration and DeliveryContinuous Integration and Delivery
Continuous Integration and DeliveryBrandon Cornett
 
Continuous Delivery for Open Source Java projects
Continuous Delivery for Open Source Java projectsContinuous Delivery for Open Source Java projects
Continuous Delivery for Open Source Java projectsTricode (part of Dept)
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRMagento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRDenis Ristic
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionajayrajaganeshkayala
 
Continuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVzContinuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVzDenis Ristic
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous IntegrationSomkiat Puisungnoen
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdfMahmoudAlnmr1
 
Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Future Processing
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro - Database DevOps
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 

Semelhante a Continuous integrations - Basics (20)

Enter the Team City
Enter the Team CityEnter the Team City
Enter the Team City
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Flight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewFlight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An Overview
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
 
Continuous Integration and Delivery
Continuous Integration and DeliveryContinuous Integration and Delivery
Continuous Integration and Delivery
 
Continuous Delivery for Open Source Java projects
Continuous Delivery for Open Source Java projectsContinuous Delivery for Open Source Java projects
Continuous Delivery for Open Source Java projects
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRMagento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HR
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual intervention
 
Continuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVzContinuous integration & Continuous Delivery @DeVz
Continuous integration & Continuous Delivery @DeVz
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
 
jenkins.pdf
jenkins.pdfjenkins.pdf
jenkins.pdf
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 

Último

US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptxNikhil Raut
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 

Último (20)

US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 

Continuous integrations - Basics

  • 1. Continuous Integration Barış İNANÇ ARDIC AR-GE Release Engineer
  • 2. Who am I? • Release Engineer in ARDIC INC. • Maintaining build operations for 3 years • Trying to automate everything 2
  • 3. Agenda • Catastrophic Failure Step by Step • Continuous Integration • Why it is important? • What is needed? • Build ▫ What ▫ When ▫ How • My Toolbox and Workflow • 7 Step for Success 3
  • 4. Catastrophic Failure Step by Step • Crowded Team • Multi module project • No revision management system / wrong usage of revision management system • Manual testing • Compile only on finish • Binary deployment from developer computer • … 4
  • 5. Continuous Integration • Software engineering practice, where project is builded frequently • Emerged as Extreme Programming technique • 2000, Continuous Integration, Martin Fowler • Became Agile Process standard 5
  • 6. Why it is important? (1) • Fixing bugs late can be costly 6
  • 7. Why it is important? (2) • To Improve Team Collaboration ▫ “Changes are conflicting how to merge now?” ▫ “When did this code changed/removed/added” ▫ “It was working two days ago” 7
  • 8. Why it is important? (3) • To Improve Code Quality (Before production/catastrophic failure) ▫ “Same code over and over why not make a function” ▫ Why did you write this code: … if(foo==true) return true else return false … return foo 8
  • 9. Why it is important? (4) • To know Project history/future ▫ What was in version 1.2.129? ▫ Which tests are failing? 9
  • 10. Why it is important? (5) • Always ready for deployment ▫ “It works on my computer” ▫ “Customer is coming, ready for a demo?” 10
  • 11. Fix before not try during flight 11
  • 12. What is needed? • Revision Management System (GIT/SVN) • Dedicated Build Server • Open-minded team 12
  • 13. Term: Build • Learn real meaning of Build Build != Compile 13
  • 14. Build • Compilation sucessfully • Test Execution • Database Integration • Code Inspection • Automated Deployment • Document Generation repeatable Upgrade/downgrade scripts Health check Always ready Up-to-date 14
  • 15. Build When? • Full project build regularly (nightly) • Build module in every commit • Full Build if a module changes dependencies 15
  • 16. Build How? • Generate building scripts • Unattended building • Do not use IDE for building • Use CI server not developer computer • Generate build report for immediate feedback • Accessible for team 16
  • 17. Jenkins CI • Easy to use Continuous Integration tool • Building/Testing/Monitoring can be done from same application • Ready for scaling and parallel building • Can integrate with SCM and Code Quality tools easily 17
  • 18. 18
  • 19. Gerrit Code Review • Code Review system for GIT SCM • Each patchset can be reviewed before merging to release branch • Fix before build 19
  • 20. 20
  • 21. SonarQube • Code Quality tool • Automated code quality analysis • Over 20 programming languages • Coding rules, potential bugs, duplications can be anlyzed via this tool 21
  • 22. 22
  • 23. Let’s integrate Everything 23 Submit changes Submit changes it is applicable Get changes and build Analyze changes GIT Repo Report Output
  • 24. Let’s integrate Everything • Never commit a code to master repository directly • Send patchset to review regularly • Patchset will be automatically builded and sent to analysis to SonarQube • SonarQube runs analysis and generated report • Build and Analysis reports will be linked to patchset in Gerrit Code Review system • Merge code to release branch after manual review 24
  • 25. Let’s integrate Everything • Jenkins CI can build project regularly • After compilation completed tests can be run via Jenkins • Daily sonar analysis can be started during this build • All reports will be ready for the morning 25
  • 27. Conclusion • For ▫ Better quality Code ▫ Fast Development Time ▫ Less cost on money or time • Use Continuous Integration techniques 27
  • 28. Thank you for listening Any Questions… 28
  • 29. References • http://www.slideshare.net/drluckyspin/continuous-integration • https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins • http://www.sonarqube.org/ • https://code.google.com/p/gerrit/ • http://martinfowler.com/articles/continuousIntegration.html 29