dockerbuild.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/bash
  2. # Variables AWS_ACCESS_KEY, AWS_SECRET_KEY and PG_PASSPHRASE are decoded
  3. # from /root/release_credentials.json
  4. # Variable AWS_S3_BUCKET is passed to the environment from docker run -e
  5. # Turn debug off to load credentials from the environment
  6. set +x
  7. eval $(cat /root/release_credentials.json | python -c '
  8. import sys,json,base64;
  9. d=json.loads(base64.b64decode(sys.stdin.read()));
  10. exec("""for k in d: print "export {0}=\\"{1}\\"".format(k,d[k])""")')
  11. # Fetch docker master branch
  12. set -x
  13. cd /
  14. rm -rf /go
  15. git clone -q -b master http://github.com/dotcloud/docker /go/src/github.com/dotcloud/docker
  16. cd /go/src/github.com/dotcloud/docker
  17. # Launch docker daemon using dind inside the container
  18. /usr/bin/docker version
  19. /usr/bin/docker -d &
  20. sleep 5
  21. # Build Docker release container
  22. docker build -t docker .
  23. # Test docker and if everything works well, release
  24. echo docker run -i -t -privileged -e AWS_S3_BUCKET=$AWS_S3_BUCKET -e AWS_ACCESS_KEY=XXXXX -e AWS_SECRET_KEY=XXXXX -e GPG_PASSPHRASE=XXXXX docker hack/release.sh
  25. set +x
  26. docker run -privileged -i -t -e AWS_S3_BUCKET=$AWS_S3_BUCKET -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -e GPG_PASSPHRASE=$GPG_PASSPHRASE docker hack/release.sh
  27. exit_status=$?
  28. # Display load if test fails
  29. set -x
  30. if [ $exit_status -ne 0 ] ; then
  31. uptime; echo; free
  32. exit 1
  33. fi