1
0
mirror of https://github.com/rancher/os.git synced 2025-06-23 05:27:03 +00:00
os/scripts/ci
Ivan Mikushin 4bf30683e7 build based on os-config.yml
WIP: build scripts
2015-06-29 12:03:41 +05:00

60 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -ex
cd $(dirname $0)/..
export DOCKER_IMAGE=${DOCKER_IMAGE:=rancher-os-build}
export DOCKER_BASE=rancher/dind:v0.1.0
source scripts/build-common
mkdir -p ${BUILD}
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 -fv ${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
ARGS=
for i in $(ls -d * .* | sort -u | grep -Ev '(\.|\.\.|\.dockerfile|build|tmp|dist|.git|.idea|.vagrant|scripts|bin|state)$'); do
if [ -d $i ]; then
run --assets $i
else
ARGS="${ARGS} $i"
fi
done
run --assets ./scripts/version --assets "${ARGS}" ./scripts/build
run --assets ./scripts/build-common --assets ./assets ./scripts/download
run --assets ./scripts/build-images
finish
generate_images
reset_docker_build
run ./scripts/package "$@"
finish