| ... | ... |
@@ -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 |