Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Automate All the Things
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Josh Betz
June 08, 2013
Technology
1.5k
1
Share
Automate All the Things
Josh Betz
June 08, 2013
More Decks by Josh Betz
See All by Josh Betz
WP REST API
joshbetz
0
76
Code Review for Teams
joshbetz
0
50
Hypersonic
joshbetz
1
3.6k
Other Decks in Technology
See All in Technology
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
170
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
760
2026年、知っておくべき最新 サーバレスTips10選/serverless-10-tips
slsops
11
3.5k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
終盤で崩壊させないAI駆動開発
j5ik2o
1
920
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
920
GitHub Copilotを極める会 - 開発者のための活用術
findy_eventslides
7
4.1k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
60分で学ぶ最新Webフロントエンド
mizdra
PRO
28
13k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
23k
LLM とプロンプトエンジニアリング/チューターを定義する / LLMs and Prompt Engineering, and Defining Tutors
ks91
PRO
0
360
試されDATA SAPPORO [LT]Claude Codeで「ゆっくりデータ分析」
ishikawa_satoru
0
380
Featured
See All Featured
Fireside Chat
paigeccino
42
3.9k
Designing for Performance
lara
611
70k
Scaling GitHub
holman
464
140k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
250
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
HDC tutorial
michielstock
1
610
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
400
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
Skip the Path - Find Your Career Trail
mkilby
1
100
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Transcript
A WordPress Development Workflow
Josh Betz UW - Madison, 2013 Code Wrangler, Automattic @joshbetz
Develop locally against trunk
git-svn git svn clone -s http://core.svn.wordpress.org git svn rebase
git in git Use a new repository for each theme
or plugin
Automate your Environment
Goal: Quickly set up a dev environment that looks like
a server
My solution: Vagrant + Puppet
Install VirtualBox https://www.virtualbox.org/wiki/Downloads
RVM curl -L https://get.rvm.io | bash -s stable
gem install vagrant Vagrant
Puppet gem install puppet
Vagrant::Config.run do |config| end Vagrantfile config.vm.box = "precise64” config.vm.network :hostonly,
'10.10.4.20' config.vm.provision :puppet, :module_path => "puppet/modules" do |puppet| puppet.manifests_path = "puppet/manifests" puppet.manifest_file = "base.pp" end
Vagrant::Config.run do |config| end Vagrantfile config.vm.box = "precise64” config.vm.network :hostonly,
'10.10.4.20' config.vm.provision :puppet, :module_path => "puppet/modules" do |puppet| puppet.manifests_path = "puppet/manifests" puppet.manifest_file = "base.pp" end
Vagrant::Config.run do |config| end Vagrantfile config.vm.box = "precise64” config.vm.network :hostonly,
'10.10.4.20' config.vm.provision :puppet, :module_path => "puppet/modules" do |puppet| puppet.manifests_path = "puppet/manifests" puppet.manifest_file = "base.pp" end
Vagrant::Config.run do |config| end Vagrantfile config.vm.box = "precise64” config.vm.network :hostonly,
'10.10.4.20' config.vm.provision :puppet, :module_path => "puppet/modules" do |puppet| puppet.manifests_path = "puppet/manifests" puppet.manifest_file = "base.pp" end
Vagrant::Config.run do |config| end Vagrantfile config.vm.box = "precise64” config.vm.network :hostonly,
'10.10.4.20' config.vm.provision :puppet, :module_path => "puppet/modules" do |puppet| puppet.manifests_path = "puppet/manifests" puppet.manifest_file = "base.pp" end
Vagrant Boxes http://vagrantbox.es
Puppet Script service { 'php5-fpm': ensure => running, require =>
Package['php5-fpm'] } package { 'nginx': ensure => present } service { 'nginx': ensure => running, require => Package['nginx'] } package { 'php5-fpm': ensure => present }
Puppet Script service { 'php5-fpm': ensure => running, require =>
Package['php5-fpm'] } package { 'nginx': ensure => present } service { 'nginx': ensure => running, require => Package['nginx'] } package { 'php5-fpm': ensure => present }
Puppet Script service { 'php5-fpm': ensure => running, require =>
Package['php5-fpm'] } package { 'nginx': ensure => present } service { 'nginx': ensure => running, require => Package['nginx'] } package { 'php5-fpm': ensure => present }
Puppet Script service { 'php5-fpm': ensure => running, require =>
Package['php5-fpm'] } package { 'nginx': ensure => present } service { 'nginx': ensure => running, require => Package['nginx'] } package { 'php5-fpm': ensure => present }
My Files https://github.com/joshbetz/WCMKE-2013-Vagrant-Puppet
Run It vagrant up
Why is this useful?
Automate your Development
Developer Plugin http://wordpress.org/extend/plugins/developer/
Theme Unit Test http://codex.wordpress.org/Theme_Unit_Test
Underscores http://underscores.me/
Thanks!
jbe.me/2f0 Slides