SlideShare ist ein Scribd-Unternehmen logo
1 von 22
CONTINUOUS DELIVERY FOR
OPEN SOURCE JAVA
PROJECTSBy Igor Stojanovski
CONTINUUM RELATED TERMS
Continuous Integration
Continuous Delivery
Continuous Deployment
Deployment
Delivery
Integration
CONTINUOUS
INTEGRATION
CONTINUOUS INTEGRATION
The term 'Continuous Integration' originated with the Extreme
Programming development process, as one of its original twelve
practices.
What?
• A development practice of merging all developer working copies to
a shared mainline several times a day.
Why?
• To avoid “integration hell”
• To get fast, automated feedback on the correctness of the
application every time there is a change to the codebase
CONTINUOUS INTEGRATION
SCENARIO
Get the code from the
central code repository
Add new or change
existing features
Get new changes from
the repository and
integrate with your new
changes
Commit the integrated
code back to the
repository
Initiate a build on the
mainline to check its
correctness
Basic prerequisites:
• Central code repository
• High degree of automated test coverage
CONTINUOUS INTEGRATION
REQUIREMENTS
• You need a central code repository
• Everything needed to build the application should be in the repository
• Everything that can be built, should not be in the repository
• You need automated tests
CONTINUOUS INTEGRATION
POINTERS
• Commit daily in the mainline/trunk and do not misuse branches
• Frequent commits encourage developers to break down their work into
smaller chunks. TDD could help.
• Every commit on the mainline should initiate a mainline build. This is where
a Continuous Integration Server comes in handy.
• The build should be fast. Deployment pipelines could help!
• If the build is broken the response to fix it should be even faster.
• Environments should be as similar as possible to the production
environment
CONTINUOUS DELIVERY
CONTINUOUS DELIVERY
1st principle of the Agile Manifesto: Customer satisfaction by early and
continuous delivery of valuable software
What?
• The practice in which you build software so it can be released into
production at any given moment
Why?
• So you can get fast, automated feedback on the production readiness of
your application every time there is a change - to code, infrastructure or
configuration.
• So you can get changes (features, configuration, bug fixes, experiments, ...)
into production or into the hands of users safely and quickly in a
sustainable way.
• Reduce cost of software development
• Make the client happy.
CONTINUOUS DELIVERY
PREREQUISITES
What do you need in line in order to say you are doing continuous delivery?
• Continuous integration
• Comprehensive configuration management
• Excellent automated testing at multiple levels
• Logging and Monitoring
Culture related:
• Close cooperation between everyone involved in the delivery process. That
is, you need DevOps.
• Joint responsibility
• Build quality IN
• Automate everything possible
• ALWAYS try to get better
DEPLOYMENT PIPELINE
It is a representation of the process for getting changes form version control
into production.
Development Team
Checks into
version control
Commit Stage
Trigger
Automated
Acceptance Tests
Approval
Manual Validation
Approval
Release
DEPLOYMENT PIPELINE
CHARACTERISTICS
• Every deployment pipeline Is different
• Trading off fast feedback against comprehensive feedback
• To achieve this we should keep the pipeline short but as parallel as
possible
• Because of this in the example there is a Commit stage and an
Acceptance Stage
• Commit stage:
• Unit Tests
• Package
• Code quality analysis
• Possible send artifacts to an artifact repo
• Acceptance stage
• Configure environment
• Deploy artifacts (From some sort of artifact repository)
• Do all kinds of tests
• Tare it down
CONTINUOUS
DEPLOYMENT
CONTINUOUS DEPLOYMENT
What?
Deployment as the last automated step of the delivery process
Why?
You’ve done everything possible to torture the code in a sustainable and
automatic way and there are no reasons why it shouldn’t really go directly into
production
This really isn't as crazy as it seems!
CONTINUOUS DEPLOYMENT: THE
BIG GUYS
Google:
• 15,000 engineers work from
the HEAD revision of a single
Perforce trunk.
• 50% of the code will be
changed in any given month.
• Google has written a
comprehensive book about
how they perform QA while
continuously releasing.
Amazon:
• New code is deployed to
production once every 11.6
seconds during a normal
business day.
• That’s 3,000 production
deployments per day.
• They’ve invested an
enormous amount of time
and money into creating an
architecture that facilitates
small, orthogonal, frequent
code pushes.
Facebook:
• Each of 5,000 engineers
commits to trunk HEAD at
least once a day and the
code at trunk HEAD is
pushed to production twice
daily.
• Facebook has no dedicated
QA team. All responsibility
for testing rests with the
software engineers.
• They’ve invested heavily in
infrastructure that provides
zero-downtime deployment
at Facebook scale.
CONTINUOUS DELIVERY
TOOLS
TOOLS OF THE TRADE
• Code repository
• Continuous Integration Server
• Code review
• Artifact Repository
• Environment provisioning tools
• Different environments
CODE REPOSITORY AND CODE
REVIEW
• Bitbucket
• 5 users: free
• ProjectLocker
• Git, SVN
• Free trial
• CloudForge
• Free trial
• Github
• FREE: – unlimited collaborators,
unlimited public repositories, 0
private repositories
• SourceForge
• Free
• SonarQube
• Industry standard
• Free
• No hosted option
• Coverity
• Free for open Github
repos
• Codacy
• Free for open Github
repos
CODE QUALITY
• SonarQube
• Industry standard
• Free
• No hosted option
• Coverity
• Free for open Github
repos
• Codacy
• Free for open Github
repos
CONTINUOUS INTEGRATION
SERVERS
• Travis-CI
• Free for open GitHub repos
• Jenkins
• Hosted for free on OpenShift
• Codeship
• Free for open GitHub repos
• Snap
• Free for GitHub Public repos and 1 build at a time
• CircleCI
• Free for 1 concurrent build
WHERE TO DEPLOY YOUR
APPLICATION
- Amazon Web Services (Something is free.)
- Microsoft Azure (Something is free.)
- Google Cloud platform (The trial is free.)
- OpenShift
- Heroku
- Lots of cheap hosting services (Not free after all)
EXAMPLE STACK
+ + +

