Build From Tarball
Module that takes a path to a git archive tarball and uses heroku-style buildpackg to build the repo into a docker image.
Requirements
You will need the following installed. To get started you can use the supplied vagrant file which automatically installs docker and node.js on startup
Docker
The docker daemon must be installed and running. Visit https://docker.io for instructions on installing docker
Buildstep base image
A valid buildstep base docker image must be available in the list of docker images. There is an image available in the public docker index that will work if you do not wish to build your own
docker pull nisaacson/buildstep # optionally tag this image with your own name # docker tag nisaacson/buildstep foo_buildstep
Installation
npm install -S build-docker-image-from-tarball
Usage
Specfiy the following
sourcePath: /path/to/git/archive.tar.gz
buildImageName: buildstep
base image that containers the builder script and heroku buildpacksrepo
foo
the name of the image that will be built and appear indocker images
once the build completes
var buildFromTarball = var data = sourcePath: '/path/to/git/archive.tar.gz' buildImage: 'foo_buildstep' destImageName: 'foo_app'
Since the build progress is quite long, you may wish to monitor the progress of the build as it progresses. To monitor the progress, the builder is an instance of EventEmitter
that emits log events instead of spamming stdout.
var Builder = var data = sourcePath: '/path/to/git/archive.tar.gz' buildImage: 'foo_buildstep' repo: 'foo_app'var builder = // emit log events to avoid spamming stdoutbuilder builder
Tests
# create the default VM vagrant up# log into the VM via ssh vagrant ssh# navigate to the repo root directory cd /vagrant# install development dependencies npm install# run the tests npm test