mirror of
https://github.com/rancher/os.git
synced 2025-06-22 21:17:02 +00:00
60 lines
1.5 KiB
Bash
Executable File
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
|