SlideShare a Scribd company logo
CI on a large open
source project: Plone
Ramon Navarro Bosch
r.navarro@iskra.cat
CI on large open source software : Plone & Plone 5 is here!
• Content types
• Object Oriented DB (no SQL/%·(/“&·)
• Scalable
• Multilingual content
• Theming easy experience
• Integration external
• Security/workflow
• General purpose
• Cheap to host (docker/heroku)
• Big documentation
• Great active community ( +964 add ons)
Clean and tested!
252 python packages
353 contributors
10 sprints on 2014
plone/buildout.coredev
Plone Testing
VERSION CONTROL
AUTOMATED BUILD
TEAM AGREEMENT
CI on large open source software : Plone & Plone 5 is here!
CI on large open source software : Plone & Plone 5 is here!
CI on large open source software : Plone & Plone 5 is here!
BROKEN
CI RULES
http://buildoutcoredev.readthedocs.org/
1) Don’t Check In on a Broken Build
2) Always Run All Commit Tests Locally before Committing
3) Wait for Commit Tests to Pass before Moving On
4) Never Go Home on a Broken Build
5) Always Be Prepared to Revert to the Previous Revision
6) Time-Box Fixing before Reverting
7) Don’t Comment Out Failing Tests
8) Take Responsibility for All Breakages That Result from
Your Changes
9) Break the Build and Buy Caipirinhas for Everybody
collective.xmltestreport
pytest
Coverage
Cobertura
Testing
Testing
collective.xmltestreport / pytest / Coverage / Cobertura
Robot Framework / Saucelabs
Robot
Framework
Robot / Saucelabs Jenkins Plugins
Static Code Analysis
Pep8 / Pyflakes / Pylint / plone.recipe.codeanalysis / Violations Plugin
Notifications
Emails to authors
Emails to testbot
Emails to plone-cvs
Github Notifications
Following trace
http://jenkins.plone.org/roboto/coredevjobs
Scalability
Release process
Now is manual with helpers
Soon:
Night deployment of green status using:
zest.releaser
Jenkins Build Pipeline
Heroku continuous deployment
Improvement process
PLone Improvement Proposal - PLIP
http://dev.plone.org/report/24
configuration file on buildout.coredev
jenkins job for PLIP
FrameworkTeam
UITeam
DocumentationTeam
TestingTeam
Plone 5 is here!
codename: barceloneta
FRONT END JS/CSS
Mockup/patternslib - Widgets out of the box
Inline RequireJS/LESS integration out of the box
TTW
content types creation
workflow definition
theme installation
theme editing
less vars customization
js/css editing
css/js compilation
Plone Theme Barceloneta
Automatic CSRF
Dexterity content types
…
and tons of other features
Documentation
http://docs.plone.org
Jenkins
http://jenkins.plone.org
Mr.Roboto
http://jenkins.plone.org/roboto
Plone
http://plone.org
THANKS!

More Related Content

PDF
Git and GitHub for Documentation
Anne Gentle
 
PDF
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
Steffen Gebert
 
PPTX
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Борис Зора
 
PPTX
Continuous integration ( jen kins travis ci)
Sadani Rodrigo
 
PDF
JUC Europe 2015: Scaling Your Jenkins Master with Docker
CloudBees
 
PDF
calmio-cicd-containers
Balaji Janakiram
 
PDF
Let’s start Continuous Integration with jenkins
Tomohide Kakeya
 
PDF
From Virtual Machines to Containers
camunda services GmbH
 
Git and GitHub for Documentation
Anne Gentle
 
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
Steffen Gebert
 
Continuous Delivery with Jenkins declarative pipeline XPDays-2018-12-08
Борис Зора
 
Continuous integration ( jen kins travis ci)
Sadani Rodrigo
 
JUC Europe 2015: Scaling Your Jenkins Master with Docker
CloudBees
 
calmio-cicd-containers
Balaji Janakiram
 
Let’s start Continuous Integration with jenkins
Tomohide Kakeya
 
From Virtual Machines to Containers
camunda services GmbH
 

What's hot (20)

PDF
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
PDF
CI is dead, long live CI
Frédéric Lepied
 
PPTX
Managing changes to eZPublish Database
Gaetano Giunta
 
PPTX
Introduce fuego
s60030
 
PDF
JUC Europe 2015: Hey! What Did We Just Release?
CloudBees
 
PDF
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
CloudBees
 
