Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
VVV 2
Search
Tom J Nowell
April 03, 2017
Programming
930
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VVV 2
What is VVV? What's new in VVV 2? How to Migrate from v1
Tom J Nowell
April 03, 2017
More Decks by Tom J Nowell
See All by Tom J Nowell
Using Blocks Outside The Editor
tarendai
0
1.2k
Composer_and_WordPress__1_.pdf
tarendai
0
98
REST APIs for Absolute Beginners
tarendai
0
1.1k
WordCamp Europe 2016 - Handling Anxiety
tarendai
1
610
Escape From New York
tarendai
0
840
WP The Right Way
tarendai
0
1.2k
Code Deodorant 2014
tarendai
1
850
Adv WP CLI
tarendai
0
800
WP CLI
tarendai
0
770
Other Decks in Programming
See All in Programming
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
590
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
1.3k
Next.js: The final boss of Web Performance
guaca
0
260
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
160
すこし踏み込む CancellationToken
htkym
2
1.7k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
32k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Making Projects Easy
brettharned
120
6.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
How to make the Groovebox
asonas
2
2.5k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Transcript
__ ___ ___ __ ____ \ \ / \ \
/ \ \ / / |___ \ \ \ / / \ \ / / \ \ / / __) | \ V / \ V / \ V / / __/ \_/ \_/ \_/ |_____| Varying Vagrant Vagrants Tom J Nowell @tarendai https://tomjn.com
This Talk Covers • What is VVV • What Changed
in VVV 2 • Migrating from VVV 1 • Setting up a new Site • Setting up an existing site
What is VVV?
A Local Developer Environment • WP CLI • PHP •
MariaDB • MemcacheD • Nginx • Site Provisioning • A standardised system
Installation From scratch • Install Vagrant & Virtualbox & git
• Grab a copy of VVV from GitHub • Run: vagrant plugin install vagrant-triggers vagrant-hostsupdater Then: vagrant up --provision
None
vagrant up Turns it on vagrant halt Turns it off
What Changed in VVV 2?
vvv-config.yml
Sites: # The wordpress-default configuration provides a default installation of
the # latest version of WordPress. wordpress-default: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git hosts: - local.wordpress.dev # The wordpress-develop configuration is useful for contributing to WordPress. wordpress-develop: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-develop.git hosts: - src.wordpress-develop.dev - build.wordpress-develop.dev #example-site: # repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git # hosts: # - my-example-site.dev utilities: core: - memcached-admin - opcache-status - phpmyadmin - webgrind
Important: Copy to vvv-custom.yml
Migrating from VVV 1
Backup your database Already done if you have vagrant-triggers
Rebuild: vagrant destroy Vagrant up --provision
Migrating a VVV 1 Site
None
sites: vvv1site: hosts: - vvv1site.dev
Always reprovision on changes vagrant reload --provision
Setting Up a New Site
Add a site to vvv-custom.yml: newsite: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-t emplate.git hosts:
- newsite.com
sites: wordpress-default: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git hosts: - local.wordpress.dev wordpress-develop: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-develop.git
hosts: - src.wordpress-develop.dev - build.wordpress-develop.dev newsite: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git hosts: - newsite.com utilities: core: - memcached-admin - opcache-status - phpmyadmin - webgrind
Always reprovision on changes vagrant reload --provision
Setting Up An Existing Site
Add a site to vvv-custom.yml: site-name: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-t emplate.git hosts:
- example.com
1. Reprovision 2. Copy files 3. Copy Database
Always reprovision on changes vagrant reload --provision
Advanced Provisioning
provision/vvv-init.sh A bash script that sets up your site provision/vvv-nginx.conf
The NGINX config for your site
More Per Site Options skip_provisioning: true branch: develop
Custom Folders local_dir: <absolute path> vm_dir: <absolute path>
example-site: local_dir: /home/user/Documents/example vm_dir: /srv/www/examplesite hosts: - my-example-site.dev
sites: # The wordpress-default configuration provides a default installation of
the # latest version of WordPress. wordpress-default: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git hosts: - local.wordpress.dev example-site: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git local_dir: /home/user/Documents/example vm_dir: /srv/www/examplesite hosts: - my-example-site.dev utilities: core: - memcached-admin - opcache-status - phpmyadmin - webgrind
Custom PHP Versions nginx_upstream: php56
sites: # The wordpress-default configuration provides a default installation of
the # latest version of WordPress. wordpress-default: repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git nginx_upstream: php70 hosts: - local.wordpress.dev example-site: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git nginx_upstream: php56 hosts: - my-example-site.dev utilities: core: - memcached-admin - opcache-status - phpmyadmin - webgrind - php56
Common Troubleshooting Local Network Clashes VVV using the same IP
as other computers Typos in vvv-custom.yml Syntax errors will break provisioning Corrupt VMs Powering down a machine unsafely, or disk corruption Out of Date Software Old Vagrant and Virtualbox Downgrading to VVV 1 Downgrading isn’t supported
Database Backups Vagrant triggers runs a backup script on halt/destroy
that places SQL files in database/backups/*.sql Backups are restored on provision if the db is empty
More Info https://github.com/Varying-Vagrant-Vagrants https://varyingvagrantvagrants.org
Tom J Nowell VIP Wrangler at Automattic https://tomjn.com @tarendai
Q? Tom J Nowell @tarendai https://tomjn.com