From 82b8f7a565ec1fdd82644ef715767ea93d95a0b0 Mon Sep 17 00:00:00 2001 From: Solomon Hykes Date: Mon, 22 Apr 2013 22:29:12 -0700 Subject: [PATCH] hack/dockerbuilder: a standard build environment for building and uploading official binary builds of docker... inside docker --- hack/dockerbuilder/Dockerfile | 11 +++++++++++ hack/dockerbuilder/dockerbuilder | 29 +++++++++++++++++++++++++++++ hack/dockerbuilder/s3cfg | 3 +++ 3 files changed, 43 insertions(+) create mode 100644 hack/dockerbuilder/Dockerfile create mode 100644 hack/dockerbuilder/dockerbuilder create mode 100644 hack/dockerbuilder/s3cfg diff --git a/hack/dockerbuilder/Dockerfile b/hack/dockerbuilder/Dockerfile new file mode 100644 index 0000000000..8ef1e40b9d --- /dev/null +++ b/hack/dockerbuilder/Dockerfile @@ -0,0 +1,11 @@ +# This will build a container capable of producing an official binary build of docker and +# uploading it to S3 +from ubuntu:12.10 +run apt-get update +run RUNLEVEL=1 DEBIAN_FRONTEND=noninteractive apt-get install -y -q s3cmd +run RUNLEVEL=1 DEBIAN_FRONTEND=noninteractive apt-get install -y -q golang +run RUNLEVEL=1 DEBIAN_FRONTEND=noninteractive apt-get install -y -q git +run RUNLEVEL=1 DEBIAN_FRONTEND=noninteractive apt-get install -y -q build-essential +copy dockerbuilder /usr/local/bin/dockerbuilder +copy s3cfg /.s3cfg +# run $img dockerbuilder $REVISION_OR_TAG $S3_ID $S3_KEY diff --git a/hack/dockerbuilder/dockerbuilder b/hack/dockerbuilder/dockerbuilder new file mode 100644 index 0000000000..8ad0573800 --- /dev/null +++ b/hack/dockerbuilder/dockerbuilder @@ -0,0 +1,29 @@ +#!/bin/sh +set -x +set -e + +PACKAGE=github.com/dotcloud/docker + +if [ $# -lt 3 ]; then + echo "Usage: $0 REVISION AWS_ID AWS_KEY" + exit 1 +fi + +export REVISION=$1 AWS_ID=$2 AWS_KEY=$3 + + +export PATH=/usr/local/bin:$PATH + +mkdir -p /go/src/$PACKAGE +git clone "https://$PACKAGE" /go/src/$PACKAGE +cd /go/src/$PACKAGE +git checkout $REVISION + +# FIXME: checkout to specific revision + +BUILDDIR=/tmp/docker-$REVISION +mkdir -p $BUILDDIR +(cd docker && go get && go build -o $BUILDDIR/docker) + +tar -f /tmp/docker.tgz -C $(dirname $BUILDDIR) -zc $(basename $BUILDDIR) +s3cmd -P put /tmp/docker.tgz s3://get.docker.io/builds/$(uname -s)/$(uname -m)/docker-$REVISION.tgz diff --git a/hack/dockerbuilder/s3cfg b/hack/dockerbuilder/s3cfg new file mode 100644 index 0000000000..963af7d365 --- /dev/null +++ b/hack/dockerbuilder/s3cfg @@ -0,0 +1,3 @@ +[default] +access_key = $AWS_ID +secret_key = $AWS_KEY