-
Notifications
You must be signed in to change notification settings - Fork 0
Releasing a Build
In general we release from the master branch. Release involves running build, tests, creating a docker container, and then publishing the docker container.
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
cd $REPO_DIR/sources
./build.sh
cd $REPO_DIR/sources/docker/ipython
./build.sh latest
cd $REPO_DIR/sources
./test.sh
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.