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
1.3k
Automate All the Things
Josh Betz
June 08, 2013
Tweet
Share
More Decks by Josh Betz
See All by Josh Betz
WP REST API
joshbetz
0
49
Code Review for Teams
joshbetz
0
44
Hypersonic
joshbetz
1
3.4k
Other Decks in Technology
See All in Technology
アクセス制御にまつわる改善 / Improving access control
itkq
0
560
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
開発パフォーマンスを最大化するための開発体制
ham0215
2
470
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
6
550
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
110
MapLibreとAmazon Location Service
dayjournal
1
160
DMM.com アルファ室採用案内資料
hsugita
1
170
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.8k
オーナーシップを持つ領域を明確にする
konifar
13
3.2k
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
390
ServiceNow Knowledge Learning Rise up
manarobot
0
210
Azureの基本的な権限管理の勉強会
yhana
0
960
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
43k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Ruby is Unlike a Banana
tanoku
96
10k
Design by the Numbers
sachag
274
18k
Side Projects
sachag
451
41k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Become a Pro
speakerdeck
PRO
11
4.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Producing Creativity
orderedlist
PRO
337
39k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
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