diff --git a/.maven-dockerignore b/.maven-dockerignore new file mode 100644 index 0000000..c2c4a5a --- /dev/null +++ b/.maven-dockerignore @@ -0,0 +1 @@ +target/** \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5dd5ec2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:8 + +WORKDIR /app +COPY maven/spring-boot-docker-0.0.2-SNAPSHOT.jar /app/my-app.jar + +EXPOSE 8080 +CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/my-app.jar"] diff --git a/pom.xml b/pom.xml index 6253b12..835487a 100755 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ guru.springframework spring-boot-docker - 0.0.1-SNAPSHOT + 0.0.2-SNAPSHOT jar spring-boot-docker @@ -21,9 +21,16 @@ UTF-8 1.8 + tetarrrr + springbootdocker + + guru.springframework + page-view-client + 0.0.2 + org.springframework.boot spring-boot-starter-thymeleaf @@ -52,6 +59,128 @@ org.springframework.boot spring-boot-maven-plugin + + io.fabric8 + docker-maven-plugin + 0.20.0 + + + npipe:////./pipe/docker_engine + true + + + ${docker.image.prefix}/${docker.image.name} + + ${project.basedir}/target/dockerfile + + artifact + + + latest + ${project.version} + + + + + 8080:8080 + + + rabbitmq:rabbitmq + + + rabbitmq + + + rabbitmq + pageviewservice + + + + + mysql:5.7 + mysqldb + + + 3306:3306 + + + pageviewservice + yes + + + + + + + + rabbitmq:3-management + rabbitmq + + + 5671 + 5672 + 4369 + 23672 + + + + + + + + springframeworkguru/pageviewservice + pageviewservice + + + 8081:8081 + + + rabbitmq:rabbitmq + mysqldb:mysqldb + + + jdbc:mysql://mysqldb:3306/pageviewservice?useSSL=false + mysql + rabbitmq + + + rabbitmq + mysqldb + + + + + + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.5 + + + prepare-package + + execute + + + + + + + + + + + org.codehaus.groovy + groovy-all + 2.4.8 + runtime + + + diff --git a/src/main/docker/DockerfileTemplate b/src/main/docker/DockerfileTemplate new file mode 100644 index 0000000..56a5a66 --- /dev/null +++ b/src/main/docker/DockerfileTemplate @@ -0,0 +1,7 @@ +FROM openjdk:8 + +WORKDIR /app +COPY maven/${fileName}.jar /app/my-app.jar + +EXPOSE 8080 +CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/my-app.jar"] diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e69de29..bf524aa 100755 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.rabbitmq.host= \ No newline at end of file diff --git a/src/main/scripts/BuildDockerfile.groovy b/src/main/scripts/BuildDockerfile.groovy new file mode 100644 index 0000000..ebd8d3a --- /dev/null +++ b/src/main/scripts/BuildDockerfile.groovy @@ -0,0 +1,14 @@ +String baseDir = System.getProperty("user.dir") + +def template = new File("\\src\\main\\docker\\DockerfileTemplate").text + +def dockerFileText = new groovy.text.SimpleTemplateEngine().createTemplate(template) + .make([fileName: project.build.finalName]) + +new File(baseDir + "\\target\\dockerfile").mkdirs() + +File dockerFile = new File(baseDir + "\\target\\dockerfile\\Dockerfile") + +dockerFile.withWriter("UTF-8") { writer -> + writer.write(dockerFileText) +}