SlideShare a Scribd company logo
1 of 53
Download to read offline
Continuous WordPress
Remove the repetition
https://goo.gl/images/X7FdTp
Michelangelo van Dam
PHP Consultant, Community Leader & Trainer
https://www.flickr.com/photos/akrabat/8784318813
Schedule
WordPress
Continuous Integration
Challenges
Solutions
Recap
#ciwp
https://www.flickr.com/photos/usfwsmidwest/5324227021
WordPress
Continuous Integration
Challenges
Solutions
Recap
PRO Easy for end users
PRO Huge contributor base
PRO Support numerous PHP versions
PRO Active updates
https://www.flickr.com/photos/skyseeker/6424157
CON Auto update for core only
https://www.flickr.com/photos/130973380@N08/16656126444
CON Manual update of plugins & themes
CON Support numerous PHP versions
CON Prime target for hackers
https://www.flickr.com/photos/regtiangha/18032558131
https://www.flickr.com/photos/regtiangha/18032558131
https://www.flickr.com/photos/mikecogh/8090312841
WordPress
Continuous Integration
Challenges
Solutions
Recap
https://www.flickr.com/photos/freefoto/5982549938
https://www.flickr.com/photos/freefoto/5982549938
Common CI systems
Online CI systems
https://www.flickr.com/photos/freefoto/5982549938
https://www.flickr.com/photos/mabi/38307124
https://www.flickr.com/photos/regtiangha/18032558131
Wordpress
Core
Wordpress
Plugins
Wordpress
Themes
https://www.flickr.com/photos/regtiangha/18032558131
Wordpress
Core
Wordpress
Plugins
Wordpress
Themes
⚙⚙⚙
CI System
WordPress
Continuous Integration
Challenges
Solutions
Recap
Customization
https://www.flickr.com/photos/t00n/5213814999
https://www.flickr.com/photos/t00n/5213814999
Platforms & Services
https://www.flickr.com/photos/t00n/5213814999
Scary
https://www.flickr.com/photos/t00n/5213814999
WP Core
WP Plugins
WP Themes
Custom Plugins
Custom Themes
OS
Server (cloud, vps, bare metal)
ENV (DEV, TEST, ACC, PROD)
Database and Filesystem
https://www.flickr.com/photos/t00n/5213814999
WP Core
WP Plugins
WP Themes
Custom Plugins
Custom Themes
OS
Server (cloud, vps, bare metal)
ENV (DEV, TEST, ACC, PROD)
Database and Filesystem
https://www.flickr.com/photos/t00n/5213814999
WP Core
WP Plugins
WP Themes
Custom Plugins
Custom Themes
OS
Server (cloud, vps, bare metal)
ENV (DEV, TEST, ACC, PROD)
Database and Filesystem
https://www.flickr.com/photos/t00n/5213814999
WP Core
WP Plugins
WP Themes
Custom Plugins
Custom Themes
OS
Server (cloud, vps, bare metal)
ENV (DEV, TEST, ACC, PROD)
Database and Filesystem
https://www.flickr.com/photos/t00n/5213814999
WP Core
WP Plugins
WP Themes
Custom Plugins
Custom Themes
OS
Server (cloud, vps, bare metal)
ENV (DEV, TEST, ACC, PROD)
Database and Filesystem
https://www.flickr.com/photos/t00n/5213814999
WP Core
WP Plugins
WP Themes
Custom Plugins
Custom Themes
OS
Server (cloud, vps, bare metal)
ENV (DEV, TEST, ACC, PROD)
Database and Filesystem
https://www.flickr.com/photos/t00n/5213814999
WP Core
WP Plugins
WP Themes
Custom Plugins
Custom Themes
OS
Server (cloud, vps, bare metal)
ENV (DEV, TEST, ACC, PROD)
Database and Filesystem
WordPress
Continuous Integration
Challenges
Solutions
Recap
https://www.flickr.com/photos/cfaobam/6785094564
https://www.flickr.com/photos/cfaobam/6785094564
• WordPress Core: 

