1
0
mirror of https://github.com/rancher/os.git synced 2025-06-22 21:17:02 +00:00
os/scripts/ci
2015-03-18 06:45:21 -07:00

60 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
set -e
cd $(dirname $0)/..
export DOCKER_IMAGE=${DOCKER_IMAGE:=rancher-os-build}
export DOCKER_BASE=rancher/dind:v0.1.0
source scripts/build-common
DOCKER_FILE=$(pwd)/.dockerfile
generate_images()
{
if [ "$RUN_EXEC" = "true" ]; then
./scripts/build-images
return
fi
IMAGE_ID=$(docker images --no-trunc -q ${DOCKER_IMAGE})
if [ -e ${BUILD}/${IMAGE_ID} ]; then
DOCKER_BASE=$(<${BUILD}/${IMAGE_ID})
else
echo Running: docker run -d --privileged ${DOCKER_IMAGE} /source/scripts/build-images
CID=$(docker run -d --privileged ${DOCKER_IMAGE} /source/scripts/build-images)
docker logs -f ${CID} &
trap "docker rm -f ${CID}" exit
[ "$(docker wait $CID)" == 0 ]
DOCKER_BASE=$(docker commit $CID)
echo ${DOCKER_BASE} > ${BUILD}/${IMAGE_ID}
fi
}
if [ -x "$(which wrapdocker)" ] && ! docker info >/dev/null 2>&1; then
wrapdocker
fi
run ./scripts/bootstrap
run ./scripts/test
run --assets ./scripts/build-common --assets ./assets ./scripts/download
run --assets ./scripts/dockerimages --assets ./scripts/build-images
finish
generate_images
reset_docker_build
ARGS=
for i in $(ls -d * .* | sort -u | grep -Ev '(\.|\.\.|\.dockerfile|build|dist|.git|scripts|bin|state)$'); do
if [ -d $i ]; then
run --assets $i
else
ARGS="${ARGS} $i"
fi
done
run --assets "${ARGS}" ./scripts/build
run --assets ./scripts/install ./scripts/package "$@"
finish