Firefox OS/Performance/Using Docker to Ease Debugging Firefox OS: Difference between revisions
Line 2: | Line 2: | ||
# Set up private Docker Registry. (Or better yet, put them on the global, public docker registry?) | # Set up private Docker Registry. (Or better yet, put them on the global, public docker registry?) | ||
# Configure a Docker image for building B2G from source. | # Configure a Docker image for building B2G from source. | ||
## | ## Will contain the android SDK, the correct toolchain, and environment variables for building B2G from source. | ||
# Create a VirtualBox image with the [http://docs.vagrantup.com/v2/provisioning/docker.html vagrant docker provisioner] installed and configured to provision the latest docker image and start it on boot. | # Create a VirtualBox image with the [http://docs.vagrantup.com/v2/provisioning/docker.html vagrant docker provisioner] installed and configured to provision the latest docker image and start it on boot. | ||
# Documentation | # Documentation | ||
Line 8: | Line 8: | ||
## Write docs for Linux users on running docker images. | ## Write docs for Linux users on running docker images. | ||
## Update bisection doc on how to grab the right docker image and flash a phone with the results. | ## Update bisection doc on how to grab the right docker image and flash a phone with the results. | ||
# Automation | |||
## Create a Jenkin's task to drive the docker daemon to update code, do the build, and snapshot the docker image into the registry? | |||
## Investigate using amazon elastic beanstalk to scale docker image creation to one snapshot per commit? | |||
## Automate provisioning with vagrant? | |||
== Setting up a Private Docker Registry == | == Setting up a Private Docker Registry == |
Revision as of 16:02, 29 April 2014
Proposal
- Set up private Docker Registry. (Or better yet, put them on the global, public docker registry?)
- Configure a Docker image for building B2G from source.
- Will contain the android SDK, the correct toolchain, and environment variables for building B2G from source.
- Create a VirtualBox image with the vagrant docker provisioner installed and configured to provision the latest docker image and start it on boot.
- Documentation
- Write docs for Windows/Mac users on running the VirtualBox image to use the Docker images.
- Write docs for Linux users on running docker images.
- Update bisection doc on how to grab the right docker image and flash a phone with the results.
- Automation
- Create a Jenkin's task to drive the docker daemon to update code, do the build, and snapshot the docker image into the registry?
- Investigate using amazon elastic beanstalk to scale docker image creation to one snapshot per commit?
- Automate provisioning with vagrant?
Setting up a Private Docker Registry
The first step is to set up a private docker registry for Firefox OS related docker images. This process is already documented in several places: [1] [2]
Dockerfile for a B2G Build Image
Here's is the Dockerfile for a B2G build image:
from ubuntu
Create VirtualBox Image with Vagrant Provisioner
To ease the transition for Windows and Mac OS X users, we will build a VirtualBox image with the Vagrant Provisioner installed and configured to pull the latest B2G building docker image and start it on boot. This is documented here: [3]
Documentation
Windows/Mac Using VirtualBox Image
Linux Using Docker Directly
Future: Scaling
There is potential that with a transition to Docker that we would be able to scale to one-build-per-check-in by deploying the docker images to a cloud computing service like Amazon's Elastic Beanstalk. Amazon recently announce that they would support deploying Docker images to AEB. The documentation is here: [4]