From b52e2cc3d1ac74468b8c808b63c0223a45a7f048 Mon Sep 17 00:00:00 2001
From: Somnath Musib <7885767+musibs@users.noreply.github.com>
Date: Tue, 3 Oct 2023 01:07:18 +0300
Subject: [PATCH] BAEL-6527 GraalVM Native Image Docker Image (#14835)
* BAEL-6527 GraalVM Native Image Docker Image
* BAEL-6527 GraalVM Native Image Docker Image
---
spring-boot-modules/pom.xml | 1 +
.../spring-boot-graalvm-docker/Dockerfile | 3 ++
.../spring-boot-graalvm-docker/pom.xml | 41 +++++++++++++++++++
.../GraalvmDockerImageApplication.java | 24 +++++++++++
.../src/main/resources/application.properties | 1 +
5 files changed, 70 insertions(+)
create mode 100644 spring-boot-modules/spring-boot-graalvm-docker/Dockerfile
create mode 100644 spring-boot-modules/spring-boot-graalvm-docker/pom.xml
create mode 100644 spring-boot-modules/spring-boot-graalvm-docker/src/main/java/com/baeldung/graalvmdockerimage/GraalvmDockerImageApplication.java
create mode 100644 spring-boot-modules/spring-boot-graalvm-docker/src/main/resources/application.properties
diff --git a/spring-boot-modules/pom.xml b/spring-boot-modules/pom.xml
index 1c4b2bb38f..2b4a94a7a5 100644
--- a/spring-boot-modules/pom.xml
+++ b/spring-boot-modules/pom.xml
@@ -104,6 +104,7 @@
spring-boot-springdoc-2
spring-boot-documentation
spring-boot-3-url-matching
+ spring-boot-graalvm-docker
diff --git a/spring-boot-modules/spring-boot-graalvm-docker/Dockerfile b/spring-boot-modules/spring-boot-graalvm-docker/Dockerfile
new file mode 100644
index 0000000000..91a63074c1
--- /dev/null
+++ b/spring-boot-modules/spring-boot-graalvm-docker/Dockerfile
@@ -0,0 +1,3 @@
+FROM ubuntu:jammy
+COPY target/springboot-graalvm-docker /springboot-graalvm-docker
+CMD ["/springboot-graalvm-docker"]
diff --git a/spring-boot-modules/spring-boot-graalvm-docker/pom.xml b/spring-boot-modules/spring-boot-graalvm-docker/pom.xml
new file mode 100644
index 0000000000..a3a1b148c2
--- /dev/null
+++ b/spring-boot-modules/spring-boot-graalvm-docker/pom.xml
@@ -0,0 +1,41 @@
+
+
+ 4.0.0
+
+
+ com.baeldung
+ parent-boot-3
+ 0.0.1-SNAPSHOT
+ ../../parent-boot-3
+
+
+ com.baeldung
+ spring-boot-graalvm-docker
+ 1.0.0
+ spring-boot-graalvm-docker
+ Spring Boot GrralVM with Docker
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/spring-boot-modules/spring-boot-graalvm-docker/src/main/java/com/baeldung/graalvmdockerimage/GraalvmDockerImageApplication.java b/spring-boot-modules/spring-boot-graalvm-docker/src/main/java/com/baeldung/graalvmdockerimage/GraalvmDockerImageApplication.java
new file mode 100644
index 0000000000..53e11aa749
--- /dev/null
+++ b/spring-boot-modules/spring-boot-graalvm-docker/src/main/java/com/baeldung/graalvmdockerimage/GraalvmDockerImageApplication.java
@@ -0,0 +1,24 @@
+package com.baeldung.graalvmdockerimage;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@SpringBootApplication
+public class GraalvmDockerImageApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(GraalvmDockerImageApplication.class, args);
+ }
+
+}
+
+@RestController
+class HelloController {
+
+ @GetMapping
+ public String hello() {
+ return "Hello GraalVM";
+ }
+}
diff --git a/spring-boot-modules/spring-boot-graalvm-docker/src/main/resources/application.properties b/spring-boot-modules/spring-boot-graalvm-docker/src/main/resources/application.properties
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/spring-boot-modules/spring-boot-graalvm-docker/src/main/resources/application.properties
@@ -0,0 +1 @@
+