Skip to content
Graham Wheeler edited this page Jul 13, 2015 · 11 revisions

In general we release from the master branch. Release involves running build, tests, creating a docker container, and then publishing the docker container.

Step 1 - Release Environment

In order to ensure we don't pick up any uncommitted changes, the first step is to clone the repository to a new location, and work within that clone.

git clone https://github.com/GoogleCloudPlatform/datalab.git release
cd release
source tools/initenv.sh

Step 2 - Creating a Build

cd $REPO_DIR/sources
./build.sh

cd $REPO_DIR/sources/docker/ipython
./build.sh latest

Step 3 - Tests

Unit Tests

cd $REPO_DIR/sources
./test.sh

Functional Tests

This is accomplished by publishing the docker image, instantiating a VM using that container, and using the resulting deployment to validate sample notebooks.

cd $REPO_DIR/sources/docker/ipython
./publish.sh <tag>

Pick a tag such as YYYYMMDD for a daily build or something like YYYYMMDD_userid for a private build.

If there are content changes (eg. to sample notebooks), publish those as well (note - these aren't versioned yet):

cd $REPO_DIR/content
./publish.sh

Finally deploy a VM with the container that was just published, and validate everything works (manually, right now):

cd $REPO_DIR/deploy/ipython
gcloud config set project data-studio-team
./vm.sh vm_name n1-standard-1 <tag>

This will deploy a VM, and then create an SSH session and SSH tunnel so you can work with the container at http://localhost:8092.

Clone this wiki locally