https://core.svn.wordpress.org/
• WordPress Plugins: 

https://plugins.svn.wordpress.org
• WordPress Themes: 

https://themes.svn.wordpress.org
https://www.flickr.com/photos/cfaobam/6785094564
CUSTOMCODE
https://www.flickr.com/photos/cfaobam/6785094564
• Custom Themes:

http://svn.company.com/themes/
• Custom Plugins:

http://svn.company.com/plugins
https://www.flickr.com/photos/cfaobam/6785094564
• https://github.com/company/wp/themes/
mytheme/tags/1.1.4
• https://github.com/company/wp/plugins/
myplugin/tags/3.2.6
Staged environment
ProductionAcceptanceTestDevelopment
https://www.flickr.com/photos/cod_gabriel/5888445557
https://www.flickr.com/photos/cod_gabriel/5888445557
Staged environment
ProductionTest
https://www.flickr.com/photos/cod_gabriel/5888445557
Provisioning tools
Phing or Ant?
https://www.flickr.com/photos/jrmllvr/8658786500
https://www.flickr.com/photos/jrmllvr/8658786500
Backup all
Check for new updates Core Plugins Themes
database filesystem
Test incoming changes Unit Selenium
Update production
Patch
SVN switch
Package …
Reporting & Notifications Old projects
Overview
Changes
…
https://www.flickr.com/photos/jrmllvr/8658786500
Continuous Monitor, Test and Update Your WordPress sites
Default target:
-------------------------------------------------------------------------------
build Run automated WordPress Updater
Main targets:
-------------------------------------------------------------------------------
build Run automated WordPress Updater
catalog Create a catalog of sites under control
dbupdate Update the WP database if there’s new version
inventory Make an inventory of site core, plugins and themes versions
plugin-check Check if WordPress Plugins require updates
prepare Get all configuration settings
theme-check Check if WordPress Themes require updates
wpbackup Make a backup of the WordPress site
wpcore-check Check if WordPress Core requires updates
wpplugins-check Check local WP Plugins version
wpthemes-check Check local WP Themes version
https://www.flickr.com/photos/jrmllvr/8658786500
https://www.flickr.com/photos/jrmllvr/8658786500
https://www.flickr.com/photos/jrmllvr/8658786500
WordPress
Continuous Integration
Challenges
Solutions
Recap
https://twitter.com/CalEvans/status/647660383499587584
WordPress is a great platform!
Automate updates for core, plugins
and themes⚙
Sleep better knowing you have all
the updates automatically
😴
https://twitter.com/CalEvans/status/647660383499587584
https://twitter.com/CalEvans/status/647660383499587584
https://www.flickr.com/photos/lwr/13442542235
Contact us
in it2PROFESSIONAL PHP SERVICES
Michelangelo van Dam
michelangelo@in2it.be
www.in2it.be
PHP Consulting - Training - QA
phpcon.eu
Ticket sales start soon!
January 27 & 28 in Antwerp (Belgium)
18957
If you enjoyed this talk, thanks.
If not, tell me how to make it better
Leave feedback and grab the slides
Thank you
Have a great conference
http://www.flickr.com/photos/drewm/3191872515

More Related Content

Viewers also liked

Google blogger 教學
Google blogger 教學Google blogger 教學
Google blogger 教學鈺棠 徐
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldLorna Mitchell
 
PHPUnit best practices presentation
PHPUnit best practices presentationPHPUnit best practices presentation
PHPUnit best practices presentationThanh Robi
 
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnJavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnKoji Ishimoto
 
Redis for the Everyday Developer
Redis for the Everyday DeveloperRedis for the Everyday Developer
Redis for the Everyday DeveloperRoss Tuck
 
Redis in Practice
Redis in PracticeRedis in Practice
Redis in PracticeNoah Davis
 

Viewers also liked (8)

Google blogger 教學
Google blogger 教學Google blogger 教學
Google blogger 教學
 
