Browse code

dockerbuilder: upload most recent Ubuntu package (note version FOO might not yet be packaged at tag vFOO)

Solomon Hykes authored on 2013/04/24 14:57:34
Showing 2 changed files
... ...
@@ -2,10 +2,16 @@
2 2
 # uploading it to S3
3 3
 from	ubuntu:12.10
4 4
 run	apt-get update
5
-run	RUNLEVEL=1 DEBIAN_FRONTEND=noninteractive apt-get install -y -q s3cmd
6
-run	RUNLEVEL=1 DEBIAN_FRONTEND=noninteractive apt-get install -y -q golang
7
-run	RUNLEVEL=1 DEBIAN_FRONTEND=noninteractive apt-get install -y -q git
8
-run	RUNLEVEL=1 DEBIAN_FRONTEND=noninteractive apt-get install -y -q build-essential
5
+run	DEBIAN_FRONTEND=noninteractive apt-get install -y -q s3cmd
6
+# Packages required to checkout and build docker
7
+run	DEBIAN_FRONTEND=noninteractive apt-get install -y -q golang
8
+run	DEBIAN_FRONTEND=noninteractive apt-get install -y -q git
9
+run	DEBIAN_FRONTEND=noninteractive apt-get install -y -q build-essential
10
+# Packages required to build an ubuntu package
11
+run	DEBIAN_FRONTEND=noninteractive apt-get install -y -q debhelper
12
+run	DEBIAN_FRONTEND=noninteractive apt-get install -y -q autotools-dev
13
+copy	fake_initctl	/usr/local/bin/initctl
14
+run	DEBIAN_FRONTEND=noninteractive apt-get install -y -q devscripts
9 15
 copy	dockerbuilder	/usr/local/bin/dockerbuilder
10 16
 copy	s3cfg	/.s3cfg
11 17
 # run $img dockerbuilder $REVISION_OR_TAG $S3_ID $S3_KEY
... ...
@@ -4,22 +4,50 @@ set -e
4 4
 
5 5
 PACKAGE=github.com/dotcloud/docker
6 6
 
7
-if [ $# -lt 3 ]; then
8
-	echo "Usage: $0 REVISION AWS_ID AWS_KEY"
7
+if [ $# -gt 1 ]; then
8
+	echo "Usage: $0 [REVISION]"
9 9
 	exit 1
10 10
 fi
11 11
 
12
-export REVISION=$1 AWS_ID=$2 AWS_KEY=$3
12
+export REVISION=$1
13 13
 
14
-START=$(pwd)
15
-git clone "https://$PACKAGE" docker-checkout-$REVISION
16
-cd docker-checkout-$REVISION
17
-git checkout $REVISION
14
+if [ -z "$AWS_ID" ]; then
15
+	echo "Warning: environment variable AWS_ID is not set. Won't upload to S3."
16
+	NO_S3=1
17
+fi
18
+
19
+if [ -z "$AWS_KEY" ]; then
20
+	echo "Warning: environment variable AWS_KEY is not set. Won't upload to S3."
21
+	NO_S3=1
22
+fi
18 23
 
19
-make
20
-BUILDDIR=${START}/docker-$REVISION
21
-cp -R ./bin $BUILDDIR
24
+if [ -z "$GPG_KEY" ]; then
25
+	echo "Warning: environment variable GPG_KEY is not set. Ubuntu package upload will not succeed."
26
+	NO_UBUNTU=1
27
+fi
28
+
29
+if [ -z "$REVISION" ]; then
30
+	rm -fr docker-master
31
+	git clone https://github.com/dotcloud/docker docker-master
32
+	cd docker-master
33
+else 
34
+	rm -fr docker-$REVISION
35
+	git init docker-$REVISION
36
+	cd docker-$REVISION
37
+	git fetch -t https://github.com/dotcloud/docker $REVISION
38
+	git reset --hard FETCH_HEAD
39
+fi
22 40
 
23
-BUILD_ARCHIVE=${START}/docker-$REVISION.tgz
24
-tar -f $BUILD_ARCHIVE -C $(dirname $BUILDDIR) -zc $(basename $BUILDDIR)
25
-s3cmd -P put $BUILD_ARCHIVE s3://get.docker.io/builds/$(uname -s)/$(uname -m)/docker-$REVISION.tgz
41
+if [ -z "$REVISION" ]; then
42
+	make release
43
+else
44
+	make release RELEASE_VERSION=$REVISION
45
+fi
46
+
47
+if [ -z "$NO_S3" ]; then
48
+	s3cmd -P put docker-$REVISION.tgz s3://get.docker.io/builds/$(uname -s)/$(uname -m)/docker-$REVISION.tgz
49
+fi
50
+
51
+if [ -z "$NO_UBUNTU" ]; then
52
+	(cd packaging/ubuntu && make ubuntu)
53
+fi