From df8b379b457c50b6ba6fb54dfb334919707bbd48 Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Tue, 12 Jul 2016 11:37:43 +0200 Subject: [PATCH] link database --- build.sh | 3 ++- config/application.yml | 4 ++-- docker-compose.yml | 13 +++++++++++++ docker-compose_build.yml | 13 +++++++++++++ pom.xml | 2 ++ src/docker/build/Dockerfile | 2 ++ src/docker/build/build-in-docker.sh | 8 ++++++++ 7 files changed, 42 insertions(+), 3 deletions(-) diff --git a/build.sh b/build.sh index 943044203..a89fb3a62 100755 --- a/build.sh +++ b/build.sh @@ -2,4 +2,5 @@ ./halt.sh docker-compose -f ./docker-compose_build.yml build -docker-compose -f ./docker-compose_build.yml up +docker-compose -f ./docker-compose_build.yml up -d +docker-compose stop db \ No newline at end of file diff --git a/config/application.yml b/config/application.yml index f1470a8e9..2750ccff0 100644 --- a/config/application.yml +++ b/config/application.yml @@ -2,9 +2,9 @@ spring: datasource: - url: jdbc:postgresql://portaldb:5432/postgres + url: jdbc:postgresql://db:5432/postgres username: postgres - password: test + password: pass driver-class-name: org.postgresql.Driver jpa: hibernate: diff --git a/docker-compose.yml b/docker-compose.yml index 3902ae28d..df1c7f0bf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,5 +6,18 @@ services: build: context: . dockerfile: ./src/docker/run/Dockerfile + depends_on: + - "db" ports: - "8080:8080" + links: + - "db" + db: + container_name: db + image: postgres:9.5.3 + ports: + - "5432:5432" + volumes: + - ./data:/var/lib/postgres/data + environment: + POSTGRES_USER: postgres diff --git a/docker-compose_build.yml b/docker-compose_build.yml index b29bf59ec..877c4ebf3 100644 --- a/docker-compose_build.yml +++ b/docker-compose_build.yml @@ -4,8 +4,21 @@ services: backend_build: container_name: backend_build build: ./src/docker/build/ + depends_on: + - "db" volumes: - ./:/opt/portal/ - .m2:/root/.m2/ ports: - "8080:8080" + links: + - "db" + db: + container_name: db + image: postgres:9.5.3 + ports: + - "5432:5432" + volumes: + - ./data:/var/lib/postgres/data + environment: + POSTGRES_USER: postgres diff --git a/pom.xml b/pom.xml index f0a335858..e89986f5b 100644 --- a/pom.xml +++ b/pom.xml @@ -27,6 +27,8 @@ <sonar.host.url>http://dockerhost:9000</sonar.host.url> <sonar.projectName>MIP Backend</sonar.projectName> <sonar.sources>src/main/java/</sonar.sources> + <flyway.url>jdbc:postgresql://db:5432/postgres</flyway.url> + <flyway.user>postgres</flyway.user> </properties> <dependencies> diff --git a/src/docker/build/Dockerfile b/src/docker/build/Dockerfile index b4318d788..b9164761d 100644 --- a/src/docker/build/Dockerfile +++ b/src/docker/build/Dockerfile @@ -5,4 +5,6 @@ COPY ./build-in-docker.sh /build-in-docker.sh VOLUME /opt/portal/ WORKDIR /opt/portal/ +RUN apt-get update && apt-get install -y postgresql + CMD ["bash", "/build-in-docker.sh"] diff --git a/src/docker/build/build-in-docker.sh b/src/docker/build/build-in-docker.sh index a6f31bcc3..70736859a 100644 --- a/src/docker/build/build-in-docker.sh +++ b/src/docker/build/build-in-docker.sh @@ -3,5 +3,13 @@ rm -r target/ mvn package +echo 'Waiting for postgres to be ready...' +until psql -h "db" -U "postgres" -c '\l'; do + >&2 echo "Postgres is unavailable - sleeping" + sleep 1 +done + +mvn flyway:baseline flyway:migrate + # Uncomment to generate a PDF API documentation # mvn swagger2markup:convertSwagger2markup asciidoctor:process-asciidoc -- GitLab