diff --git a/scripts/build b/scripts/build index ffb74469..f3bab0e0 100755 --- a/scripts/build +++ b/scripts/build @@ -1,13 +1,24 @@ #!/bin/bash -e - -if [[ ! -x "$(which go)" && -x /usr/local/go/bin/go ]]; then - PATH=/usr/local/go/bin:${PATH} -fi +set -x cd $(dirname $0)/.. -if [ -f ./build/bootstrap.envs ];then - . ./build/bootstrap.envs +if [ "$IN_DOCKER" != "true" ]; then + cat > .dockerfile << "EOF" +FROM rancher/dind:v0.1.0 +COPY ./scripts/bootstrap /scripts/bootstrap +RUN /scripts/bootstrap +WORKDIR /source +ENV IN_DOCKER true +EOF + + docker build -t rancher-os-go-build -f .dockerfile . + docker run --rm -v $(pwd):/source -it rancher-os-go-build ./scripts/build + exit 0 +fi + +if [[ ! -x "$(which go)" && -x /usr/local/go/bin/go ]]; then + PATH=/usr/local/go/bin:${PATH} fi if [ -z "$ROS_CUSTOM_GOPATH" ]; then diff --git a/scripts/build-common b/scripts/build-common index 99077ceb..b407b18e 100644 --- a/scripts/build-common +++ b/scripts/build-common @@ -52,6 +52,7 @@ write_base() cat > ${DOCKER_FILE} << EOF FROM ${DOCKER_BASE:=ubuntu:14.04.2} ENV TERM xterm +ENV IN_DOCKER true WORKDIR /source CMD ["/source/scripts/install"] EOF