Weitere ähnliche Inhalte

Was ist angesagt?

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationRahul Sudame
 
Running JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloudRunning JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloudClever Moe
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environmentStefan Verhoeff
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Clever Moe
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationClever Moe
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationAbhay Kumar
 
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloudCloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloudClever Moe
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and BuildsBhavin Javia
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseSauce Labs
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportSencha
 
Chris Northwood Camp Digital 21015 - Continuous delivery
Chris Northwood Camp Digital 21015 - Continuous deliveryChris Northwood Camp Digital 21015 - Continuous delivery
Chris Northwood Camp Digital 21015 - Continuous deliveryNexer Digital
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deploymentMartijn van der Kamp
 
Jenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMJenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMIntland Software GmbH
 
#speakgell - Continuous Integration in iconnect360
#speakgell - Continuous Integration in iconnect360#speakgell - Continuous Integration in iconnect360
#speakgell - Continuous Integration in iconnect360Derek Chan
 
WSO2 IoTS Device Manufacturer Guide
WSO2 IoTS Device Manufacturer GuideWSO2 IoTS Device Manufacturer Guide
WSO2 IoTS Device Manufacturer Guidehugo lu
 
Testing Ajax, Mobile Apps the Agile Way
Testing Ajax, Mobile Apps the Agile WayTesting Ajax, Mobile Apps the Agile Way
Testing Ajax, Mobile Apps the Agile WayClever Moe
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application developmentThoughtworks
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsTara Walker
 

Was ist angesagt? (20)

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Running JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloudRunning JMeter Tests In Appvance PerformanceCloud
Running JMeter Tests In Appvance PerformanceCloud
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloudCloudBees Continuous Integration and Test with Appvance PerformanceCloud
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the Enterprise
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
Chris Northwood Camp Digital 21015 - Continuous delivery
Chris Northwood Camp Digital 21015 - Continuous deliveryChris Northwood Camp Digital 21015 - Continuous delivery
Chris Northwood Camp Digital 21015 - Continuous delivery
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 
Jenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMJenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALM
 
#speakgell - Continuous Integration in iconnect360
#speakgell - Continuous Integration in iconnect360#speakgell - Continuous Integration in iconnect360
#speakgell - Continuous Integration in iconnect360
 
WSO2 IoTS Device Manufacturer Guide
WSO2 IoTS Device Manufacturer GuideWSO2 IoTS Device Manufacturer Guide
WSO2 IoTS Device Manufacturer Guide
 
