SlideShare a Scribd company logo
IMPROVING WORDPRESS DEVELOPMENT AND
DEPLOYMENTS WITH DOCKER AND CI/CD
Brett G. Palmer
Twitter: @brettgpalmer
LinkedIn: brettgpalmer
Introductions
Career Background
• Independent Software Developer & Entrepreneur
• Promoting open source and technology
• Currently: Contractor for State of Utah - DTS/DWS
• Helping Migrate to Open Source Eligibility System
• WordPress Development last 7 years
• Organizer for SLC DevOps Days and DevOpsUT Meetup
3
Development Interests
• Enterprise Java Development - Spring Cloud
• Mobile Development
• Ionic Mobile Framework
• Chatbots for Alexa, Google Home, FB Messenger
• WordPress REST API integration
• WordPress Hosting and Deployments
4
Current Tech Interests
• Entrepreneur helping small businesses
• Mobile business apps
• Website hosting
• Software Recruiter
• Helping developers gain their independence
• Development training
• Programming, DevOps, Testing
5
Favorite Job
My Pets
What’s the
Problem?
WordPress Security Concerns
• Sucuri 2018 Reports
• 90% CMS sites were WordPress
• Under 5% for Magento, Joomla, Drupal, etc
• Enterprises avoid adopting WordPress
• Frequently affects small businesses
9
Common Reasons for Hacks
• Outdated WordPress Installs
• Unprotected Access to WordPress Admin
• Insecure/outdated plugins or themes
• Incorrect File Permissions
10
WordPress Deployment Errors
• Manual steps from testing to production
• Frequent errors with deployments
• “Works on my machine” syndrome
11
Intro Docker
and
Containers
Docker Containers Intro
• Standard unit of software
• Packages code and dependencies together
• Minimal amount necessary to run
• Run quickly and reliably
• Containers are ephemeral (disposable)
• Pets vs Cattle
Improving WordPress Development and Deployments with Docker
How
Containers
are Helpful
How Containers Can Help
• WordPress updates are easier and more frequent
• Consistent deployments to Dev, Test, and Prod
• Lock down plugins and themes
• Containers are ephemeral (short lasting) - any changes
to running container are temporary.
16
Stateless Containers
for WordPress
Approach
The Approach
• Create consistent WordPress environment
• Dev, Test, and Prod
• Started 2 years ago and evolved as needed
• Many ways to solve the same problem
• More WP containers available today
18
Technologies Used
• Docker: creates WordPress containers
• Docker Compose: integrates dependent services
• Nginx: Reverse proxy and TLS/SSL certificates hosting
• WordPress Site Container (Primary)
• WP Offload Media Light Amazon S3 and Cloudfront
• MySQL Database
• PhpMyAdmin container (development only)
• Kubernetes (future deployments)
19
Solution: Three Containers
• WordPress Base Container
• WordPress CLI Container
• Nginx container
• WordPress Site Container (Primary)
20
Layered Diagram Here
Php:fpm Image
wp-base
wp-cli
wp-nginx
wp-site
Each layer inherits
from the image above
Primary container
Smaller layers == faster
deployments
WordPress Base Container
• Depends on php:fpm (FastCGI Process Manage)
• Installs PHP extensions and makes php settings
• Downloads WordPress version (e.g. 5.2.x)
• Unpacks WordPress and sets file permission
• Sets up Docker env variables
• WORDPRESS_DB_NAME, USER, PASSWORD, HOST
• WP_DEBUG settings
22
Dockerfile: Base Container
ENV WORDPRESS_VERSION 5.2.3
ENV WORDPRESS_SHA1 5efd37148788f3b14b295b2a9bf48a1a467aa303
# upstream tarballs include ./wordpress/ so this gives us /usr/src/wordpress
RUN curl -o wordpress.tar.gz -SL https://wordpress.org/wordpress-$
{WORDPRESS_VERSION}.tar.gz 
&& echo "$WORDPRESS_SHA1 *wordpress.tar.gz" | sha1sum -c - 
&& tar -xzf wordpress.tar.gz -C /usr/src/ 
&& rm wordpress.tar.gz 
&& chown -R www-data:www-data /usr/src/wordpress
# extract wordpress on build
RUN tar cf - --one-file-system -C /usr/src/wordpress . | tar xf -
23
WordPress CLI Container
• Depends on WordPress base container
• Downloads current wpcli tool
• Sets file permissions for utility
24
WordPress Nginx Container
• Depends on wp-stateless-cli image
• Downloads nginx libraries
• Sets configurations for nginx
• Sets permissions to run nginx
25
Dockerfile: Nginx Container
# install nginx
RUN apt-get update && apt-get install -y nginx && rm -rf /var/lib/apt/lists/*
#########################################################################
#####################
# NGINX SETUP
#########################################################################
#####################
RUN rm -r /etc/nginx/sites-enabled/*
ADD default.conf /etc/nginx/sites-enabled/default.conf
ADD wordpress.conf /etc/nginx/global/wordpress.conf
ADD restrictions.conf /etc/nginx/global/restrictions.conf
26
WordPress Site Container
• Depends on wp-stateless-nginx image
• Sets memory, upload_max_filesize, etc
• Adds default and custom plugins to image
• Adds custom theme to image
27
Dockerfile: Site Container
RUN /plugins.sh /plugins/base
RUN /plugins.sh /plugins/security
# Delete Plugins script and plugin installation folder
RUN rm /plugins.sh && rm /plugins -r
# ADD OWN CUSTOM PLUGINS
ADD ./plugins/my-plugin /var/www/html/wp-content/plugins/my-plugin
##############################################################################################
# WORDPRESS Divid Theme Setup
##############################################################################################
COPY ./themes/Divi.zip /var/www/html/wp-content/themes
RUN unzip /var/www/html/wp-content/themes/Divi.zip -d /var/www/html/wp-content/themes 
&& chown -R www-data:www-data /var/www/html/wp-content/themes 
&& rm /var/www/html/wp-content/themes/Divi.zip
28
Developer Process
• Works with local wp-stateless-site repo
• Mounts local volume for development
• my-plugin directory
• my-theme directory
• Tests locally
• Commits changes into develop branch
• Push changes to remote Git server
29
Build Process
• Jenkins polls for repo changes
• Runs the build for wp-stateless-site
• Adds plugins
• Adds themes
• Pushes images to docker hub
• Pipeline runs script to deploy to test environment
• Runs automated selenium tests
30
Developer/Designer Workflow
Team Workflow
Docker Compose Deployment
Continuous
Integration/
Delivery/
Deployment
CI/CD Definitions
• Continuous Integration:
• Executes Build
• Runs unit and integration tests
• Continuous Delivery
• Insure software ready for deployment
• Tags artifacts
• Pushes to artifact repository (e.g. docker hub)
• Continuous Deployment (after all tests pass)
• Automated deployment of software to production
35
Continuous Integration and Continuous Delivery
Deployment Pipeline
• Jenkins polls for repo changes
• Runs the build for wp-stateless-site
• Adds plugins
• Adds themes
• Pushes images to docker hub
• Pipeline runs script to deploy to test environment
• Runs automated selenium tests
37
Improving WordPress Development and Deployments with Docker
Blue/Green Deployments
• Blue environment is live
• Push new deployment to Green env
• Test Green environment
• Deployment verified switch to Green
• No downtime for customers
Blue/Green Deployment with No Downtime
Challenges
Stateless Vs Traditional
1. Image is ephemeral/immutable
(doesn’t change)
2. Software is built and deployed
3. All environments have exactly
same software
4. Production is not a testing
environment
42
1. Setup repeated for each
environment
2. Differences between
environments
3. Production is a testing
environment
Stateless WP Traditional WP
WordPress Development Evolution
• WordPress Headless CMS
• Gutenberg Blocks
• ReactJS
• More integration requires standardized
build and deployments
Database Persistence
• Containers should be ephemeral
• Databases are persistent and changing
• Docker volumes can work
• Recommended: Use DB services outside
of containers
K8s Deployment (Future)
Summary
Containers: Pros and Cons
• Pros
• Docker can improve WordPress Development and
Deployments
• Docker can help improve security
• Cons
• Lose some production flexibility
• Solution is not trivial
References
• WordPress Security Concerns
• https://sucuri.net/reports/2018-hacked-website-report/
• Docker Images
• https://cloud.docker.com/u/brettgpalmer/repository/
list
• Original Idea from Michael Haessig (2017)
• https://github.com/michaelhaessig/wordpress-
stateless
Technology References
• Jenkins CI
• https://hub.docker.com/_/jenkins/
• https://jenkins.io/
• CircleCI: https://circleci.com
• Travis CI:  https://travis-ci.com/
Technology References
• Docker/Docker Compose
• Kubernetes: https://kubernetes.io/docs/
home/
• php-fpm: https://php-fpm.org/
• Book: Continuous Delivery by Jez Humble &
David Farley
Q&A
CONTACT INFO
Brett G. Palmer
Email: bpalmer@palmersoftware.com
Twitter: @brettgpalmer
LinkedIn: brettgpalmer
• Meetups: DevOpsUT, Ionic, Tech Startups
• Skiing Favorites: Solitude, Snowbird,
anywhere
• Downtown SLC (M-Th) or Utah County

More Related Content

PDF
Configuration as Code in Jenkins. What's new? Nov 2016
PDF
Nginx conference 2015
PPTX
Websockets: Pushing the web forward
PDF
Git and GitHub for Documentation
PDF
DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment
PDF
Unsafe SSL webinar
PDF
LasCon 2014 DevOoops
PDF
DockerCon SF 2015: DHE/DTR
Configuration as Code in Jenkins. What's new? Nov 2016
Nginx conference 2015
Websockets: Pushing the web forward
Git and GitHub for Documentation
DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment
Unsafe SSL webinar
LasCon 2014 DevOoops
DockerCon SF 2015: DHE/DTR

What's hot (20)

PDF
Docker Registry V2
PDF
DCSF19 Container Security: Theory & Practice at Netflix
PDF
JUC Europe 2015: Scaling Your Jenkins Master with Docker
PDF
Developer Experience Cloud Native - Become Efficient and Achieve Parity
PDF
Neues aus dem Docker-Universum
PDF
DCSF 19 Modernizing Insurance with Docker Enterprise: The Physicians Mutual ...
PPTX
How Docker simplifies CI/CD
PDF
DevOPS training - Day 2/2
PDF
Shipping NodeJS with Docker and CoreOS
PDF
DockerCon SF 2015: Docker in the New York Times Newsroom
PDF
Persistent storage tailored for containers
PDF
Node.js Rocks in Docker for Dev and Ops
PPTX
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
PPTX
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
ODP
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
PDF
Docker Registry + Basic Auth
PPTX
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
PPTX
Docker Meetup 08 03-2016
PDF
Using Docker for Testing
PDF
Drone CI
Docker Registry V2
DCSF19 Container Security: Theory & Practice at Netflix
JUC Europe 2015: Scaling Your Jenkins Master with Docker
Developer Experience Cloud Native - Become Efficient and Achieve Parity
Neues aus dem Docker-Universum
DCSF 19 Modernizing Insurance with Docker Enterprise: The Physicians Mutual ...
How Docker simplifies CI/CD
DevOPS training - Day 2/2
Shipping NodeJS with Docker and CoreOS
DockerCon SF 2015: Docker in the New York Times Newsroom
Persistent storage tailored for containers
Node.js Rocks in Docker for Dev and Ops
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Docker Registry + Basic Auth
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Docker Meetup 08 03-2016
Using Docker for Testing
Drone CI
Ad

Similar to Improving WordPress Development and Deployments with Docker (20)

PDF
A Tale of 2 Systems
PPTX
The challenge of application distribution - Introduction to Docker (2014 dec ...
PDF
Word press and containers
PDF
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
PDF
Container Days
PPTX
Docker 101 - High level introduction to docker
PPTX
Docker Meetup Paris: enterprise Docker
PPTX
Java developer intro to environment management with vagrant puppet and docker
PPTX
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
PDF
Faster and Easier Software Development using Docker Platform
PPTX
OpenStack Boston
PPTX
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
PPTX
Docker open stack boston
PPTX
The Future of Web Application Architectures
PDF
Docker Containers Deep Dive
PDF
Introduction to Containers
PDF
Containers, microservices and serverless for realists
PDF
Docker in Production: How RightScale Delivers Cloud Applications
PDF
Word press, the automated way
PDF
Docker and OpenStack Boston Meetup
A Tale of 2 Systems
The challenge of application distribution - Introduction to Docker (2014 dec ...
Word press and containers
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
Container Days
Docker 101 - High level introduction to docker
Docker Meetup Paris: enterprise Docker
Java developer intro to environment management with vagrant puppet and docker
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Faster and Easier Software Development using Docker Platform
OpenStack Boston
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
Docker open stack boston
The Future of Web Application Architectures
Docker Containers Deep Dive
Introduction to Containers
Containers, microservices and serverless for realists
Docker in Production: How RightScale Delivers Cloud Applications
Word press, the automated way
Docker and OpenStack Boston Meetup
Ad

Recently uploaded (20)

PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
cuic standard and advanced reporting.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
cuic standard and advanced reporting.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Understanding_Digital_Forensics_Presentation.pptx
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
Reach Out and Touch Someone: Haptics and Empathic Computing
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Unlocking AI with Model Context Protocol (MCP)
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Electronic commerce courselecture one. Pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The AUB Centre for AI in Media Proposal.docx

Improving WordPress Development and Deployments with Docker

  • 1. IMPROVING WORDPRESS DEVELOPMENT AND DEPLOYMENTS WITH DOCKER AND CI/CD Brett G. Palmer Twitter: @brettgpalmer LinkedIn: brettgpalmer
  • 3. Career Background • Independent Software Developer & Entrepreneur • Promoting open source and technology • Currently: Contractor for State of Utah - DTS/DWS • Helping Migrate to Open Source Eligibility System • WordPress Development last 7 years • Organizer for SLC DevOps Days and DevOpsUT Meetup 3
  • 4. Development Interests • Enterprise Java Development - Spring Cloud • Mobile Development • Ionic Mobile Framework • Chatbots for Alexa, Google Home, FB Messenger • WordPress REST API integration • WordPress Hosting and Deployments 4
  • 5. Current Tech Interests • Entrepreneur helping small businesses • Mobile business apps • Website hosting • Software Recruiter • Helping developers gain their independence • Development training • Programming, DevOps, Testing 5
  • 9. WordPress Security Concerns • Sucuri 2018 Reports • 90% CMS sites were WordPress • Under 5% for Magento, Joomla, Drupal, etc • Enterprises avoid adopting WordPress • Frequently affects small businesses 9
  • 10. Common Reasons for Hacks • Outdated WordPress Installs • Unprotected Access to WordPress Admin • Insecure/outdated plugins or themes • Incorrect File Permissions 10
  • 11. WordPress Deployment Errors • Manual steps from testing to production • Frequent errors with deployments • “Works on my machine” syndrome 11
  • 13. Docker Containers Intro • Standard unit of software • Packages code and dependencies together • Minimal amount necessary to run • Run quickly and reliably • Containers are ephemeral (disposable) • Pets vs Cattle
  • 16. How Containers Can Help • WordPress updates are easier and more frequent • Consistent deployments to Dev, Test, and Prod • Lock down plugins and themes • Containers are ephemeral (short lasting) - any changes to running container are temporary. 16
  • 18. The Approach • Create consistent WordPress environment • Dev, Test, and Prod • Started 2 years ago and evolved as needed • Many ways to solve the same problem • More WP containers available today 18
  • 19. Technologies Used • Docker: creates WordPress containers • Docker Compose: integrates dependent services • Nginx: Reverse proxy and TLS/SSL certificates hosting • WordPress Site Container (Primary) • WP Offload Media Light Amazon S3 and Cloudfront • MySQL Database • PhpMyAdmin container (development only) • Kubernetes (future deployments) 19
  • 20. Solution: Three Containers • WordPress Base Container • WordPress CLI Container • Nginx container • WordPress Site Container (Primary) 20
  • 21. Layered Diagram Here Php:fpm Image wp-base wp-cli wp-nginx wp-site Each layer inherits from the image above Primary container Smaller layers == faster deployments
  • 22. WordPress Base Container • Depends on php:fpm (FastCGI Process Manage) • Installs PHP extensions and makes php settings • Downloads WordPress version (e.g. 5.2.x) • Unpacks WordPress and sets file permission • Sets up Docker env variables • WORDPRESS_DB_NAME, USER, PASSWORD, HOST • WP_DEBUG settings 22
  • 23. Dockerfile: Base Container ENV WORDPRESS_VERSION 5.2.3 ENV WORDPRESS_SHA1 5efd37148788f3b14b295b2a9bf48a1a467aa303 # upstream tarballs include ./wordpress/ so this gives us /usr/src/wordpress RUN curl -o wordpress.tar.gz -SL https://wordpress.org/wordpress-$ {WORDPRESS_VERSION}.tar.gz && echo "$WORDPRESS_SHA1 *wordpress.tar.gz" | sha1sum -c - && tar -xzf wordpress.tar.gz -C /usr/src/ && rm wordpress.tar.gz && chown -R www-data:www-data /usr/src/wordpress # extract wordpress on build RUN tar cf - --one-file-system -C /usr/src/wordpress . | tar xf - 23
  • 24. WordPress CLI Container • Depends on WordPress base container • Downloads current wpcli tool • Sets file permissions for utility 24
  • 25. WordPress Nginx Container • Depends on wp-stateless-cli image • Downloads nginx libraries • Sets configurations for nginx • Sets permissions to run nginx 25
  • 26. Dockerfile: Nginx Container # install nginx RUN apt-get update && apt-get install -y nginx && rm -rf /var/lib/apt/lists/* ######################################################################### ##################### # NGINX SETUP ######################################################################### ##################### RUN rm -r /etc/nginx/sites-enabled/* ADD default.conf /etc/nginx/sites-enabled/default.conf ADD wordpress.conf /etc/nginx/global/wordpress.conf ADD restrictions.conf /etc/nginx/global/restrictions.conf 26
  • 27. WordPress Site Container • Depends on wp-stateless-nginx image • Sets memory, upload_max_filesize, etc • Adds default and custom plugins to image • Adds custom theme to image 27
  • 28. Dockerfile: Site Container RUN /plugins.sh /plugins/base RUN /plugins.sh /plugins/security # Delete Plugins script and plugin installation folder RUN rm /plugins.sh && rm /plugins -r # ADD OWN CUSTOM PLUGINS ADD ./plugins/my-plugin /var/www/html/wp-content/plugins/my-plugin ############################################################################################## # WORDPRESS Divid Theme Setup ############################################################################################## COPY ./themes/Divi.zip /var/www/html/wp-content/themes RUN unzip /var/www/html/wp-content/themes/Divi.zip -d /var/www/html/wp-content/themes && chown -R www-data:www-data /var/www/html/wp-content/themes && rm /var/www/html/wp-content/themes/Divi.zip 28
  • 29. Developer Process • Works with local wp-stateless-site repo • Mounts local volume for development • my-plugin directory • my-theme directory • Tests locally • Commits changes into develop branch • Push changes to remote Git server 29
  • 30. Build Process • Jenkins polls for repo changes • Runs the build for wp-stateless-site • Adds plugins • Adds themes • Pushes images to docker hub • Pipeline runs script to deploy to test environment • Runs automated selenium tests 30
  • 35. CI/CD Definitions • Continuous Integration: • Executes Build • Runs unit and integration tests • Continuous Delivery • Insure software ready for deployment • Tags artifacts • Pushes to artifact repository (e.g. docker hub) • Continuous Deployment (after all tests pass) • Automated deployment of software to production 35
  • 36. Continuous Integration and Continuous Delivery
  • 37. Deployment Pipeline • Jenkins polls for repo changes • Runs the build for wp-stateless-site • Adds plugins • Adds themes • Pushes images to docker hub • Pipeline runs script to deploy to test environment • Runs automated selenium tests 37
  • 39. Blue/Green Deployments • Blue environment is live • Push new deployment to Green env • Test Green environment • Deployment verified switch to Green • No downtime for customers
  • 42. Stateless Vs Traditional 1. Image is ephemeral/immutable (doesn’t change) 2. Software is built and deployed 3. All environments have exactly same software 4. Production is not a testing environment 42 1. Setup repeated for each environment 2. Differences between environments 3. Production is a testing environment Stateless WP Traditional WP
  • 43. WordPress Development Evolution • WordPress Headless CMS • Gutenberg Blocks • ReactJS • More integration requires standardized build and deployments
  • 44. Database Persistence • Containers should be ephemeral • Databases are persistent and changing • Docker volumes can work • Recommended: Use DB services outside of containers
  • 47. Containers: Pros and Cons • Pros • Docker can improve WordPress Development and Deployments • Docker can help improve security • Cons • Lose some production flexibility • Solution is not trivial
  • 48. References • WordPress Security Concerns • https://sucuri.net/reports/2018-hacked-website-report/ • Docker Images • https://cloud.docker.com/u/brettgpalmer/repository/ list • Original Idea from Michael Haessig (2017) • https://github.com/michaelhaessig/wordpress- stateless
  • 49. Technology References • Jenkins CI • https://hub.docker.com/_/jenkins/ • https://jenkins.io/ • CircleCI: https://circleci.com • Travis CI:  https://travis-ci.com/
  • 50. Technology References • Docker/Docker Compose • Kubernetes: https://kubernetes.io/docs/ home/ • php-fpm: https://php-fpm.org/ • Book: Continuous Delivery by Jez Humble & David Farley
  • 51. Q&A
  • 52. CONTACT INFO Brett G. Palmer Email: [email protected] Twitter: @brettgpalmer LinkedIn: brettgpalmer • Meetups: DevOpsUT, Ionic, Tech Startups • Skiing Favorites: Solitude, Snowbird, anywhere • Downtown SLC (M-Th) or Utah County