SlideShare a Scribd company logo
Continuous delivery
with open source tools
presented by Sebastian Helzle
Who am I?
•

Web developer since Geocities went
popular (~1997)

•

Living in Karlsruhe, Germany since 2004

•

Freelancer since 2007 and first TYPO3
project

•

Javascript enthusiast since 2008

•

DevOps architect since 2012

•

TYPO3 Neos core developer since 2013

•

First time in Asia two weeks ago

•

Cook, hiker, reader, traveler, gamer for a
long time
Overview
•

Motivation for continuous delivery

•

Steps in the delivery pipeline and
•

What each step means

•

The tools I use in each step

•

Tools for keeping the delivery environment running

•

Summary
Motivation
•

Deliver features,
changes, fixes fast and
reproducible

•

Everyone should be able
to do it

•

Maintainable architecture

•

Create value for your
customer
The delivery pipeline
Agile teams
Code repository
Feedback &
Monitoring

Automated builds
Automatic tests
Deployment
Approval

Production

Reporting
Agile teams
Code repository
•

Centralized source code management

•

For reviewing and checking what’s going on in your codebase

•

My tool: Git & Gitlab!
•

Your private Github

•

Big community

•

Easy to setup and maintain

•

Supports teams
Continuous integration
Server
•

Manages the whole CI process

•

My tool: Jenkins
•

Centralized application for running 

all tasks in the process 

(after commit)

•

Very customizable

•

Can run in a distributed environment

•

Has lots of plugins available

including Chuck Norris plugin
Automated builds
•

Run after each commit

•

Report to the team if there are 

problems

•

Give every build a unique ID which is traceable
throughout the pipeline to production
Continuous delivery with open source tools
Automated Tests
•

Assure the quality of your codebase

•

Will be triggered for every build

•

Provides reporting on code quality and other metrics

•

Some tests can also be run as monitoring for the production system

•

Promote builds which pass the tests

•

Inform the team when a tests fails and show the overall quality 

over a timespan

•

My tools:
•

Selenium(2)!

•

PHPUnit, JUnit, PyUnit, QUnit, etc…
Continuous delivery with open source tools
Deployment
•

Requires no manual steps (if possible)

•

Only deploy promoted builds

•

Promote builds on success

•

Configurations should be
•

in version control

•

easy to setup

•

Should be reproducible by everyone in your company

•

Requires good reporting, because errors will happen!
My primary deployment tool:

TYPO3 Surf
•

Distributed as TYPO3 Flow package

•

Can be part of the project itself

•

PHP-based configuration (not necessarily a good thing)

•

Code is readable and can be extended easily

•

Rollbacks when any error happens while deploying

•

Keeps revisions on the target system

•

Deployment via rsync, packaging, Git

•

Run customized tasks at every deployment step

•

Alternatives:
•

Fabric - Python based tool for deployment and remote administration tasks
Approval
•

Smoke tests

•

My tools
•

Selenium(2)!

•

Curl & grep!

•

JMeter (Performance)
Tools for keeping the
delivery environment
running
Maintaining the pipeline
•

Use tools which can automate the setup of each step in the pipeline
•
•

Install the applications

•

Configure the system environment

•
•

Provision the (virtual) machines

Create basic configurations for projects

My tool: Chef!
•

Write cookbooks and recipes in ruby for 

setting up reproducible environments

•

Large community & good support

•

Lots of free cookbooks you can use
Simulate the the pipeline
•

Try out new tools & updates

•

Check if the tools work together

•

Simulate deliveries

•

Break things and try again

•

My tool: Vagrant!
•

Check out the talk by Michael Knoll (Saturday):

„Reproducible and portable work environments with
Vagrant & Chef“
Summary
•

We want continuous delivery because
•

We know what we are delivering

•

We can deliver it fast

•

We can tackle the steps which create headaches

•

It reduces stress -> we have a better life
Problems you will face
•

The tools I presented aren’t trivial
•