Testing Ajax, Mobile Apps the Agile Way
Testing Ajax, Mobile Apps the Agile WayTesting Ajax, Mobile Apps the Agile Way
Testing Ajax, Mobile Apps the Agile Way
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 

Andere mochten auch

The Continuous Delivery toolstack for embedded Java af Leif Sørensen, Praqma
The Continuous Delivery toolstack for embedded Java af Leif Sørensen, PraqmaThe Continuous Delivery toolstack for embedded Java af Leif Sørensen, Praqma
The Continuous Delivery toolstack for embedded Java af Leif Sørensen, PraqmaInfinIT - Innovationsnetværket for it
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIwajrcs
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationhugo lu
 
Java and DevOps: Supercharge Your Delivery Pipeline with Containers
Java and DevOps: Supercharge Your Delivery Pipeline with ContainersJava and DevOps: Supercharge Your Delivery Pipeline with Containers
Java and DevOps: Supercharge Your Delivery Pipeline with ContainersRed Hat Developers
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationamscanne
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Dennys Hsieh
 

Andere mochten auch (10)

The Continuous Delivery toolstack for embedded Java af Leif Sørensen, Praqma
The Continuous Delivery toolstack for embedded Java af Leif Sørensen, PraqmaThe Continuous Delivery toolstack for embedded Java af Leif Sørensen, Praqma
The Continuous Delivery toolstack for embedded Java af Leif Sørensen, Praqma
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CI
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Java and DevOps: Supercharge Your Delivery Pipeline with Containers
Java and DevOps: Supercharge Your Delivery Pipeline with ContainersJava and DevOps: Supercharge Your Delivery Pipeline with Containers
Java and DevOps: Supercharge Your Delivery Pipeline with Containers
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Continuous Integration 101
Continuous Integration 101Continuous Integration 101
Continuous Integration 101
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 

Ähnlich wie Continuous Delivery for Open Source Java projects

Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOpsMoataz Mahmoud
 
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
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks Ulf Mattsson
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps JumpstartOri Donner
 
Continuous Integration Testing for SAP
Continuous Integration Testing for SAPContinuous Integration Testing for SAP
Continuous Integration Testing for SAPWorksoft
 
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree	Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree AnikeyRoy
 
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
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDavide Benvegnù
 
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAchieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAmazon Web Services
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...WSO2
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5hemasubbu08
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdfMahmoudAlnmr1
 
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
 

Ähnlich wie Continuous Delivery for Open Source Java projects (20)

How to Add Perfecto to Your CI
How to Add Perfecto to Your CIHow to Add Perfecto to Your CI
How to Add Perfecto to Your CI
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
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
Continuous IntegrationContinuous Integration
Continuous Integration
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Continuous Integration Testing for SAP
Continuous Integration Testing for SAPContinuous Integration Testing for SAP
Continuous Integration Testing for SAP
 
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree	Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree
 
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
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
 
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAchieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
 
Devops
DevopsDevops
Devops
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptx
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
 
jenkins.pdf
jenkins.pdfjenkins.pdf
jenkins.pdf
 
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
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 

Mehr von Tricode (part of Dept)

The Top Benefits of Magnolia CMS’s Inspirational Open Suite Ideology
The Top Benefits of Magnolia CMS’s Inspirational Open Suite IdeologyThe Top Benefits of Magnolia CMS’s Inspirational Open Suite Ideology
The Top Benefits of Magnolia CMS’s Inspirational Open Suite IdeologyTricode (part of Dept)
 
Mobile Sensor Networks based on Smartphone devices and Web Services
Mobile Sensor Networks based on Smartphone devices and Web ServicesMobile Sensor Networks based on Smartphone devices and Web Services
Mobile Sensor Networks based on Smartphone devices and Web ServicesTricode (part of Dept)
 
Keeping Your Clients Happy and Your Management Even Happier
Keeping Your Clients Happy and Your Management Even Happier Keeping Your Clients Happy and Your Management Even Happier
Keeping Your Clients Happy and Your Management Even Happier Tricode (part of Dept)
 
Porn, the leading influencer of Technology
Porn, the leading influencer of Technology Porn, the leading influencer of Technology
Porn, the leading influencer of Technology Tricode (part of Dept)
 
