From bba30542b12d19a07490b036947f268a25e159a2 Mon Sep 17 00:00:00 2001 From: Lucas Vieira Date: Tue, 4 Apr 2023 14:02:01 -0300 Subject: [PATCH] Introduce ergomake --- .ergomake/Dockerfile | 7 +++++ .ergomake/docker-compose.yml | 53 ++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 .ergomake/Dockerfile create mode 100644 .ergomake/docker-compose.yml diff --git a/.ergomake/Dockerfile b/.ergomake/Dockerfile new file mode 100644 index 000000000..fd320c63b --- /dev/null +++ b/.ergomake/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:18 +ARG DATABASE +WORKDIR app +COPY . . +EXPOSE 8080 +ENV DATABASE ${DATABASE} +CMD sh -c '/app/mvnw spring-boot:run -Dspring-boot.run.profiles=$DATABASE' diff --git a/.ergomake/docker-compose.yml b/.ergomake/docker-compose.yml new file mode 100644 index 000000000..68de8137e --- /dev/null +++ b/.ergomake/docker-compose.yml @@ -0,0 +1,53 @@ +version: '3.8' + +services: + h2-app: + build: + context: .. + dockerfile: .ergomake/Dockerfile + args: + - DATABASE=h2 + ports: + - "8080:8080" + postgres-app: + build: + context: .. + dockerfile: .ergomake/Dockerfile + args: + - DATABASE=postgres + ports: + - "8081:8080" + environment: + - POSTGRES_URL=jdbc:postgresql://postgres/petclinic + - POSTGRES_USER=petclinic + - POSTGRES_PASS=petclinic + mysql-app: + build: + context: .. + dockerfile: .ergomake/Dockerfile + args: + - DATABASE=mysql + ports: + - "8082:8080" + environment: + - MYSQL_URL=jdbc:mysql://mysql/petclinic + - MYSQL_USER=petclinic + - MYSQL_PASS=petclinic + mysql: + image: mysql + ports: + - "3306" + environment: + - MYSQL_ROOT_PASSWORD= + - MYSQL_ALLOW_EMPTY_PASSWORD=true + - MYSQL_USER=petclinic + - MYSQL_PASSWORD=petclinic + - MYSQL_DATABASE=petclinic + postgres: + image: postgres + ports: + - "5432" + environment: + - POSTGRES_PASSWORD=petclinic + - POSTGRES_USER=petclinic + - POSTGRES_DB=petclinic