diff --git a/pom.xml b/pom.xml index b04e3f06530c9421839af03585ed26b7c4e175b6..19cf5c72e7c063dc04726435add2e8eb97a9f38a 100644 --- a/pom.xml +++ b/pom.xml @@ -29,4 +29,31 @@ </dependencies> </dependencyManagement> + <build> + <plugins> + <plugin> + <groupId>com.spotify</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>0.4.13</version> + <configuration> + <imageName>${docker.image.prefix}/${project.artifactId}</imageName> + <dockerDirectory>src/main/docker</dockerDirectory> + <resources> + <resource> + <targetPath>/</targetPath> + <directory>${project.build.directory}</directory> + <include>${project.build.finalName}.war</include> + </resource> + </resources> + <forceTags>true</forceTags> + <imageTags> + <imageTag>${project.version}</imageTag> + <imageTag>latest</imageTag> + </imageTags> + <useConfigFile>true</useConfigFile> + </configuration> + </plugin> + </plugins> + </build> + </project> diff --git a/springboot-petclinic-server/pom.xml b/springboot-petclinic-server/pom.xml index e0f7186e22bccaa4ca999f53beb1325a8bcc6f5b..3466edf505dc7b1afc304cf102d386e8bb518183 100644 --- a/springboot-petclinic-server/pom.xml +++ b/springboot-petclinic-server/pom.xml @@ -13,6 +13,8 @@ <properties> <java.version>1.7</java.version> + + <docker.image.prefix>arey</docker.image.prefix> </properties> <dependencies> @@ -121,6 +123,29 @@ </generateGitPropertiesFilename> </configuration> </plugin> + + <plugin> + <groupId>com.spotify</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>0.4.13</version> + <configuration> + <imageName>${docker.image.prefix}/springboot-petclinic</imageName> + <dockerDirectory>src/main/docker</dockerDirectory> + <resources> + <resource> + <targetPath>/</targetPath> + <directory>${project.build.directory}</directory> + <include>${project.build.finalName}.jar</include> + </resource> + </resources> + <forceTags>true</forceTags> + <imageTags> + <imageTag>${project.version}</imageTag> + <imageTag>latest</imageTag> + </imageTags> + <useConfigFile>true</useConfigFile> + </configuration> + </plugin> </plugins> </build> </project> diff --git a/springboot-petclinic-server/src/main/docker/Dockerfile b/springboot-petclinic-server/src/main/docker/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..e7457857833634563f8aaf4af857c07f6ba869c3 --- /dev/null +++ b/springboot-petclinic-server/src/main/docker/Dockerfile @@ -0,0 +1,8 @@ +FROM openjdk:alpine +MAINTAINER Antoine Rey <antoine.rey@free.fr> +# Spring Boot application creates working directories for Tomcat by default +VOLUME /tmp +ADD petclinic.jar petclinic.jar +RUN sh -c 'touch /petclinic.jar' +# To reduce Tomcat startup time we added a system property pointing to "/dev/urandom" as a source of entropy. +ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/petclinic.jar"]