De 4 belangrijkste risicofactoren van het nearshoring proces
De 4 belangrijkste risicofactoren van het nearshoring procesDe 4 belangrijkste risicofactoren van het nearshoring proces
De 4 belangrijkste risicofactoren van het nearshoring procesTricode (part of Dept)
 
Internet Addiction (Social Media Edition)
Internet Addiction (Social Media Edition)Internet Addiction (Social Media Edition)
Internet Addiction (Social Media Edition)Tricode (part of Dept)
 
Kids Can Code - an interactive IT workshop
Kids Can Code - an interactive IT workshopKids Can Code - an interactive IT workshop
Kids Can Code - an interactive IT workshopTricode (part of Dept)
 
How Technology is Affecting Society - STM 6
How Technology is Affecting Society - STM 6How Technology is Affecting Society - STM 6
How Technology is Affecting Society - STM 6Tricode (part of Dept)
 
Monolithic to Microservices Architecture - STM 6
Monolithic to Microservices Architecture - STM 6Monolithic to Microservices Architecture - STM 6
Monolithic to Microservices Architecture - STM 6Tricode (part of Dept)
 
AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?Tricode (part of Dept)
 
10 nearshoring it trends om in 2016 te volgen
10 nearshoring it trends om in 2016 te volgen 10 nearshoring it trends om in 2016 te volgen
10 nearshoring it trends om in 2016 te volgen Tricode (part of Dept)
 
Why you should use Adobe Experience Manager Mobile
Why you should use Adobe Experience Manager Mobile Why you should use Adobe Experience Manager Mobile
Why you should use Adobe Experience Manager Mobile Tricode (part of Dept)
 
Introducing: Tricode's Software Factory
Introducing: Tricode's Software FactoryIntroducing: Tricode's Software Factory
Introducing: Tricode's Software FactoryTricode (part of Dept)
 

Mehr von Tricode (part of Dept) (20)

The Top Benefits of Magnolia CMS’s Inspirational Open Suite Ideology
The Top Benefits of Magnolia CMS’s Inspirational Open Suite IdeologyThe Top Benefits of Magnolia CMS’s Inspirational Open Suite Ideology
The Top Benefits of Magnolia CMS’s Inspirational Open Suite Ideology
 
Agile QA 2017: A New Hope
Agile QA 2017: A New HopeAgile QA 2017: A New Hope
Agile QA 2017: A New Hope
 
Mobile Sensor Networks based on Smartphone devices and Web Services
Mobile Sensor Networks based on Smartphone devices and Web ServicesMobile Sensor Networks based on Smartphone devices and Web Services
Mobile Sensor Networks based on Smartphone devices and Web Services
 
Keeping Your Clients Happy and Your Management Even Happier
Keeping Your Clients Happy and Your Management Even Happier Keeping Your Clients Happy and Your Management Even Happier
Keeping Your Clients Happy and Your Management Even Happier
 
Intro to JHipster
Intro to JHipster Intro to JHipster
Intro to JHipster
 
Porn, the leading influencer of Technology
Porn, the leading influencer of Technology Porn, the leading influencer of Technology
Porn, the leading influencer of Technology
 
De 4 belangrijkste risicofactoren van het nearshoring proces
De 4 belangrijkste risicofactoren van het nearshoring procesDe 4 belangrijkste risicofactoren van het nearshoring proces
De 4 belangrijkste risicofactoren van het nearshoring proces
 
Internet Addiction (Social Media Edition)
Internet Addiction (Social Media Edition)Internet Addiction (Social Media Edition)
Internet Addiction (Social Media Edition)
 
Kids Can Code - an interactive IT workshop
Kids Can Code - an interactive IT workshopKids Can Code - an interactive IT workshop
Kids Can Code - an interactive IT workshop
 
RESTful API - Best Practices
RESTful API - Best PracticesRESTful API - Best Practices
RESTful API - Best Practices
 
Deep Learning - STM 6
Deep Learning - STM 6Deep Learning - STM 6
Deep Learning - STM 6
 
How Technology is Affecting Society - STM 6
How Technology is Affecting Society - STM 6How Technology is Affecting Society - STM 6
How Technology is Affecting Society - STM 6
 
Monolithic to Microservices Architecture - STM 6
Monolithic to Microservices Architecture - STM 6Monolithic to Microservices Architecture - STM 6
Monolithic to Microservices Architecture - STM 6
 