jQuery入門
jQuery入門jQuery入門
jQuery入門
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
200K+ reasons security is a must
200K+ reasons security is a must200K+ reasons security is a must
200K+ reasons security is a must
 
PHPUnit best practices presentation
PHPUnit best practices presentationPHPUnit best practices presentation
PHPUnit best practices presentation
 
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnJavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
 
Redis for the Everyday Developer
Redis for the Everyday DeveloperRedis for the Everyday Developer
Redis for the Everyday Developer
 
Redis in Practice
Redis in PracticeRedis in Practice
Redis in Practice
 

More from Michelangelo van Dam

GDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultGDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultMichelangelo van Dam
 
Moving from app services to azure functions
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functionsMichelangelo van Dam
 
General Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyGeneral Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyMichelangelo van Dam
 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageMichelangelo van Dam
 
Decouple your framework now, thank me later
Decouple your framework now, thank me laterDecouple your framework now, thank me later
Decouple your framework now, thank me laterMichelangelo van Dam
 
Deploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesDeploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesMichelangelo van Dam
 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heavenMichelangelo van Dam
 
Zf2 how arrays will save your project
Zf2   how arrays will save your projectZf2   how arrays will save your project
Zf2 how arrays will save your projectMichelangelo van Dam
 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsMichelangelo van Dam
 
Easily extend your existing php app with an api
Easily extend your existing php app with an apiEasily extend your existing php app with an api
Easily extend your existing php app with an apiMichelangelo van Dam
 
90K Reasons Security is a Must - PHPWorld 2014
90K Reasons Security is a Must - PHPWorld 201490K Reasons Security is a Must - PHPWorld 2014
90K Reasons Security is a Must - PHPWorld 2014Michelangelo van Dam
 

More from Michelangelo van Dam (20)

GDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultGDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and default
 
Moving from app services to azure functions
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functions
 
Privacy by design
Privacy by designPrivacy by design
Privacy by design
 
DevOps or DevSecOps
DevOps or DevSecOpsDevOps or DevSecOps
DevOps or DevSecOps
 
Privacy by design
Privacy by designPrivacy by design
Privacy by design
 
Continuous deployment 2.0
Continuous deployment 2.0Continuous deployment 2.0
Continuous deployment 2.0
 
Let your tests drive your code
Let your tests drive your codeLet your tests drive your code
Let your tests drive your code
 
General Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyGeneral Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's story
 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantage
 
Decouple your framework now, thank me later
Decouple your framework now, thank me laterDecouple your framework now, thank me later
Decouple your framework now, thank me later
 
Deploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesDeploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutes
 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heaven
 
Getting hands dirty with php7
Getting hands dirty with php7Getting hands dirty with php7
Getting hands dirty with php7
 
Zf2 how arrays will save your project
Zf2   how arrays will save your projectZf2   how arrays will save your project
Zf2 how arrays will save your project
 
Create, test, secure, repeat
Create, test, secure, repeatCreate, test, secure, repeat
Create, test, secure, repeat
 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the tests
 
Easily extend your existing php app with an api
Easily extend your existing php app with an apiEasily extend your existing php app with an api
Easily extend your existing php app with an api
 
Your code are my tests
Your code are my testsYour code are my tests
Your code are my tests
 
QA for PHP projects
QA for PHP projectsQA for PHP projects
QA for PHP projects
 
90K Reasons Security is a Must - PHPWorld 2014
90K Reasons Security is a Must - PHPWorld 201490K Reasons Security is a Must - PHPWorld 2014
90K Reasons Security is a Must - PHPWorld 2014
 

Recently uploaded

Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentBharaniDharan195623
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate productionChinnuNinan
 
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
 
Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxachiever3003
 
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
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Risk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectRisk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectErbil Polytechnic University
 
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
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
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
 
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
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptbibisarnayak0
 

Recently uploaded (20)

Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managament
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate production
 
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
 
Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptx
 
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
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Risk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectRisk Management in Engineering Construction Project
Risk Management in Engineering Construction Project
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
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
 
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
 
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
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.ppt
 

Continuous WordPress