Use build container id rather than tagging builds

This means that multiple builds will not conflict, so we can
remove the lock from the CI. Also quieter when no errors.

Some still left to do, only done the ones used in build and CI
initially. Some of the others will be cleaned up anyway later.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack
2016-09-29 20:18:38 +01:00
parent 6fb163c2a5
commit fa19d3259b
11 changed files with 42 additions and 30 deletions

View File

@@ -2,8 +2,9 @@ DEPS=Dockerfile $(wildcard *.c *.h)
9pmount-vsock: $(DEPS)
mkdir -p sbin
tar cf - $(DEPS) | docker build -t 9pmount-vsock:build -
docker run --rm --net=none 9pmount-vsock:build | tar xf - -C sbin
BUILD=$$( tar cf - $(DEPS) | docker build -q - ) && [ -n "$$BUILD" ] && \
docker run --rm --net=none $$BUILD | tar xf - -C sbin && \
docker rmi --no-prune $$BUILD
clean:
rm -rf sbin

View File

@@ -3,8 +3,9 @@ all: usr/bin/diagnostics-server
DEPS=Dockerfile $(wildcard *.go)
usr/bin/diagnostics-server: $(DEPS) ../vendor/manifest
tar cf - $(DEPS) -C .. vendor | docker build -t diagnostics-server:build -
docker run --rm --net=none diagnostics-server:build | tar xf - -C usr/bin
BUILD=$$( tar cf - $(DEPS) -C .. vendor | docker build -q - ) && [ -n "$$BUILD" ] && \
docker run --rm --net=none $$BUILD | tar xf - -C usr/bin && \
docker rmi --no-prune $$BUILD
clean:
rm -f usr/bin/diagnostics-server

View File

@@ -2,8 +2,9 @@ all: usr/local/sbin/iptables
usr/local/sbin/iptables: Dockerfile main.ml
mkdir -p usr/local/sbin
docker build -t iptables:build .
docker run --rm iptables:build | tar xf - -C usr/local/sbin
BUILD=$$( docker build -q . ) && [ -n "$$BUILD" ] && \
docker run --rm $$BUILD | tar xf - -C usr/local/sbin && \
docker rmi --no-prune $$BUILD
clean:
rm -rf usr

View File

@@ -2,8 +2,9 @@ DEPS=Dockerfile $(wildcard *.c *.h)
usr/bin/nc-vsock: $(DEPS)
mkdir -p usr/bin
tar cf - $(DEPS) | docker build -t nc-vsock:build -
docker run --rm --net=none nc-vsock:build | tar xf - -C usr/bin
BUILD=$$( tar cf - $(DEPS) | docker build -q - ) && [ -n "$$BUILD" ] && \
docker run --rm --net=none $$BUILD | tar xf - -C usr/bin && \
docker rmi --no-prune $$BUILD
clean:
rm -rf usr

View File

@@ -3,8 +3,9 @@ all: usr/bin/slirp-proxy sbin/proxy-vsockd
DEPS=Dockerfile $(wildcard *.go libproxy/*.go)
proxy: $(DEPS) ../vendor/manifest
tar cf - $(DEPS) -C .. vendor | docker build -t proxy:build -
docker run --rm --net=none proxy:build | tar xf -
BUILD=$$( tar cf - $(DEPS) -C .. vendor | docker build -q - ) && [ -n "$$BUILD" ] && \
docker run --rm --net=none $$BUILD | tar xf - && \
docker rmi --no-prune $$BUILD
usr/bin/slirp-proxy: proxy
mkdir -p usr/bin

View File

@@ -2,8 +2,9 @@ DEPS=Dockerfile $(wildcard *.c *.h)
sbin/tap-vsockd: $(DEPS)
mkdir -p sbin
tar cf - $(DEPS) | docker build -t tap-vsockd:build -
docker run --rm --net=none tap-vsockd:build | tar xf - -C sbin
BUILD=$$( tar cf - $(DEPS) | docker build -q - ) && [ -n "$$BUILD" ] && \
docker run --rm --net=none $$BUILD | tar xf - -C sbin && \
docker rmi --no-prune $$BUILD
clean:
rm -rf sbin

View File

@@ -2,8 +2,9 @@ DEPS=Dockerfile $(wildcard *.c *.h)
sbin/transfused: $(DEPS)
mkdir -p sbin
tar cf - $(DEPS) | docker build -t transfused:build -
docker run --rm --net=none transfused:build | tar xf - -C sbin
BUILD=$$( tar cf - $(DEPS) | docker build -q - ) && [ -n "$$BUILD" ] && \
docker run --rm --net=none $$BUILD | tar xf - -C sbin && \
docker rmi --no-prune $$BUILD
clean:
rm -rf sbin

View File

@@ -4,8 +4,9 @@ DEPS=Dockerfile $(wildcard *.go)
vsudd: $(DEPS) ../vendor/manifest
mkdir -p sbin
tar cf - $(DEPS) -C .. vendor | docker build -t vsudd:build -
docker run --rm --net=none vsudd:build | tar xf - -C sbin
BUILD=$$( tar cf - $(DEPS) -C .. vendor | docker build -q - ) && [ -n "$$BUILD" ] && \
docker run --rm --net=none $$BUILD | tar xf - -C sbin && \
docker rmi --no-prune $$BUILD
clean:
rm -rf sbin