Customers speak on Magnolia CMS
Customers speak on Magnolia CMSCustomers speak on Magnolia CMS
Customers speak on Magnolia CMS
 
Quality Nearshoring met Tricode
Quality Nearshoring met TricodeQuality Nearshoring met Tricode
Quality Nearshoring met Tricode
 
AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?
 
10 nearshoring it trends om in 2016 te volgen
10 nearshoring it trends om in 2016 te volgen 10 nearshoring it trends om in 2016 te volgen
10 nearshoring it trends om in 2016 te volgen
 
Tricode & Magnolia
Tricode & MagnoliaTricode & Magnolia
Tricode & Magnolia
 
Why you should use Adobe Experience Manager Mobile
Why you should use Adobe Experience Manager Mobile Why you should use Adobe Experience Manager Mobile
Why you should use Adobe Experience Manager Mobile
 
Introducing: Tricode's Software Factory
Introducing: Tricode's Software FactoryIntroducing: Tricode's Software Factory
Introducing: Tricode's Software Factory
 

Kürzlich hochgeladen

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Kürzlich hochgeladen (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

Continuous Delivery for Open Source Java projects

  • 1. CONTINUOUS DELIVERY FOR OPEN SOURCE JAVA PROJECTSBy Igor Stojanovski
  • 2. CONTINUUM RELATED TERMS Continuous Integration Continuous Delivery Continuous Deployment Deployment Delivery Integration
  • 4. CONTINUOUS INTEGRATION The term 'Continuous Integration' originated with the Extreme Programming development process, as one of its original twelve practices. What? • A development practice of merging all developer working copies to a shared mainline several times a day. Why? • To avoid “integration hell” • To get fast, automated feedback on the correctness of the application every time there is a change to the codebase
  • 5. CONTINUOUS INTEGRATION SCENARIO Get the code from the central code repository Add new or change existing features Get new changes from the repository and integrate with your new changes Commit the integrated code back to the repository Initiate a build on the mainline to check its correctness Basic prerequisites: • Central code repository • High degree of automated test coverage
  • 6. CONTINUOUS INTEGRATION REQUIREMENTS • You need a central code repository • Everything needed to build the application should be in the repository • Everything that can be built, should not be in the repository • You need automated tests
  • 7. CONTINUOUS INTEGRATION POINTERS • Commit daily in the mainline/trunk and do not misuse branches • Frequent commits encourage developers to break down their work into smaller chunks. TDD could help. • Every commit on the mainline should initiate a mainline build. This is where a Continuous Integration Server comes in handy. • The build should be fast. Deployment pipelines could help! • If the build is broken the response to fix it should be even faster. • Environments should be as similar as possible to the production environment
  • 9. CONTINUOUS DELIVERY 1st principle of the Agile Manifesto: Customer satisfaction by early and continuous delivery of valuable software What? • The practice in which you build software so it can be released into production at any given moment Why? • So you can get fast, automated feedback on the production readiness of your application every time there is a change - to code, infrastructure or configuration. • So you can get changes (features, configuration, bug fixes, experiments, ...) into production or into the hands of users safely and quickly in a sustainable way. • Reduce cost of software development • Make the client happy.
  • 10. CONTINUOUS DELIVERY PREREQUISITES What do you need in line in order to say you are doing continuous delivery? • Continuous integration • Comprehensive configuration management • Excellent automated testing at multiple levels • Logging and Monitoring Culture related: • Close cooperation between everyone involved in the delivery process. That is, you need DevOps. • Joint responsibility • Build quality IN • Automate everything possible • ALWAYS try to get better
  • 11. DEPLOYMENT PIPELINE It is a representation of the process for getting changes form version control into production. Development Team Checks into version control Commit Stage Trigger Automated Acceptance Tests Approval Manual Validation Approval Release
  • 12. DEPLOYMENT PIPELINE CHARACTERISTICS • Every deployment pipeline Is different • Trading off fast feedback against comprehensive feedback • To achieve this we should keep the pipeline short but as parallel as possible • Because of this in the example there is a Commit stage and an Acceptance Stage • Commit stage: • Unit Tests • Package • Code quality analysis • Possible send artifacts to an artifact repo • Acceptance stage • Configure environment • Deploy artifacts (From some sort of artifact repository) • Do all kinds of tests • Tare it down
  • 14. CONTINUOUS DEPLOYMENT What? Deployment as the last automated step of the delivery process Why? You’ve done everything possible to torture the code in a sustainable and automatic way and there are no reasons why it shouldn’t really go directly into production This really isn't as crazy as it seems!
  • 15. CONTINUOUS DEPLOYMENT: THE BIG GUYS Google: • 15,000 engineers work from the HEAD revision of a single Perforce trunk. • 50% of the code will be changed in any given month. • Google has written a comprehensive book about how they perform QA while continuously releasing. Amazon: • New code is deployed to production once every 11.6 seconds during a normal business day. • That’s 3,000 production deployments per day. • They’ve invested an enormous amount of time and money into creating an architecture that facilitates small, orthogonal, frequent code pushes. Facebook: • Each of 5,000 engineers commits to trunk HEAD at least once a day and the code at trunk HEAD is pushed to production twice daily. • Facebook has no dedicated QA team. All responsibility for testing rests with the software engineers. • They’ve invested heavily in infrastructure that provides zero-downtime deployment at Facebook scale.
  • 17. TOOLS OF THE TRADE • Code repository • Continuous Integration Server • Code review • Artifact Repository • Environment provisioning tools • Different environments
  • 18. CODE REPOSITORY AND CODE REVIEW • Bitbucket • 5 users: free • ProjectLocker • Git, SVN • Free trial • CloudForge • Free trial • Github • FREE: – unlimited collaborators, unlimited public repositories, 0 private repositories • SourceForge • Free • SonarQube • Industry standard • Free • No hosted option • Coverity • Free for open Github repos • Codacy • Free for open Github repos
  • 19. CODE QUALITY • SonarQube • Industry standard • Free • No hosted option • Coverity • Free for open Github repos • Codacy • Free for open Github repos
  • 20. CONTINUOUS INTEGRATION SERVERS • Travis-CI • Free for open GitHub repos • Jenkins • Hosted for free on OpenShift • Codeship • Free for open GitHub repos • Snap • Free for GitHub Public repos and 1 build at a time • CircleCI • Free for 1 concurrent build
  • 21. WHERE TO DEPLOY YOUR APPLICATION - Amazon Web Services (Something is free.) - Microsoft Azure (Something is free.) - Google Cloud platform (The trial is free.) - OpenShift - Heroku - Lots of cheap hosting services (Not free after all)

Hinweis der Redaktion

  1. You need to have everything needed to build an application version inside the repository = Code, Application configuration, environment and system configuration. Tests, test scripts, etc.
  2. You need to have everything needed to build an application version inside the repository = Code, Application configuration, environment and system configuration. Tests, test scripts, etc.
  3. Build quality IN. Don’t make it a last phase of the whole process. Feedback = know what features are needed and which are not Safely = minimizing the possibility of bugs Sustainable way = no overtime, no weekends Make Releases boring Increase quality and stability Reduce cost Customer satisfaction by early and continuous delivery of valuable software
  4. Configuration – Every environment should be provisioned and configured for automated and easy environment deployment. Automate everything that can be automated, let people focus on the real job. There has to be division of labor between people and machines. That is the lean way of thinking. What is the cheapest way to handle a bug? Don’t check it in into version control! W Edwards Demming: Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place.
  5. We cannot prove absence of defects We can prove absence of known defect Every deployment pipeline is different
  6. We cannot prove absence of defects We can prove absence of known defect Every deployment pipeline is different For the trade off: we prefer fast feedback instead of getting comprehensive feedback after a very long time. We do not have resources to build and test everything In parallel and fast enough to get both comprehensive and fast feedback Manual stages are in many ways like the acceptance stage. (UAT, Staging, Integration, Production) Deploys self-service through push-button process Build your packages once Deploy the same way to each environment (keep environment similar)
  7. Configuration – Every environment should be provisioned and configured for automated and easy environment deployment. Automate everything that can be automated, let people focus on the real job. There has to be division of labor between people and machines. That is the lean way of thinking. What is the cheapest way to handle a bug? Don’t check it in into version control! W Edwards Demming: Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place.
  8. - Chuck Rossi – Release Engineer at Facebook: https://www.youtube.com/watch?v=Nffzkkdq7GM
  9. Atlassiam stack + Jet Brains Team City