TSK-1471: now using docker-compose for all database containers
This commit is contained in:
parent
c17a15d1ea
commit
1aa4cd69fe
|
@ -2,8 +2,12 @@ version: '3'
|
|||
services:
|
||||
taskana-postgres_10:
|
||||
build: .
|
||||
container_name: taskana-postgres_10
|
||||
ports:
|
||||
- 50102:5432
|
||||
- 5102:5432
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
taskana-db2_11-1:
|
||||
image: taskana/db2:11.1
|
||||
ports:
|
||||
- 5101:50000
|
||||
command: -d
|
|
@ -5,7 +5,7 @@ SET PROP_FILE=%HOMEPATH%\taskanaUnitTest.properties
|
|||
:MENU
|
||||
ECHO.
|
||||
ECHO -----------------------------------------------------
|
||||
ECHO PRESS a number to select your task - anthing to EXIT.
|
||||
ECHO PRESS a number to select your task - anything to EXIT.
|
||||
ECHO -----------------------------------------------------
|
||||
ECHO.
|
||||
ECHO 1 - Start DB2 11.1
|
||||
|
@ -29,24 +29,11 @@ SET PROP_FILE=%HOMEPATH%\taskanaUnitTest.properties
|
|||
|
||||
:START_DB2_11_1
|
||||
ECHO ---
|
||||
docker ps -aq -f name=^/taskana-db2_11_1$ -f status=running > %TEMP%\temp
|
||||
SET /P CONTAINER_RUNNING=< %TEMP%\temp
|
||||
docker ps -aq -f name=^/taskana-db2_11_1$ > %TEMP%\temp
|
||||
SET /P CONTAINER_EXISTS=< %TEMP%\temp
|
||||
del %TEMP%\temp
|
||||
|
||||
IF DEFINED CONTAINER_EXISTS (
|
||||
ECHO docker start taskana-db2_11_1
|
||||
docker start taskana-db2_11_1
|
||||
)
|
||||
|
||||
IF NOT DEFINED CONTAINER_EXISTS (
|
||||
ECHO docker run -d -p 50101:50000 --name taskana-db2_11_1 taskana/db2:11.1 -d
|
||||
docker run -d -p 50101:50000 --name taskana-db2_11_1 taskana/db2:11.1 -d
|
||||
)
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml up -d taskana-db2_11-1
|
||||
docker-compose -f %~dp0/docker-compose.yml up -d taskana-db2_11-1
|
||||
|
||||
ECHO jdbcDriver=com.ibm.db2.jcc.DB2Driver> %PROP_FILE%
|
||||
ECHO jdbcUrl=jdbc:db2://localhost:50101/tskdb>> %PROP_FILE%
|
||||
ECHO jdbcUrl=jdbc:db2://localhost:5101/tskdb>> %PROP_FILE%
|
||||
ECHO dbUserName=db2inst1>> %PROP_FILE%
|
||||
ECHO dbPassword=db2inst1-pwd>> %PROP_FILE%
|
||||
ECHO schemaName=taskana>> %PROP_FILE%
|
||||
|
@ -55,17 +42,18 @@ SET PROP_FILE=%HOMEPATH%\taskanaUnitTest.properties
|
|||
|
||||
:STOP_DB2_11_1
|
||||
ECHO ---
|
||||
ECHO docker stop taskana-db2_11_1
|
||||
docker stop taskana-db2_11_1
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml rm -f -s -v taskana-db2_11-1
|
||||
docker-compose -f %~dp0/docker-compose.yml rm -f -s -v taskana-db2_11-1
|
||||
ECHO ---
|
||||
GOTO MENU
|
||||
GOTO REMOVE_PROP
|
||||
|
||||
:START_POSTGRES_10
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml up -d
|
||||
docker-compose -f %~dp0/docker-compose.yml up -d
|
||||
ECHO ---
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml up -d taskana-postgres_10
|
||||
docker-compose -f %~dp0/docker-compose.yml up -d taskana-postgres_10
|
||||
|
||||
ECHO jdbcDriver=org.postgresql.Driver> %PROP_FILE%
|
||||
ECHO jdbcUrl=jdbc:postgresql://localhost:50102/postgres>> %PROP_FILE%
|
||||
ECHO jdbcUrl=jdbc:postgresql://localhost:5102/postgres>> %PROP_FILE%
|
||||
ECHO dbUserName=postgres>> %PROP_FILE%
|
||||
ECHO dbPassword=postgres>> %PROP_FILE%
|
||||
ECHO schemaName=taskana>> %PROP_FILE%
|
||||
|
@ -75,18 +63,17 @@ SET PROP_FILE=%HOMEPATH%\taskanaUnitTest.properties
|
|||
:STOP_POSTGRES_10
|
||||
ECHO ---
|
||||
ECHO docker stop taskana-postgres_10
|
||||
docker stop taskana-postgres_10
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml rm -f -s -v taskana-postgres_10
|
||||
docker-compose -f %~dp0/docker-compose.yml rm -f -s -v taskana-postgres_10
|
||||
ECHO ---
|
||||
GOTO MENU
|
||||
GOTO REMOVE_PROP
|
||||
|
||||
:STOP_ALL
|
||||
ECHO ---
|
||||
ECHO docker stop taskana-db2_11_1
|
||||
docker stop taskana-db2_11_1
|
||||
ECHO docker stop taskana-postgres_10
|
||||
docker stop takana-postgres_10
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml down -v
|
||||
docker-compose -f %~dp0/docker-compose.yml down -v
|
||||
ECHO ---
|
||||
GOTO MENU
|
||||
GOTO REMOVE_PROP
|
||||
|
||||
:REMOVE_PROP
|
||||
ECHO ---
|
||||
|
|
|
@ -2,13 +2,18 @@
|
|||
set -e #fail fast
|
||||
|
||||
#H Usage:
|
||||
#H prepare_db.sh -h | prepare_db.sh --help
|
||||
#H %FILE% -h | %FILE% --help
|
||||
#H
|
||||
#H prints this help and exits
|
||||
#H
|
||||
#H prepare_db.sh <database>
|
||||
#H %FILE% <database>
|
||||
#H
|
||||
#H downloads and starts docker image for taskana unit tests
|
||||
#H downloads and starts docker image for taskana unit tests.
|
||||
#H
|
||||
#H %FILE% stop [database]
|
||||
#H
|
||||
#H stops the database and removes 'taskanaUnitTest.properties'.
|
||||
#H If no database was provided all databases are stopped.
|
||||
#H
|
||||
#H database:
|
||||
#H - H2
|
||||
|
@ -17,43 +22,58 @@ set -e #fail fast
|
|||
# Arguments:
|
||||
# $1: exit code
|
||||
function helpAndExit() {
|
||||
cat "$0" | grep "^#H" | cut -c4-
|
||||
cat "$0" | grep "^#H" | cut -c4- | sed -e "s/%FILE%/$(basename "$0")/g"
|
||||
exit "$1"
|
||||
}
|
||||
|
||||
# This function maps the database parameter (for this file) to the docker-compose service name.
|
||||
# Arguments:
|
||||
# $1: the database which should be mapped
|
||||
function mapDBToDockerComposeServiceName() {
|
||||
[[ -z "$1" || "$1" == "H2" ]] && return
|
||||
case "$1" in
|
||||
DB2_11_1)
|
||||
echo "taskana-db2_11-1"
|
||||
;;
|
||||
POSTGRES_10)
|
||||
echo "taskana-postgres_10"
|
||||
;;
|
||||
*)
|
||||
echo "unknown database '$1'" >&2 && exit 1
|
||||
esac
|
||||
}
|
||||
|
||||
function main() {
|
||||
[[ $# -eq 0 || "$1" == '-h' || "$1" == '--help' ]] && helpAndExit 0
|
||||
propFile="$HOME/taskanaUnitTest.properties"
|
||||
scriptDir=`dirname $0`
|
||||
scriptDir=$(dirname "$0")
|
||||
|
||||
case "$1" in
|
||||
H2)
|
||||
if [[ -f "$propFile" ]]; then
|
||||
rm "$propFile"
|
||||
fi
|
||||
[[ -f "$propFile" ]] && rm "$propFile"
|
||||
;;
|
||||
DB2_11_1)
|
||||
if [[ -z $(docker ps -aq -f name=^/taskana-db2_11_1$ -f status=running) ]]; then
|
||||
if [[ -z $(docker ps -aq -f name=^/taskana-db2_11_1$) ]]; then
|
||||
docker run -d -p 50101:50000 --name taskana-db2_11_1 taskana/db2:11.1 -d
|
||||
else
|
||||
docker start taskana-db2_11_1
|
||||
fi
|
||||
fi
|
||||
echo 'jdbcDriver=com.ibm.db2.jcc.DB2Driver' >$propFile
|
||||
echo 'jdbcUrl=jdbc:db2://localhost:50101/tskdb' >>$propFile
|
||||
echo 'dbUserName=db2inst1' >>$propFile
|
||||
echo 'dbPassword=db2inst1-pwd' >>$propFile
|
||||
echo 'schemaName=TASKANA' >>$propFile
|
||||
docker-compose -f $scriptDir/docker-compose.yml up -d $(mapDBToDockerComposeServiceName "$1")
|
||||
|
||||
echo 'jdbcDriver=com.ibm.db2.jcc.DB2Driver' > $propFile
|
||||
echo 'jdbcUrl=jdbc:db2://localhost:5101/tskdb' >> $propFile
|
||||
echo 'dbUserName=db2inst1' >> $propFile
|
||||
echo 'dbPassword=db2inst1-pwd' >> $propFile
|
||||
echo 'schemaName=TASKANA' >> $propFile
|
||||
;;
|
||||
POSTGRES_10)
|
||||
docker-compose -f $scriptDir/docker-compose.yml up -d
|
||||
docker-compose -f $scriptDir/docker-compose.yml up -d $(mapDBToDockerComposeServiceName "$1")
|
||||
|
||||
echo 'jdbcDriver=org.postgresql.Driver' >$propFile
|
||||
echo 'jdbcUrl=jdbc:postgresql://localhost:50102/postgres' >>$propFile
|
||||
echo 'dbUserName=postgres' >>$propFile
|
||||
echo 'dbPassword=postgres' >>$propFile
|
||||
echo 'schemaName=taskana' >>$propFile
|
||||
echo 'jdbcDriver=org.postgresql.Driver' > $propFile
|
||||
echo 'jdbcUrl=jdbc:postgresql://localhost:5102/postgres' >> $propFile
|
||||
echo 'dbUserName=postgres' >> $propFile
|
||||
echo 'dbPassword=postgres' >> $propFile
|
||||
echo 'schemaName=taskana' >> $propFile
|
||||
;;
|
||||
stop)
|
||||
docker-compose -f $scriptDir/docker-compose.yml rm -f -s -v $(mapDBToDockerComposeServiceName "$2")
|
||||
|
||||
[[ -f "$propFile" ]] && rm "$propFile"
|
||||
;;
|
||||
*)
|
||||
echo "unknown database '$1'" >&2
|
||||
|
|
|
@ -17,7 +17,7 @@ taskana.schemaName=TASKANA
|
|||
|
||||
######## db2 configuration ########
|
||||
spring.datasource.driverClassName=com.ibm.db2.jcc.DB2Driver
|
||||
spring.datasource.url=jdbc:db2://localhost:50000/tskdb
|
||||
spring.datasource.url=jdbc:db2://localhost:5101/tskdb
|
||||
spring.datasource.username=db2inst1
|
||||
spring.datasource.password=db2inst1-pwd
|
||||
|
||||
|
|
|
@ -15,13 +15,13 @@ taskana.schemaName=taskana
|
|||
|
||||
######## db2 configuration ########
|
||||
########spring.datasource.driverClassName=com.ibm.db2.jcc.DB2Driver
|
||||
########spring.datasource.url=jdbc:db2://localhost:50000/tskdb
|
||||
########spring.datasource.url=jdbc:db2://localhost:5101/tskdb
|
||||
########spring.datasource.username=db2inst1
|
||||
########spring.datasource.password=db2inst1-pwd
|
||||
########taskana.schemaName=TASKANA
|
||||
|
||||
######## Postgres configuration ########
|
||||
spring.datasource.url=jdbc:postgresql://localhost/postgres
|
||||
spring.datasource.url=jdbc:postgresql://localhost:5102/postgres
|
||||
spring.datasource.driverClassName=org.postgresql.Driver
|
||||
spring.datasource.username=postgres
|
||||
spring.datasource.password=postgres
|
||||
|
|
|
@ -17,12 +17,12 @@ taskana.schemaName=TASKANA
|
|||
|
||||
######## db2 configuration ########
|
||||
########spring.datasource.driverClassName=com.ibm.db2.jcc.DB2Driver
|
||||
########spring.datasource.url=jdbc:db2://localhost:50000/tskdb
|
||||
########spring.datasource.url=jdbc:db2://localhost:5101/tskdb
|
||||
########spring.datasource.username=db2inst1
|
||||
########spring.datasource.password=db2inst1-pwd
|
||||
|
||||
######## Postgres configuration ########
|
||||
########spring.datasource.url=jdbc:postgresql://localhost/taskana
|
||||
########spring.datasource.url=jdbc:postgresql://localhost:5102/taskana
|
||||
########spring.datasource.driverClassName=org.postgresql.Driver
|
||||
########spring.datasource.username=postgres
|
||||
########spring.datasource.password=1234
|
||||
|
|
|
@ -255,7 +255,7 @@
|
|||
jndi-name="java:/TaskanaDS/PostgreSQL"
|
||||
pool-name="TASKANA PostgreSQL Datasource"
|
||||
enabled="true" use-ccm="false">
|
||||
<connection-url>jdbc:postgresql://localhost:50102/postgres
|
||||
<connection-url>jdbc:postgresql://localhost:5102/postgres
|
||||
</connection-url>
|
||||
<driver-class>org.postgresql.Driver</driver-class>
|
||||
<driver>postgresql</driver>
|
||||
|
|
Loading…
Reference in New Issue