Mercurial > hg > vamp-plugin-pack
annotate deploy/linux/build-docker.sh @ 54:e7787ab0f696
Provisional Docker build
author | Chris Cannam |
---|---|
date | Thu, 06 Feb 2020 16:45:29 +0000 |
parents | |
children |
rev | line source |
---|---|
Chris@54 | 1 #!/bin/bash |
Chris@54 | 2 # |
Chris@54 | 3 # Docker required |
Chris@54 | 4 |
Chris@54 | 5 set -eu |
Chris@54 | 6 |
Chris@54 | 7 current=$(hg id | awk '{ print $1; }') |
Chris@54 | 8 |
Chris@54 | 9 case "$current" in |
Chris@54 | 10 *+) echo "ERROR: Current working copy has been modified - unmodified copy required so we know we can check it out separately and obtain the same contents"; exit 2;; |
Chris@54 | 11 *);; |
Chris@54 | 12 esac |
Chris@54 | 13 |
Chris@54 | 14 echo |
Chris@54 | 15 echo "Building from revision $current..." |
Chris@54 | 16 |
Chris@54 | 17 dockerdir=deploy/linux/docker |
Chris@54 | 18 |
Chris@54 | 19 cat "$dockerdir"/Dockerfile.in | \ |
Chris@54 | 20 perl -p -e "s/\[\[REVISION\]\]/$current/g" > \ |
Chris@54 | 21 "$dockerdir"/Dockerfile.gen |
Chris@54 | 22 |
Chris@54 | 23 fgrep 'hg.sr.ht' ~/.ssh/known_hosts > "$dockerdir"/known_hosts |
Chris@54 | 24 cp ~/.ssh/id_rsa_build "$dockerdir"/id_rsa_build |
Chris@54 | 25 chmod 600 "$dockerdir"/known_hosts "$dockerdir"/id_rsa_build |
Chris@54 | 26 trap "rm $dockerdir/known_hosts $dockerdir/id_rsa_build" 0 |
Chris@54 | 27 |
Chris@54 | 28 dockertag="cannam/vamp-plugin-pack-installer-$current" |
Chris@54 | 29 |
Chris@54 | 30 sudo docker build -t "$dockertag" -f "$dockerdir"/Dockerfile.gen "$dockerdir" |
Chris@54 | 31 |
Chris@54 | 32 outdir="$dockerdir/output" |
Chris@54 | 33 mkdir -p "$outdir" |
Chris@54 | 34 |
Chris@54 | 35 container=$(sudo docker create "$dockertag") |
Chris@54 | 36 |
Chris@54 | 37 sudo docker cp "$container":output.tar "$outdir" |
Chris@54 | 38 sudo docker rm "$container" |
Chris@54 | 39 |
Chris@54 | 40 ( cd "$outdir" ; tar xf output.tar && rm -f output.tar ) |