From c8fa5c3f02d3bbced9dc3839d2ec684eabb1fda8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Krzy=C5=BCak?= Date: Mon, 30 Jul 2018 21:58:16 +0200 Subject: [PATCH] build docker image with spotify maven docker plugin and travis-ci --- .travis.yml | 9 ++++- judge-d-server/Dockerfile | 33 ----------------- judge-d-server/src/main/docker/Dockerfile | 10 ++++++ .../{ => src/main/docker}/entrypoint.sh | 0 pom.xml | 35 +++++++++++++++++++ 5 files changed, 53 insertions(+), 34 deletions(-) delete mode 100644 judge-d-server/Dockerfile create mode 100644 judge-d-server/src/main/docker/Dockerfile rename judge-d-server/{ => src/main/docker}/entrypoint.sh (100%) diff --git a/.travis.yml b/.travis.yml index 9106208f..90c2724f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,4 +5,11 @@ cache: directories: - $HOME/.m2 -script: "mvn clean verify jacoco:report coveralls:report" +jobs: + include: + - stage: build with maven & generate reporrts + script: + - mvn clean verify jacoco:report coveralls:report + - stage: build & publish docker image for server + script: + - mvn docker:build@build-docker -P docker-app diff --git a/judge-d-server/Dockerfile b/judge-d-server/Dockerfile deleted file mode 100644 index 5485831e..00000000 --- a/judge-d-server/Dockerfile +++ /dev/null @@ -1,33 +0,0 @@ -FROM openjdk:8-jdk-alpine - - -ARG MAVEN_VERSION=3.5.4 -ARG USER_HOME_DIR="/root" -ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries - -ENV MAVEN_HOME /usr/share/maven -ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2" - -ADD src /sourcecode/src -ADD pom.xml /sourcecode/pom.xml - -WORKDIR /sourcecode - - -RUN apk add --no-cache curl tar bash \ - && mkdir -p /usr/share/maven /usr/share/maven/ref \ - && curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-$MAVEN_VERSION-bin.tar.gz\ - && tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \ - && rm -f /tmp/apache-maven.tar.gz \ - && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn \ - && mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true -B -V \ - && cp ./target/judge-d-0.1-SNAPSHOT.jar /root/judge-d.jar \ - && rm -rf /sourcecode \ - && rm -rf $MAVEN_CONFIG - - -WORKDIR /root -ADD entrypoint.sh /root/entrypoint.sh -RUN chmod +x /root/entrypoint.sh - -ENTRYPOINT ["/root/entrypoint.sh"] diff --git a/judge-d-server/src/main/docker/Dockerfile b/judge-d-server/src/main/docker/Dockerfile new file mode 100644 index 00000000..ef4cab18 --- /dev/null +++ b/judge-d-server/src/main/docker/Dockerfile @@ -0,0 +1,10 @@ +FROM openjdk:8-jdk-alpine + + + +WORKDIR /root +ADD ./judge-d-server-0.1-SNAPSHOT.jar /root/judge-d.jar +ADD ./entrypoint.sh /root/entrypoint.sh +RUN chmod +x /root/entrypoint.sh + +ENTRYPOINT ["/root/entrypoint.sh"] diff --git a/judge-d-server/entrypoint.sh b/judge-d-server/src/main/docker/entrypoint.sh similarity index 100% rename from judge-d-server/entrypoint.sh rename to judge-d-server/src/main/docker/entrypoint.sh diff --git a/pom.xml b/pom.xml index f416fd6b..25baca4b 100644 --- a/pom.xml +++ b/pom.xml @@ -151,4 +151,39 @@ + + + + docker-app + + + + com.spotify + docker-maven-plugin + 1.1.1 + + + build-docker + + build + + + hltech/judge-d + ${project.basedir}/src/main/docker + + + + / + ${project.build.directory} + ${project.build.finalName}.jar + + + + + + + + + +