Firefox OS/Performance/Using Docker to Ease Debugging Firefox OS: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
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.
## Create a Jenkin's task to drive the docker daemon to update code, do the build, and snapshot the docker image into the registry.
## 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

  1. Set up private Docker Registry. (Or better yet, put them on the global, public docker registry?)
  2. Configure a Docker image for building B2G from source.
    1. Will contain the android SDK, the correct toolchain, and environment variables for building B2G from source.
  3. Create a VirtualBox image with the vagrant docker provisioner installed and configured to provision the latest docker image and start it on boot.
  4. Documentation
    1. Write docs for Windows/Mac users on running the VirtualBox image to use the Docker images.
    2. Write docs for Linux users on running docker images.
    3. Update bisection doc on how to grab the right docker image and flash a phone with the results.
  5. Automation
    1. Create a Jenkin's task to drive the docker daemon to update code, do the build, and snapshot the docker image into the registry?
    2. Investigate using amazon elastic beanstalk to scale docker image creation to one snapshot per commit?
    3. 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]