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
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
77
Code Review for Teams
joshbetz
0
50
Hypersonic
joshbetz
1
3.6k
Other Decks in Technology
See All in Technology
AIエージェントの権限管理 2: データ基盤の Fine grained access control 編
ren8k
0
120
昔はシンプルだった_AmazonS3
kawaji_scratch
0
320
20260415_生成AIを専属DSに_自動レポート作成_ハンズオン_交通事故データ
doradora09
PRO
0
110
Azure PortalなどにみるWebアクセシビリティ
tomokusaba
0
390
Azure Speech で音声対応してみよう
kosmosebi
0
160
インターネットの技術 / Internet technology
ks91
PRO
0
180
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
4k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
23k
QGISプラグイン CMChangeDetector
naokimuroki
1
350
The Journey of Box Building
tagomoris
4
710
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
370
AI時代のガードレールとしてのAPIガバナンス
nagix
0
210
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
400
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
330
Typedesign – Prime Four
hannesfritz
42
3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
Paper Plane (Part 1)
katiecoart
PRO
0
6.6k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Are puppies a ranking factor?
jonoalderson
1
3.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
The Invisible Side of Design
smashingmag
302
51k
So, you think you're a good person
axbom
PRO
2
2k
Test your architecture with Archunit
thirion
1
2.2k
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