12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/env docker -i
- # Uncomment to debug:
- #set -x
- export NORAW=1
- IMG=shykes/pybuilder:11d4f58638a72935
- if [ $# -lt 3 ]; then
- echo "Usage: $0 build|run USER/REPO REV"
- echo "Example usage:"
- echo ""
- echo " REV=7d5f035432fe1453eea389b0f1b02a2a93c8009e"
- echo " $0 build shykes/helloflask \$REV"
- echo " $0 run shykes/helloflask \$REV"
- echo ""
- exit 1
- fi
- CMD=$1
- FORCE=0
- if [ "$2" = "-f" ]; then
- FORCE=1
- shift
- fi
- REPO=$2
- REV=$3
- BUILD_IMAGE=builds/github.com/$REPO/$REV
- if [ "$CMD" = "build" ]; then
- if [ ! -z "`images -q $BUILD_IMAGE`" ]; then
- if [ "$FORCE" -ne 1 ]; then
- echo "$BUILD_IMAGE already exists"
- exit
- fi
- fi
- # Allocate a TTY to work around python's aggressive buffering of stdout
- BUILD_JOB=`run -t $IMG /usr/local/bin/buildapp http://github.com/$REPO/archive/$REV.tar.gz`
- if [ -z "$BUILD_JOB" ]; then
- echo "Build failed"
- exit 1
- fi
- if attach $BUILD_JOB ; then
- BUILD_STATUS=`docker wait $BUILD_JOB`
- if [ -z "$BUILD_STATUS" -o "$BUILD_STATUS" != 0 ]; then
- echo "Build failed"
- exit 1
- fi
- else
- echo "Build failed"
- exit 1
- fi
- commit $BUILD_JOB $BUILD_IMAGE
- echo "Build saved at $BUILD_IMAGE"
- elif [ "$CMD" = "run" ]; then
- RUN_JOB=`run $BUILD_IMAGE /usr/local/bin/runapp`
- if [ -z "$RUN_JOB" ]; then
- echo "Run failed"
- exit 1
- fi
- attach $RUN_JOB
- fi
|