separate docker-db from init-db

so we don't need docker on Travis
This commit is contained in:
Min RK
2017-09-27 19:02:55 +02:00
parent a4a2c9d068
commit df9e002b9a
4 changed files with 63 additions and 34 deletions

View File

@@ -1,19 +1,44 @@
#!/usr/bin/env bash
set -e
NAME="hub-test-$DB"
docker rm -f $NAME 2>/dev/null || true
# source this file to setup postgres and mysql
# for local testing (as similar as possible to docker)
case $DB in
mysql)
ARGS="-p 13306:3306 -e MYSQL_ROOT_PASSWORD=x -e MYSQL_DATABASE=jupyterhub mysql:5.7"
;;
postgres)
ARGS="-p 15432:5432 -e POSTGRES_DB=jupyterhub postgres:9.5"
;;
*)
echo "must be mysql or postgres"
exit -1
esac
DOCKER="docker run --rm -d --name"
set -x
docker run --rm --name $NAME -d $ARGS
export MYSQL_HOST=127.0.0.1
export PGHOST=127.0.0.1
set -ex
docker rm -f hub-test-mysql hub-test-postgres 2>/dev/null || true
$DOCKER hub-test-mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=1 -p 3306:3306 mysql:5.7
$DOCKER hub-test-postgres -p 5432:5432 postgres:9.5
set +x
echo -n 'waiting for postgres'
for i in {1..60}; do
if psql --user postgres -c '\q' 2>/dev/null; then
echo 'done'
break
else
echo -n '.'
sleep 1
fi
done
echo -n 'waiting for mysql'
for i in {1..60}; do
if mysql --user root -e '\q' 2>/dev/null; then
echo 'done'
break
else
echo -n '.'
sleep 1
fi
done
echo -e "
Set these environment variables:
export MYSQL_HOST=127.0.0.1
export PGHOST=127.0.0.1
"