For WordCamp Europe 2015, I was given the opportunity to help a large number of developers get set up for contributing to WordPress Core quickly.
The most cross-platform and standard way of doing this is with VVV — with the only problem being large download size and conference Wi-Fi. Thus, we needed a packaged way to distribute a development environment using flash drives or Adhoc networking.
If you’re in a situation where Wi-Fi won’t be a problem on contributor day, great! If you need a solution for this, read on.
This will download the box file and also download all of the dependencies upon first provision. That’s important because they’re about as large as the box file, and account for almost a gigabyte of data.
To create a base box that includes provisioned packages, run:
vagrant package --output vvv-contribute.box
Minus the .vagrant directory1, zip the folder’s contents, including the newly-minted box, using either the command line or your favorite file manager.
Optional, and will download, but manages hosts file:
vagrant plugin install vagrant-hostsupdater
Start up Vagrant:
vagrant up --provider virtualbox
Once a VirtualBox base box has been added manually from a system, it can’t be automatically updated without removing it, and adding it directly from the web. This means that updates to the Ubuntu base box would need to be done manually by contributors if they want to update later.
This will not solve all potential Windows issues. While it worked with the majority of machines, there were some Windows users who could not unzip the file with native file ZIP utility, or had other incompatibilities with Vagrant.
Have any questions or suggestions? Let me know in the comments!
1 Edit (05/23/2016) – Looks like Vagrant is including the user ID that created the box in a .vagrant directory, which is causing problems for contributors when starting up the box on their local machines.
I had the pleasure of being invited to speak at WordCamp Orange County this weekend about core WordPress contribution, the problems that I ran into when first getting started, and some things that have since changed to make things simpler for new contributors.
Thanks to the organizers, volunteers, and everyone involved for an excellent camp!
You can find the slides in PDF here, and embedded from Speaker Deck after the break.