# clean up the docker build environment
cd "$WORKSPACE"
-tools/arvbox/bin/arvbox rebuild localdemo
+tools/arvbox/bin/arvbox build localdemo
ECODE=$?
if [[ "$ECODE" != "0" ]]; then
CONFIG=$1
TAG=$2
+ shift
+
if docker ps -a --filter "status=running" | grep -E "$ARVBOX_CONTAINER$" -q ; then
echo "Container $ARVBOX_CONTAINER is already running"
exit 0
echo "Container $ARVBOX_CONTAINER already exists but is not running; use restart or rebuild"
exit 1
fi
-
+
if test ! -z "$TAG"
then
- TAG=":$TAG"
+ if test $(echo $TAG | cut -c1-1) != '-' ; then
+ TAG=":$TAG"
+ shift
+ else
+ unset TAG
+ fi
fi
if echo "$CONFIG" | grep '^public' ; then
echo "Could not find Dockerfile (expected it at $ARVBOX_DOCKER/Dockerfile.base)"
exit 1
fi
- docker build $NO_CACHE -t arvados/arvbox-base -f "$ARVBOX_DOCKER/Dockerfile.base" "$ARVBOX_DOCKER"
+ GITHEAD=$(cd $ARVBOX_DOCKER && git log --format=%H -n1 HEAD)
+ docker build --build-arg=arvados_version=$GITHEAD $NO_CACHE -t arvados/arvbox-base:$GITHEAD -f "$ARVBOX_DOCKER/Dockerfile.base" "$ARVBOX_DOCKER"
if test "$1" = localdemo -o "$1" = publicdemo ; then
- docker build $NO_CACHE -t arvados/arvbox-demo -f "$ARVBOX_DOCKER/Dockerfile.demo" "$ARVBOX_DOCKER"
+ docker build $NO_CACHE -t arvados/arvbox-demo:$GITHEAD -f "$ARVBOX_DOCKER/Dockerfile.demo" "$ARVBOX_DOCKER"
+ docker tag -f arvados/arvbox-demo:$GITHEAD arvados/arvbox-demo:latest
else
- docker build $NO_CACHE -t arvados/arvbox-dev -f "$ARVBOX_DOCKER/Dockerfile.dev" "$ARVBOX_DOCKER"
+ docker build $NO_CACHE -t arvados/arvbox-dev:$GITHEAD -f "$ARVBOX_DOCKER/Dockerfile.dev" "$ARVBOX_DOCKER"
+ docker tag -f arvados/arvbox-dev:$GITHEAD arvados/arvbox-dev:latest
fi
}
cat)
if test -n "$1" ; then
- exec docker exec -ti $ARVBOX_CONTAINER cat "$@"
+ exec docker exec $ARVBOX_CONTAINER cat "$@"
else
echo "Usage: $0 $subcmd <files>"
fi
libjson-perl nginx gitolite3 lsof \
apt-transport-https ca-certificates slurm-wlm
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get -yq --no-install-recommends install \
+ linkchecker python3-virtualenv python-virtualenv xvfb iceweasel
+
RUN cd /usr/local && \
- curl -O http://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz && \
- tar -xzf go1.6.2.linux-amd64.tar.gz && \
- rm go1.6.2.linux-amd64.tar.gz && \
+ GOVERSION=1.7.1 && \
+ curl -O http://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz && \
+ tar -xzf go${GOVERSION}.linux-amd64.tar.gz && \
+ rm go${GOVERSION}.linux-amd64.tar.gz && \
cd bin && \
ln -s /usr/local/go/bin/* .
GOPATH=$PWD go get github.com/curoverse/runsvinit && \
install bin/runsvinit /usr/local/bin
+RUN set -e && \
+ PJS=phantomjs-1.9.7-linux-x86_64 && \
+ curl -L -o/tmp/$PJS.tar.bz2 http://cache.arvados.org/$PJS.tar.bz2 && \
+ tar -C /usr/local -xjf /tmp/$PJS.tar.bz2 && \
+ ln -s ../$PJS/bin/phantomjs /usr/local/bin/
+
+ARG arvados_version
+RUN echo arvados_version is git commit $arvados_version
+
ADD fuse.conf /etc/
ADD crunch-setup.sh gitolite.rc \
FROM arvados/arvbox-base
-ARG arvados_version=master
+ARG arvados_version
ARG sso_version=master
RUN cd /usr/src && \
FROM arvados/arvbox-base
-
-RUN apt-get update && \
- DEBIAN_FRONTEND=noninteractive apt-get -yq --no-install-recommends install \
- linkchecker python3-virtualenv python-virtualenv xvfb iceweasel
-
-RUN set -e && \
- PJS=phantomjs-1.9.7-linux-x86_64 && \
- curl -L -o/tmp/$PJS.tar.bz2 http://cache.arvados.org/$PJS.tar.bz2 && \
- tar -C /usr/local -xjf /tmp/$PJS.tar.bz2 && \
- ln -s ../$PJS/bin/phantomjs /usr/local/bin/
+ARG arvados_version
ADD service/ /var/lib/arvbox/service
RUN rmdir /etc/service && ln -sf /var/lib/arvbox/service /etc
pip_install() {
pushd /var/lib/pip
- for p in $(ls http*.tar.gz) ; do
- if test -f $p ; then
- ln -sf $p $(echo $p | sed 's/.*%2F\(.*\)/\1/')
- fi
- done
- for p in $(ls http*.whl) ; do
+ for p in $(ls http*.tar.gz) $(ls http*.whl) $(ls http*.zip) ; do
if test -f $p ; then
ln -sf $p $(echo $p | sed 's/.*%2F\(.*\)/\1/')
fi
python setup.py sdist
pip_install $(ls dist/arvados-python-client-*.tar.gz | tail -n1)
-cd /usr/src/arvados/sdk/cwl
-python setup.py sdist
-pip_install $(ls dist/arvados-cwl-runner-*.tar.gz | tail -n1)
-
cd /usr/src/arvados/services/fuse
python setup.py sdist
pip_install $(ls dist/arvados_fuse-*.tar.gz | tail -n1)
+
+cd /usr/src/arvados/sdk/cwl
+python setup.py sdist
+pip_install $(ls dist/arvados-cwl-runner-*.tar.gz | tail -n1)