Uniquely identify builds to prevent race

In the original implementation of this, the latest running container
containing "PICKME" was selected for the container to export. This
creates a race condition.

Instead we now identify the image by a UUID created each run, so that
they will not overlap if multiple builds happen simultaneously.

Change-Id: Iaaf5683435f424517774067a1d95732ad096c988
This commit is contained in:
Jay Faulkner 2014-04-17 11:15:29 -07:00
parent 5516cd5baf
commit e637152eef
1 changed files with 5 additions and 2 deletions

View File

@ -19,11 +19,14 @@ cd ../../
docker build -t oemdocker .
cd -
# Create a UUID to identify the build
CONTAINER_UUID=`uuidgen`
# Export the oemdocker repository to a tarball so it can be embedded in CoreOS
# TODO: Investigate running a container and using "export" to flatten the
# image to shrink the CoreOS fs size. This will also require run.sh to
# use docker import instead of docker load as well.
docker run oemdocker echo PICKME
CONTAINER=`docker ps -a |grep PICKME|awk '{print $1}'|head -n1`
docker run oemdocker echo $CONTAINER_UUID
CONTAINER=`docker ps -a --no-trunc |grep $CONTAINER_UUID|awk '{print $1}'|head -n1`
echo $CONTAINER
docker export $CONTAINER | gzip > ${OUTPUT_FILE}