•

First steps will be hard -> don’t give up!

Motivate your people to play around with the systems
•
•

•

Best learning effect from my experience
Spreads the knowledge in your company

Making your customer invest in the improvements of
your pipeline
Links
•

gitlab.org - Gitlab

•

docs.seleniumhq.org - Selenium

•

jenkins-ci.org - Jenkins

•

http://www.getchef.com/chef/ - Chef

•

http://docs.fabfile.org/ - Fabric

•

https://qunitjs.com/ - QUnit

•

http://phpunit.de/ - PHPUnit

•

vagrantup.com - Vagrant
Contacting me
•

Twitter: @sebobo

•

By mail: sebastian@helzle.net

•

Skype: sebobo

•

Github: github.com/sebobo
Thank you!
!

Any questions left?

More Related Content

What's hot (20)

PDF
Jenkins-CI
Gong Haibing
 
PDF
Yale Jenkins Show and Tell
E. Camden Fisher
 
PDF
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
Michael Lihs
 
PPTX
Jenkins CI
Viyaan Jhiingade
 
PPTX
Ice breaker with dev ops
Mukta Aphale
 
PPT
Continuous deployment steve povilaitis
Steve Povilaitis
 
PDF
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
Rodrigo Russo
 
PPTX
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
James Strong
 
PDF
Magento Continuous Integration & Continuous Delivery @MM17HR
Denis Ristic
 
PDF
Let’s start Continuous Integration with jenkins
Tomohide Kakeya
 
PDF
Production Ready WordPress #WPLDN
Edmund Turbin
 
PDF
Using Docker for Testing
Mukta Aphale
 
DOCX
What is jenkins
linuxdady
 
PDF
Continuous delivery of your legacy application
ColdFusionConference
 
ODP
An Introduction To Jenkins
Knoldus Inc.
 
PDF
JUC Europe 2015: Plugin Development with Gradle and Groovy
CloudBees
 
KEY
Make It Cooler: Using Decentralized Version Control
indiver
 
PPTX
Jenkins Introduction
Pavan Gupta
 
PDF
Production ready word press
Edmund Turbin
 
PPTX
Jenkins introduction
Gourav Varma
 
Jenkins-CI
Gong Haibing
 
Yale Jenkins Show and Tell
E. Camden Fisher
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
Michael Lihs
 
Jenkins CI
Viyaan Jhiingade
 
Ice breaker with dev ops
Mukta Aphale
 
Continuous deployment steve povilaitis
Steve Povilaitis
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
Rodrigo Russo
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
James Strong
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Denis Ristic
 
Let’s start Continuous Integration with jenkins
Tomohide Kakeya
 
Production Ready WordPress #WPLDN
Edmund Turbin
 
Using Docker for Testing
Mukta Aphale
 
What is jenkins
linuxdady
 
Continuous delivery of your legacy application
ColdFusionConference
 
An Introduction To Jenkins
Knoldus Inc.
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
CloudBees
 
Make It Cooler: Using Decentralized Version Control
indiver
 
Jenkins Introduction
Pavan Gupta
 
Production ready word press
Edmund Turbin
 
Jenkins introduction
Gourav Varma
 

Similar to Continuous delivery with open source tools (20)

PDF
Continuous Delivery
Netcetera
 
PDF
Continuous delivery
Alexandru Bolboaca
 
PDF
Zero to hero - Geoff Webb
Devopsdays
 
PDF
2013 10-25 dev-opsdays
geoffnettaglich
 
PPTX
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce
 
PPTX
Continuous Delivery for Open Source Java projects
Tricode (part of Dept)
 
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
PDF
Cloud continuous integration- A distributed approach using distinct services
André Agostinho
 
PDF
Continuous Delivery Distilled
Matt Callanan
 
PDF
Software Delivery in 2016 - A Continuous Delivery Approach
Giovanni Toraldo
 
PPTX
DevOps On AWS - Deep Dive on Continuous Delivery
Mikhail Prudnikov
 
PDF
Continuous Delivery for the Web Platform
Jarrod Overson
 
PDF
PyParis2018 - Python tooling for continuous deployment
Arthur Lutz
 
PPTX
Kevin Glavin - Continuous Integration, Continuous Delivery, and Deployment (C...
centralohioissa
 
PDF
CI&CD with AWS - AWS Prague User Group - May 2015
Vladimir Simek
 
PDF
Continous Delivery Toronto Presentation
XebiaLabs
 
PDF
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Mozaic Works
 
PDF
Getting to Walk with DevOps
Eklove Mohan
 
PDF
DevOps and AWS
Shiva Narayanaswamy
 
Continuous Delivery
Netcetera
 
Continuous delivery
Alexandru Bolboaca
 
Zero to hero - Geoff Webb
Devopsdays
 
2013 10-25 dev-opsdays
geoffnettaglich
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce
 
Continuous Delivery for Open Source Java projects
Tricode (part of Dept)
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
Cloud continuous integration- A distributed approach using distinct services
André Agostinho
 
Continuous Delivery Distilled
Matt Callanan
 
Software Delivery in 2016 - A Continuous Delivery Approach
Giovanni Toraldo
 
DevOps On AWS - Deep Dive on Continuous Delivery
Mikhail Prudnikov
 
Continuous Delivery for the Web Platform
Jarrod Overson
 
PyParis2018 - Python tooling for continuous deployment
Arthur Lutz
 
Kevin Glavin - Continuous Integration, Continuous Delivery, and Deployment (C...
centralohioissa
 
CI&CD with AWS - AWS Prague User Group - May 2015
Vladimir Simek
 
Continous Delivery Toronto Presentation
XebiaLabs
 
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Mozaic Works
 
Getting to Walk with DevOps
Eklove Mohan
 
DevOps and AWS
Shiva Narayanaswamy
 
Ad

More from Sebastian Helzle (11)

PPTX
Neos CMS & SEO - The Next Level - NeosCon Dresden 2019
Sebastian Helzle
 
PPTX
SEO with NeosCMS - Meet Neos Salzburg 2018
Sebastian Helzle
 
PPTX
Semantic data in TYPO3 - T3CON18EU
Sebastian Helzle
 
PPTX
Continuous relaunch – die einzige konstante ist die Veränderung
Sebastian Helzle
 
PPTX
Neos CMS and SEO
Sebastian Helzle
 
PDF
Ci & proServer
Sebastian Helzle
 
PDF
Tasty Recipes for Every Day 2016 (Neos)
Sebastian Helzle
 
PDF
Conceptual understanding in development
Sebastian Helzle
 
PDF
Improving conceptual understanding in development
Sebastian Helzle
 
PDF
Improving editors' lives with Neos CMS
Sebastian Helzle
 
PDF
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Sebastian Helzle
 
Neos CMS & SEO - The Next Level - NeosCon Dresden 2019
Sebastian Helzle
 
SEO with NeosCMS - Meet Neos Salzburg 2018
Sebastian Helzle
 
Semantic data in TYPO3 - T3CON18EU
Sebastian Helzle
 
Continuous relaunch – die einzige konstante ist die Veränderung
Sebastian Helzle
 
Neos CMS and SEO
Sebastian Helzle
 
Ci & proServer
Sebastian Helzle
 
Tasty Recipes for Every Day 2016 (Neos)
Sebastian Helzle
 
Conceptual understanding in development
Sebastian Helzle
 
Improving conceptual understanding in development
Sebastian Helzle
 
Improving editors' lives with Neos CMS
Sebastian Helzle
 
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Sebastian Helzle
 
Ad

Recently uploaded (20)

PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 

Continuous delivery with open source tools

  • 1. Continuous delivery with open source tools presented by Sebastian Helzle
  • 2. Who am I? • Web developer since Geocities went popular (~1997) • Living in Karlsruhe, Germany since 2004 • Freelancer since 2007 and first TYPO3 project • Javascript enthusiast since 2008 • DevOps architect since 2012 • TYPO3 Neos core developer since 2013 • First time in Asia two weeks ago • Cook, hiker, reader, traveler, gamer for a long time
  • 3. Overview • Motivation for continuous delivery • Steps in the delivery pipeline and • What each step means • The tools I use in each step • Tools for keeping the delivery environment running • Summary
  • 4. Motivation • Deliver features, changes, fixes fast and reproducible • Everyone should be able to do it • Maintainable architecture • Create value for your customer
  • 6. Agile teams Code repository Feedback & Monitoring Automated builds Automatic tests Deployment Approval Production Reporting
  • 8. Code repository • Centralized source code management • For reviewing and checking what’s going on in your codebase • My tool: Git & Gitlab! • Your private Github • Big community • Easy to setup and maintain • Supports teams
  • 9. Continuous integration Server • Manages the whole CI process • My tool: Jenkins • Centralized application for running 
 all tasks in the process 
 (after commit) • Very customizable • Can run in a distributed environment • Has lots of plugins available
 including Chuck Norris plugin
  • 10. Automated builds • Run after each commit • Report to the team if there are 
 problems • Give every build a unique ID which is traceable throughout the pipeline to production
  • 12. Automated Tests • Assure the quality of your codebase • Will be triggered for every build • Provides reporting on code quality and other metrics • Some tests can also be run as monitoring for the production system • Promote builds which pass the tests • Inform the team when a tests fails and show the overall quality 
 over a timespan • My tools: • Selenium(2)! • PHPUnit, JUnit, PyUnit, QUnit, etc…
  • 14. Deployment • Requires no manual steps (if possible) • Only deploy promoted builds • Promote builds on success • Configurations should be • in version control • easy to setup • Should be reproducible by everyone in your company • Requires good reporting, because errors will happen!
  • 15. My primary deployment tool:
 TYPO3 Surf • Distributed as TYPO3 Flow package • Can be part of the project itself • PHP-based configuration (not necessarily a good thing) • Code is readable and can be extended easily • Rollbacks when any error happens while deploying • Keeps revisions on the target system • Deployment via rsync, packaging, Git • Run customized tasks at every deployment step • Alternatives: • Fabric - Python based tool for deployment and remote administration tasks
  • 17. Tools for keeping the delivery environment running
  • 18. Maintaining the pipeline • Use tools which can automate the setup of each step in the pipeline • • Install the applications • Configure the system environment • • Provision the (virtual) machines Create basic configurations for projects My tool: Chef! • Write cookbooks and recipes in ruby for 
 setting up reproducible environments • Large community & good support • Lots of free cookbooks you can use
  • 19. Simulate the the pipeline • Try out new tools & updates • Check if the tools work together • Simulate deliveries • Break things and try again • My tool: Vagrant! • Check out the talk by Michael Knoll (Saturday):
 „Reproducible and portable work environments with Vagrant & Chef“
  • 20. Summary • We want continuous delivery because • We know what we are delivering • We can deliver it fast • We can tackle the steps which create headaches • It reduces stress -> we have a better life
  • 21. Problems you will face • The tools I presented aren’t trivial • • First steps will be hard -> don’t give up! Motivate your people to play around with the systems • • • Best learning effect from my experience Spreads the knowledge in your company Making your customer invest in the improvements of your pipeline
  • 22. Links • gitlab.org - Gitlab • docs.seleniumhq.org - Selenium • jenkins-ci.org - Jenkins • http://www.getchef.com/chef/ - Chef • http://docs.fabfile.org/ - Fabric • https://qunitjs.com/ - QUnit • http://phpunit.de/ - PHPUnit • vagrantup.com - Vagrant
  • 23. Contacting me • Twitter: @sebobo • By mail: [email protected] • Skype: sebobo • Github: github.com/sebobo