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

@@ -4,11 +4,12 @@ all: x86_64/vmlinuz64
x86_64/vmlinuz64: Dockerfile kernel_config
mkdir -p x86_64 etc
docker build --build-arg DEBUG=$(DEBUG) -t mobykernel:build .
docker run --rm --net=none --log-driver=none mobykernel:build cat /kernel-modules.tar | tar xf -
docker run --rm --net=none --log-driver=none mobykernel:build cat /aufs-utils.tar | tar xf -
docker run --rm --net=none --log-driver=none mobykernel:build cat /kernel-source-info > etc/kernel-source-info
docker run --rm --net=none --log-driver=none mobykernel:build cat /linux/arch/x86_64/boot/bzImage > $@
BUILD=$$( docker build --build-arg DEBUG=$(DEBUG) -q . ) && [ -n "$$BUILD" ] && \
docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-modules.tar | tar xf - && \
docker run --rm --net=none --log-driver=none $$BUILD cat /aufs-utils.tar | tar xf - && \
docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-source-info > etc/kernel-source-info && \
docker run --rm --net=none --log-driver=none $$BUILD cat /linux/arch/x86_64/boot/bzImage > $@ && \
docker rmi --no-prune $$BUILD
cp -a patches etc/kernel-patches
clean: