alfmarkdown/run.sh

123 lines
2.2 KiB
Bash

#!/bin/sh
export COMPOSE_FILE_PATH="${PWD}/target/classes/docker/docker-compose.yml"
if [ -z "${M2_HOME}" ]; then
export MVN_EXEC="mvn"
else
export MVN_EXEC="${M2_HOME}/bin/mvn"
fi
start() {
docker volume create alfmarkdown-acs-volume
docker volume create alfmarkdown-db-volume
docker volume create alfmarkdown-ass-volume
docker-compose -f "$COMPOSE_FILE_PATH" up --build -d
}
start_share() {
docker-compose -f "$COMPOSE_FILE_PATH" up --build -d alfmarkdown-share
}
start_acs() {
docker-compose -f "$COMPOSE_FILE_PATH" up --build -d alfmarkdown-acs
}
down() {
if [ -f "$COMPOSE_FILE_PATH" ]; then
docker-compose -f "$COMPOSE_FILE_PATH" down
fi
}
purge() {
docker volume rm -f alfmarkdown-acs-volume
docker volume rm -f alfmarkdown-db-volume
docker volume rm -f alfmarkdown-ass-volume
}
build() {
$MVN_EXEC clean package
}
build_share() {
docker-compose -f "$COMPOSE_FILE_PATH" kill alfmarkdown-share
yes | docker-compose -f "$COMPOSE_FILE_PATH" rm -f alfmarkdown-share
$MVN_EXEC clean package -pl share,share-docker
}
build_acs() {
docker-compose -f "$COMPOSE_FILE_PATH" kill alfmarkdown-acs
yes | docker-compose -f "$COMPOSE_FILE_PATH" rm -f alfmarkdown-acs
$MVN_EXEC clean package -pl integration-tests,repo,platform-docker
}
tail() {
docker-compose -f "$COMPOSE_FILE_PATH" logs -f
}
tail_all() {
docker-compose -f "$COMPOSE_FILE_PATH" logs --tail="all"
}
prepare_test() {
$MVN_EXEC verify -DskipTests=true -pl repo,integration-tests,platform-docker
}
test() {
$MVN_EXEC verify -pl repo,integration-tests
}
case "$1" in
build_start)
down
build
start
tail
;;
build_start_it_supported)
down
build
prepare_test
start
tail
;;
start)
start
tail
;;
stop)
down
;;
purge)
down
purge
;;
tail)
tail
;;
reload_share)
build_share
start_share
tail
;;
reload_acs)
build_acs
start_acs
tail
;;
build_test)
down
build
prepare_test
start
test
tail_all
down
;;
test)
test
;;
*)
echo "Usage: $0 {build_start|build_start_it_supported|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
esac