Webdev:DevBoxVMImages: Difference between revisions
Jump to navigation
Jump to search
LesOrchard (talk | contribs) (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...") |
LesOrchard (talk | contribs) 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. | ||
== 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 | |||
* 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 | * Code on host or in VM? | ||
** Vagrant wants to | ** Vagrant wants to wrap a VM around a directory of source on the Host. | ||
** | ** Better if the source for the project were <code>git clone</code>'ed inside the VM and shipped along with the image? | ||
*** <code> | *** 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 <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
- Starting by hand early to iron out process
- Vagrantfile as part of project, or separate repo?
- MDN includes Vagrantfile in the main project.
- Socorro has a separate socorro-vagrant project.
- 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
vagrant up
- Since we should take care of that rather than demanding contributor to do a full
- 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
gitorsvninside VM - Need instructions advising a
git pullafter initial boot-up
Participating sites
- AMO?
- SUMO?
- MDN?
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 upto spin up a VM in VirtualBox - Build Puppet manifests to install packages and configure the VM with a running site
- Use
vagrant packageto extract a{sitename}.boximage, once the site is verified to be running. - Upload the exported
{sitename}.boximage 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.