Skip to content

Commit 0445c3a

Browse files
committed
upgrade spring boot and jdk
1 parent 1f377ea commit 0445c3a

File tree

5 files changed

+55
-46
lines changed

5 files changed

+55
-46
lines changed

Dockerfile

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
FROM openjdk:17-slim as builder
1+
FROM openjdk:21-slim AS builder
22
WORKDIR /usr/local/temp
33
ARG JAR_FILE=build/libs/*.jar
44
ADD ${JAR_FILE} application.jar
5-
RUN java -Djarmode=layertools -jar application.jar extract
5+
RUN java -Djarmode=tools -jar application.jar extract --layers --launcher
66

7-
FROM openjdk:17-slim
7+
FROM openjdk:21-slim
88
ARG VERSION=latest
99
LABEL version=${VERSION}
1010
LABEL maintainer="Ashutosh Sahoo"
@@ -13,8 +13,8 @@ LABEL description="spring-boot-kubernetes-mysql"
1313
WORKDIR /usr/local/app
1414
RUN useradd --user-group --system --create-home --no-log-init app
1515
USER app
16-
COPY --from=builder /usr/local/temp/dependencies/ ./
17-
COPY --from=builder /usr/local/temp/spring-boot-loader/ ./
18-
COPY --from=builder /usr/local/temp/snapshot-dependencies/ ./
19-
COPY --from=builder /usr/local/temp/application/ ./
20-
ENTRYPOINT ["java","org.springframework.boot.loader.JarLauncher"]
16+
COPY --from=builder /usr/local/temp/application/spring-boot-loader/ ./
17+
COPY --from=builder /usr/local/temp/application/snapshot-dependencies/ ./
18+
COPY --from=builder /usr/local/temp/application/dependencies/ ./
19+
COPY --from=builder /usr/local/temp/application/application/ ./
20+
ENTRYPOINT ["java","org.springframework.boot.loader.launch.JarLauncher"]

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ Sample project to test and deploy spring boot application with mysql database in
66

77
- Docker with kubernetes enabled
88
- Kubernetes command-line tool(kubectl)
9-
- JDK 17 LTS
10-
- Gradle
9+
- JDK 21 LTS
10+
- Gradle 8
1111

1212
## Start application
1313

build.gradle

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,65 @@
11
plugins {
2-
id 'java'
3-
id 'org.springframework.boot' version '3.0.5'
4-
id 'io.spring.dependency-management' version '1.1.0'
5-
id 'idea'
6-
id 'com.palantir.docker' version '0.35.0'
2+
id 'java'
3+
id 'org.springframework.boot' version '3.3.0'
4+
id 'io.spring.dependency-management' version '1.1.5'
5+
id 'idea'
6+
id 'com.palantir.docker' version '0.36.0'
77
}
88

99
group 'com.ashu.practice'
10-
version '5.0.0'
10+
version '6.0.0'
1111

12-
sourceCompatibility = '17'
13-
14-
repositories {
15-
mavenCentral()
12+
java {
13+
toolchain {
14+
languageVersion = JavaLanguageVersion.of(21)
15+
}
1616
}
1717

1818
configurations {
19-
compileOnly {
20-
extendsFrom annotationProcessor
21-
}
19+
compileOnly {
20+
extendsFrom annotationProcessor
21+
}
22+
}
23+
24+
repositories {
25+
mavenCentral()
2226
}
2327

2428
dependencies {
25-
implementation 'org.springframework.boot:spring-boot-starter-actuator'
26-
implementation 'org.springframework.boot:spring-boot-starter-web'
27-
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
28-
runtimeOnly 'com.mysql:mysql-connector-j'
29-
compileOnly 'org.projectlombok:lombok'
30-
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
31-
annotationProcessor 'org.projectlombok:lombok'
32-
testImplementation 'org.springframework.boot:spring-boot-starter-test'
33-
testImplementation 'com.h2database:h2'
29+
implementation 'org.springframework.boot:spring-boot-starter-actuator'
30+
implementation 'org.springframework.boot:spring-boot-starter-web'
31+
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
32+
runtimeOnly 'com.mysql:mysql-connector-j'
33+
compileOnly 'org.projectlombok:lombok'
34+
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
35+
annotationProcessor 'org.projectlombok:lombok'
36+
testImplementation 'org.springframework.boot:spring-boot-starter-test'
37+
testImplementation 'com.h2database:h2'
38+
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
3439
}
3540

3641
tasks.named('test') {
37-
useJUnitPlatform()
42+
useJUnitPlatform()
3843
}
3944

4045

4146
jar {
42-
enabled = false
47+
enabled = false
4348
}
4449

4550
docker {
46-
dependsOn bootJar
47-
name "ashutoshsahoo/${project.name}:latest"
48-
buildArgs([JAR_FILE: "${project.name}-${project.version}.jar", VERSION: "${project.version}"])
49-
files bootJar
51+
dependsOn bootJar
52+
name "ashutoshsahoo/${project.name}:latest"
53+
buildArgs([JAR_FILE: "${project.name}-${project.version}.jar", VERSION: "${project.version}"])
54+
files bootJar
5055
// tag 'latest', "${project.parent.version}"
5156
// noCache true
5257
}
5358

5459

5560
idea {
56-
module {
57-
downloadJavadoc = true
58-
downloadSources = true
59-
}
61+
module {
62+
downloadJavadoc = true
63+
downloadSources = true
64+
}
6065
}

deployment/app-k8s.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ items:
77
metadata:
88
labels:
99
app: spring-boot-kubernetes-mysql
10-
version: 5.0.0
10+
version: 6.0.0
1111
name: spring-boot-kubernetes-mysql
1212
spec:
1313
ports:
@@ -30,7 +30,7 @@ items:
3030
metadata:
3131
labels:
3232
app: spring-boot-kubernetes-mysql
33-
version: 5.0.0
33+
version: 6.0.0
3434
name: spring-boot-kubernetes-mysql
3535
spec:
3636
selector:
@@ -40,12 +40,12 @@ items:
4040
metadata:
4141
labels:
4242
app: spring-boot-kubernetes-mysql
43-
version: 5.0.0
43+
version: 6.0.0
4444
spec:
4545
serviceAccountName: spring-boot-kubernetes-mysql
4646
containers:
4747
- name: spring-boot-kubernetes-mysql
48-
image: ashutoshsahoo/spring-boot-kubernetes-mysql:5.0.0
48+
image: ashutoshsahoo/spring-boot-kubernetes-mysql:6.0.0
4949
imagePullPolicy: IfNotPresent
5050
resources:
5151
limits:

src/main/resources/application.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ server:
22
servlet:
33
context-path: /api/v1
44
spring:
5+
application:
6+
name: spring-boot-kubernetes-mysql
7+
main:
8+
banner-mode: off
59
jpa:
610
open-in-view: false
711
# datasource:

0 commit comments

Comments
 (0)