PDF
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
Steffen Gebert
 
PDF
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
CloudBees
 
PDF
(Declarative) Jenkins Pipelines
Steffen Gebert
 
PDF
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
CloudBees
 
PDF
JUC Europe 2015: Plugin Development with Gradle and Groovy
CloudBees
 
PDF
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
CloudBees
 
PPTX
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
 
PDF
Git essentials
Otto Kekäläinen
 
PPTX
Jenkins days workshop pipelines - Eric Long
ericlongtx
 
PDF
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
CloudBees
 
PDF
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
CloudBees
 
PDF
Jenkins
Roger Xia
 
PDF
Brujug Jenkins pipeline scalability
Damien Coraboeuf
 
PDF
Hacking Jenkins
Miro Cupak
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
CI is dead, long live CI
Frédéric Lepied
 
Managing changes to eZPublish Database
Gaetano Giunta
 
Introduce fuego
s60030
 
JUC Europe 2015: Hey! What Did We Just Release?
CloudBees
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
CloudBees
 
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
Steffen Gebert
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
CloudBees
 
(Declarative) Jenkins Pipelines
Steffen Gebert
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
CloudBees
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
CloudBees
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
CloudBees
 
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
 
Git essentials
Otto Kekäläinen
 
Jenkins days workshop pipelines - Eric Long
ericlongtx
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
CloudBees
 
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
CloudBees
 
Jenkins
Roger Xia
 
Brujug Jenkins pipeline scalability
Damien Coraboeuf
 
Hacking Jenkins
Miro Cupak
 
Ad

Viewers also liked (20)

PPT
La base per a l'aprenentatge s xxi
Nuria Alart
 
PPT
New Strategic Planning by Arash Izadkhah
Arash Izadkhah
 
PPT
Presentatie maart
Bibherzele
 
PPTX
Colegio_España
Francisco Sequeira
 
PPT
Ibo And Other Nigeria Pics
chrissienehrenberg
 
PPT
World Cultures. 114
Mrs. McCabe
 
PPT
Presentatie februari
Bibherzele
 
PPT
Food
Mrs. McCabe
 
PPT
Helen
yvmhorg
 
PPT
Skies.Mccabe
Mrs. McCabe
 
PPT
Blogger Sofrasi Sunum
Pure New Media
 
PPT
World Cultures
Mrs. McCabe
 
PPTX
Barcamp Mumbai #8
Mulchand Dedhia
 
PPTX
Candy!
Mrs. McCabe
 
PDF
Hybrid Cloud PHPUK2012
Combell NV
 
PDF
Parables vs Facts: Why we know the earth is older than 6000 years
Evo Terra
 
PDF
Php through the eyes of a hoster pbc10
Combell NV
 
PDF
Aula 2 good manners obedience
Arlete Laenzlinger
 
PPTX
The Reflection Pool
Mrs. McCabe
 
PDF
How containers helped a SaaS startup be developed and go live
Ramon Navarro
 
La base per a l'aprenentatge s xxi
Nuria Alart
 
New Strategic Planning by Arash Izadkhah
Arash Izadkhah
 
Presentatie maart
Bibherzele
 
Colegio_España
Francisco Sequeira
 
Ibo And Other Nigeria Pics
chrissienehrenberg
 
World Cultures. 114
Mrs. McCabe
 
Presentatie februari
Bibherzele
 
Helen
yvmhorg
 
Skies.Mccabe
Mrs. McCabe
 
Blogger Sofrasi Sunum
Pure New Media
 
World Cultures
Mrs. McCabe
 
Barcamp Mumbai #8
Mulchand Dedhia
 
Candy!
Mrs. McCabe
 
Hybrid Cloud PHPUK2012
Combell NV
 
Parables vs Facts: Why we know the earth is older than 6000 years
Evo Terra
 
Php through the eyes of a hoster pbc10
Combell NV
 
Aula 2 good manners obedience
Arlete Laenzlinger
 
The Reflection Pool
Mrs. McCabe
 
How containers helped a SaaS startup be developed and go live
Ramon Navarro
 
Ad

Similar to CI on large open source software : Plone & Plone 5 is here! (20)

PDF
Plone Hosting: A Panel Discussion
Jazkarta, Inc.
 
KEY
Travis CI: Fun and easy CI for your Plone packages
Nejc Zupan
 
PDF
Paving roads
gilforcada
 
PDF
Oops, where's my site?
David Glick
 
