diff --git a/build.sh b/build.sh index b39a2ed285e3711f6711b89f0a073b7429d6e520..7512161596e6f8d323de1f91792e3995caba3671 100755 --- a/build.sh +++ b/build.sh @@ -1,16 +1,11 @@ #!/bin/bash -e + if groups $USER | grep &>/dev/null '\bdocker\b'; then DOCKER_COMPOSE="docker-compose" else DOCKER_COMPOSE="sudo docker-compose" fi -# Create a symlink to the local Maven repository -[ -L .m2 ] || ln -s -t . ~/.m2 - -$DOCKER_COMPOSE --file=docker-compose.init.yml --project-name=portal-backend-init up - -echo "Need to set the current user as owner of the files generated in target directory..." -sudo chown -R $USER:$USER ./target +cp target/mip.jar src/docker/build/ -echo "Done" +$DOCKER_COMPOSE build diff --git a/run.sh b/run.sh index 13c4f109ab2583c34c067a18ab97f064534c9e9b..3483bbcfcb1c7446b56537d6792375c48896efe9 100755 --- a/run.sh +++ b/run.sh @@ -1,9 +1,20 @@ #!/bin/bash -e +# Run the backend in a Docker container and start the database. +# The current project is compiler inside the Docker container + if groups $USER | grep &>/dev/null '\bdocker\b'; then DOCKER_COMPOSE="docker-compose" else DOCKER_COMPOSE="sudo docker-compose" fi -$DOCKER_COMPOSE up +# Create a symlink to the local Maven repository +[ -L .m2 ] || ln -s -t . ~/.m2 + +$DOCKER_COMPOSE --file=docker-compose.init.yml --project-name=portal-backend-init up + +echo "Need to set the current user as owner of the files generated in target directory..." +sudo chown -R $USER:$USER ./target + +echo "Done" diff --git a/src/docker/build/.gitignore b/src/docker/build/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..d392f0e82c4ac6dd2e7bb17eb9253e1b30d07105 --- /dev/null +++ b/src/docker/build/.gitignore @@ -0,0 +1 @@ +*.jar diff --git a/src/docker/build/Dockerfile b/src/docker/build/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..1369edf76009678d08db82e5e5ce87ef7b829f85 --- /dev/null +++ b/src/docker/build/Dockerfile @@ -0,0 +1,19 @@ +# This Dockerfile encapsulate the MIP portal backend application for development purposes. + +FROM maven:3-jdk-8 + +RUN apt-get update && apt-get install -y wget +RUN wget https://github.com/jwilder/dockerize/releases/download/v0.2.0/dockerize-linux-amd64-v0.2.0.tar.gz +RUN tar -C /usr/local/bin -xzvf dockerize-linux-amd64-v0.2.0.tar.gz + +COPY mip.sh /opt/portal/ +COPY mip.jar /opt/portal/lib/ +RUN chmod +x /opt/portal/mip.sh +EXPOSE 8080 + +VOLUME /opt/portal/config/ +VOLUME /opt/portal/lib/ + +WORKDIR /opt/portal/ + +CMD ["/usr/local/bin/dockerize", "-timeout", "240s", "-wait", "tcp://portaldb:5432", "/opt/portal/mip.sh"] diff --git a/src/docker/build/mip.sh b/src/docker/build/mip.sh new file mode 100644 index 0000000000000000000000000000000000000000..cfae68474c42a1e66b80edb0ea849911ddd8eef4 --- /dev/null +++ b/src/docker/build/mip.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +/usr/bin/java -DconfigFile=/opt/portal/config/application.yml -jar /opt/portal/lib/mip.jar