mirror of https://gitee.com/bigwinds/arangodb
77 lines
2.2 KiB
Bash
Executable File
77 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
ROOTDIR=${DIR}/..
|
|
BUILDDIR=${ROOTDIR}/build
|
|
mkdir -p ${BUILDDIR}
|
|
mkdir -p ${ROOTDIR}/build-tmp
|
|
|
|
VERSION=$(cat ${ROOTDIR}/VERSION)
|
|
export DEBVERSION=${VERSION}-1
|
|
DOCKERTAG=${DOCKERTAG:=${VERSION}-local}
|
|
DEBIMAGE_NAME="arangodb3-${DEBVERSION}_amd64"
|
|
BUILDDEB_ARGS="--gcc6"
|
|
BUILDDEB_DOCKER_ARGS=""
|
|
|
|
DOCKERFILENAME=Dockerfile$(echo ${VERSION} | cut -d '.' -f 1,2 --output-delimiter=).local
|
|
|
|
for i in $@; do
|
|
if test "$i" == "--enterprise"; then
|
|
DEBIMAGE_NAME="arangodb3e-${DEBVERSION}_amd64"
|
|
BUILDDEB_ARGS+=" --enterprise git@github.com:arangodb/enterprise.git "
|
|
fi
|
|
if test "$i" == "--maintainer"; then
|
|
BUILDDEB_ARGS+=" --maintainer"
|
|
fi
|
|
done
|
|
|
|
if [ ! -z "${SSH_AUTH_SOCK}" ]; then
|
|
BUILDDEB_DOCKER_ARGS="${BUILDDEB_DOCKER_ARGS} -v ${SSH_AUTH_SOCK}:/.ssh-agent -e SSH_AUTH_SOCK=/.ssh-agent"
|
|
fi
|
|
|
|
# Create debian-stretch-builder
|
|
if [ ! -e ${BUILDDIR}/.build-docker-containers ]; then
|
|
cd ${BUILDDIR}
|
|
git clone https://github.com/arangodb-helper/build-docker-containers ${BUILDDIR}/.build-docker-containers
|
|
else
|
|
(cd ${BUILDDIR}/.build-docker-containers && git pull)
|
|
fi
|
|
|
|
docker build -t arangodb/debian-stretch-builder ${BUILDDIR}/.build-docker-containers/distros/debian/stretch/build/
|
|
|
|
# Ensure arangodb/arangodb-docker exists
|
|
if [ ! -e ${BUILDDIR}/.arangodb-docker ]; then
|
|
cd ${BUILDDIR}
|
|
git clone https://github.com/arangodb/arangodb-docker ${BUILDDIR}/.arangodb-docker
|
|
else
|
|
(cd ${BUILDDIR}/.arangodb-docker && git pull)
|
|
fi
|
|
|
|
# Clean build tag
|
|
(
|
|
cd ${BUILDDIR}/.arangodb-docker
|
|
rm -f .docker-tag
|
|
)
|
|
|
|
# Build stretch package
|
|
docker run -i \
|
|
-e GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
|
|
-v ${ROOTDIR}:/arangodb \
|
|
-v ${ROOTDIR}/build-tmp:/var/tmp \
|
|
-w /arangodb \
|
|
${BUILDDEB_DOCKER_ARGS} \
|
|
arangodb/debian-stretch-builder \
|
|
/arangodb/scripts/build-deb.sh $BUILDDEB_ARGS
|
|
|
|
# Copy deb image to docker build root
|
|
cp -a ${ROOTDIR}/build-tmp/${DEBIMAGE_NAME}.deb ${BUILDDIR}/.arangodb-docker/arangodb.deb
|
|
|
|
# Build docker image
|
|
(
|
|
cd ${BUILDDIR}/.arangodb-docker
|
|
docker build -f ${DOCKERFILENAME} -t arangodb:${DOCKERTAG} .
|
|
echo "${DOCKERTAG}" > .docker-tag
|
|
)
|