PDF
Beyond QA
gilforcada
 
PDF
PyParis2018 - Python tooling for continuous deployment
Arthur Lutz
 
PDF
Continuous integration with docker, buildbot and git
Adieu
 
PDF
Buildout future
Clayton Parker
 
PDF
Buildout for the Future
Clayton Parker
 
ODP
Managing Plone Projects with Perl and Subversion
Luciano Rocha
 
PDF
The Plone is dead, long live the Plone!
Alexander Loechel
 
PPTX
20140626 awpug-plonely in austin
Patrick Waldo
 
PDF
Plone
NEWLUG
 
ODP
Automatic codefixes
Sven Rautenberg
 
PPT
Where's the source, Luke? : How to find and debug the code behind Plone
Vincenzo Barone
 
PDF
Collective Good: Create, Release & Maintain the Best Add-on Products for Plone
jbaldivieso
 
PDF
Who let the robot out? - Building high quality software with Continuous Integ...
Timo Stollenwerk
 
PDF
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Ortus Solutions, Corp
 
PDF
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
Linaro
 
KEY
Essential Plone development tools - Plone conf 2012
Kim Chee Leong
 
Plone Hosting: A Panel Discussion
Jazkarta, Inc.
 
Travis CI: Fun and easy CI for your Plone packages
Nejc Zupan
 
Paving roads
gilforcada
 
Oops, where's my site?
David Glick
 
Beyond QA
gilforcada
 
PyParis2018 - Python tooling for continuous deployment
Arthur Lutz
 
Continuous integration with docker, buildbot and git
Adieu
 
Buildout future
Clayton Parker
 
Buildout for the Future
Clayton Parker
 
Managing Plone Projects with Perl and Subversion
Luciano Rocha
 
The Plone is dead, long live the Plone!
Alexander Loechel
 
20140626 awpug-plonely in austin
Patrick Waldo
 
Plone
NEWLUG
 
Automatic codefixes
Sven Rautenberg
 
Where's the source, Luke? : How to find and debug the code behind Plone
Vincenzo Barone
 
Collective Good: Create, Release & Maintain the Best Add-on Products for Plone
jbaldivieso
 
Who let the robot out? - Building high quality software with Continuous Integ...
Timo Stollenwerk
 
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Ortus Solutions, Corp
 
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
Linaro
 
Essential Plone development tools - Plone conf 2012
Kim Chee Leong
 

More from Ramon Navarro (11)

PDF
Guillotina
Ramon Navarro
 
PDF
Pipelines for model deployment
Ramon Navarro
 
PDF
Plone server
Ramon Navarro
 
PDF
Plone 5 and machine learning
Ramon Navarro
 
PDF
Resource registries plone conf 2014
Ramon Navarro
 
PDF
Pyramid
Ramon Navarro
 
PDF
Multilingual sites in plone
Ramon Navarro
 
PDF
Cafè amb web
Ramon Navarro
 
PDF
Presentacio meetup Python BCN
Ramon Navarro
 
PDF
plone.app.multilingual
Ramon Navarro
 
PDF
WPD Barcelona 2008 Què és Plone ?
Ramon Navarro
 
Guillotina
Ramon Navarro
 
Pipelines for model deployment
Ramon Navarro
 
Plone server
Ramon Navarro
 
Plone 5 and machine learning
Ramon Navarro
 
Resource registries plone conf 2014
Ramon Navarro
 
Pyramid
Ramon Navarro
 
Multilingual sites in plone
Ramon Navarro
 
Cafè amb web
Ramon Navarro
 
Presentacio meetup Python BCN
Ramon Navarro
 
plone.app.multilingual
Ramon Navarro
 
WPD Barcelona 2008 Què és Plone ?
Ramon Navarro
 

Recently uploaded (20)

PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
QAware GmbH
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
Wondershare Filmora 14.5.20.12999 Crack Full New Version 2025
gsgssg2211
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Smart Panchayat Raj e-Governance App.pptx
Rohitnikam33
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
QAware GmbH
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
Presentation about variables and constant.pptx
kr2589474
 
Wondershare Filmora 14.5.20.12999 Crack Full New Version 2025
gsgssg2211
 
oapresentation.pptx
mehatdhavalrajubhai
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Smart Panchayat Raj e-Governance App.pptx
Rohitnikam33
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Presentation about variables and constant.pptx
safalsingh810
 
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 

CI on large open source software : Plone & Plone 5 is here!