Webdev:DevBoxVMImages: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "As part of {{bug|688911}} and {{bug|688923}}, we should work on providing downloadable virtual machine images that contain ready-to-run installations of our websites. That way, a...")
 
No edit summary
Line 1: Line 1:
__TOC__
As part of {{bug|688911}} and {{bug|688923}}, we should work on providing
As part of {{bug|688911}} and {{bug|688923}}, we should work on providing
downloadable virtual machine images that contain ready-to-run installations
downloadable virtual machine images that contain ready-to-run installations
Line 4: Line 5:
rather than learning how to install and configure a website first.
rather than learning how to install and configure a website first.


__TOC__
== Open questions ==
 
TBD: Should this be in an etherpad?
 
* Image generation by hand or by machine?
** Starting by hand early to iron out process
*** Need to remember to update images on a regular basis
** Switch to Jenkins or something else for nightly builds
*** How would this work? Seems resource intensive


== Open questions ==
* Vagrantfile as part of project, or separate repo?
** MDN includes Vagrantfile in the main project.
*** https://github.com/mozilla/kuma/blob/master/Vagrantfile
** Socorro has a separate socorro-vagrant project.
*** https://github.com/rhelmer/socorro-vagrant
** Probably only matters to the person or process generating the VM image
*** Since we should take care of that rather than demanding contributor to do a full <code>vagrant up</code>


* Code on host, or code in VM?
* Code on host or in VM?
** Vagrant wants to be used something like this:
** Vagrant wants to wrap a VM around a directory of source on the Host.
*** <code>git clone http://github...</code>
** Better if the source for the project were <code>git clone</code>'ed inside the VM and shipped along with the image?
*** <code>vagrant up</code>
*** No more shared folder from host to VM.
** But would it work better if the source for the project were <code>git clone</code>'ed inside the VM and shipped along with the image?
*** Would need to install Samba inside VM to edit code from host.
*** Need to configure and use <code>git</code> or <code>svn</code> inside VM
*** Need instructions advising a <code>git pull</code> after initial boot-up


== Participating sites ==
== Participating sites ==

Revision as of 21:40, 26 September 2011

As part of bug 688911 and bug 688923, we should work on providing downloadable virtual machine images that contain ready-to-run installations of our websites. That way, a new contributor can focus on contributing, rather than learning how to install and configure a website first.

Open questions

TBD: Should this be in an etherpad?

  • Image generation by hand or by machine?
    • Starting by hand early to iron out process
      • Need to remember to update images on a regular basis
    • Switch to Jenkins or something else for nightly builds
      • How would this work? Seems resource intensive
  • Code on host or in VM?
    • Vagrant wants to wrap a VM around a directory of source on the Host.
    • Better if the source for the project were git clone'ed inside the VM and shipped along with the image?
      • No more shared folder from host to VM.
      • Would need to install Samba inside VM to edit code from host.
      • Need to configure and use git or svn inside VM
      • Need instructions advising a git pull after initial boot-up

Participating sites

Maintaining VM images

TBD: Need to flesh out a process for most sites that an experienced webdev (eg. project lead or senior dev) follow by hand and/or automate in something like Jenkins.

It might look something like this:

  • Use vagrant destroy && vagrant up to spin up a VM in VirtualBox
  • Build Puppet manifests to install packages and configure the VM with a running site
  • Use vagrant package to extract a {sitename}.box image, once the site is verified to be running.
  • Upload the exported {sitename}.box image to hosting site for download.

Hosting VM images

TBD: bug 688923 needs some IT collaboration to acquire hosting infra for 2-20GB VM images.

Hints, tips, HOWTOs

TBD: Collect info and gotchas on setting up sites in VMs.