Safe and Happy Deploys
using Automation
aaronjholbrook
aaronjholbrook.com
!
"
Aaron Holbrook
Slide 2
Slide 2 text
EVER DEPLOYED
CODE?
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
OOPS
Slide 7
Slide 7 text
QUICK:
HOW DO YOU FIX IT IN
LESS THAN A MINUTE?
Slide 8
Slide 8 text
NO
Slide 9
Slide 9 text
NOPE
Slide 10
Slide 10 text
YES
Slide 11
Slide 11 text
HAVE A SYSTEM
THAT IS:
Slide 12
Slide 12 text
CONSISTENT
Slide 13
Slide 13 text
TRANSPARENT
Slide 14
Slide 14 text
FAST
Slide 15
Slide 15 text
SIMPLE
Slide 16
Slide 16 text
AUTOMATED
Slide 17
Slide 17 text
OUR SYSTEM
Slide 18
Slide 18 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Frontend
Build
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Slide 19
Slide 19 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 20
Slide 20 text
git
Slide 21
Slide 21 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 22
Slide 22 text
Buddy
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
‣ Syntax checking
‣ Security checking
‣ Environmental Variables
‣ Install dependencies
‣ Compile assets (JS/CSS)
‣ Move files to server
‣ Visual Regression Testing
‣ Notify team via Slack
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
Buddy
25% off any plan for
WordCamp Orange County*
Register within 14 days with the code: ‘Orange County WordCamp’.
*This talk is not sponsored or affiliated with Buddy, I just really like their service!
Slide 32
Slide 32 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 33
Slide 33 text
ZEEK PUSHER
What is it?
Slide 34
Slide 34 text
‣ Builds and deploys files
‣ Runs on a VPS (Virtual Private Server)
‣ Uses git and rsync
‣ Two repos (CORE and DEPLOY)
SUMMARY
Slide 35
Slide 35 text
‣ Is NOT connected to GitHub
‣ Mirrors the server
‣ Does have compiled assets
‣ Does have dependencies
‣ Is directly connected to GitHub
‣ Mirrors the codebase
‣ Does NOT have compiled assets
‣ Does NOT have dependencies
CORE REPO DEPLOY REPO
REPOS
Slide 36
Slide 36 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 37
Slide 37 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 38
Slide 38 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 39
Slide 39 text
Composer
Slide 40
Slide 40 text
Packagist
Slide 41
Slide 41 text
Satis
Slide 42
Slide 42 text
WordPress Packagist
Slide 43
Slide 43 text
SatisPress
Slide 44
Slide 44 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 45
Slide 45 text
Gulp
Slide 46
Slide 46 text
Webpack
Slide 47
Slide 47 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 48
Slide 48 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 49
Slide 49 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 50
Slide 50 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 51
Slide 51 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build
Slide 52
Slide 52 text
Ghost Inspector
Slide 53
Slide 53 text
Git Buddy
Zeek
Pusher
Server
Composer
Core
Repo
Deploy
Repo
Commit
(internally)
Push to
server
rsync git push
Visual
Regression Test
Notify
Team
Frontend
Build