plugin
maven
<!-- pom.xml -->
<build>
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>3.4.3</version>
<configuration>
<to>
<image>[이미지주소. e.g. docker.io/mooneyred/bootapp</image>
<tags>
<tag>latest</tag>
</tags>
<auth>
<username>[이미지레지스트리 접속ID]</username>
<password>[이미지레지스트리 접속PW]</password>
</auth>
</to>
<container>
<jvmFlags> <!-- 옵션 설정 -->
<jvmFlag>-XX:FlightRecorderOptions=stackdepth=256</jvmFlag>
<jvmFlag>-XX:+HeapDumpOnOutOfMemoryError</jvmFlag>
<jvmFlag>-XX:MaxRAMPercentage=80 </jvmFlag>
<jvmFlag>-XX:MinRAMPercentage=80</jvmFlag>
<jvmFlag>-XX:MaxMetaspaceSize=256m </jvmFlag>
<jvmFlag>-XX:+UseG1GC</jvmFlag>
<jvmFlag>-XX:InitiatingHeapOccupancyPercent=35</jvmFlag>
<jvmFlag>-Xss512k</jvmFlag>
<jvmFlag>-XX:HeapDumpPath=/var/tmp</jvmFlag>
</jvmFlags>
</container>
</configuration>
</plugin>
</plugins>
</build>
gradle
//build.gradle
plugins {
// 생략
id 'com.google.cloud.tools.jib' version '3.4.3'
}
jib {
from {
image = 'amazoncorretto:11.0.25-al2023'
}
to {
image = project.findProperty('IMAGE_NAME') ?: 'docker.io/mooneyred/bootapp'
allowInsecureRegistries = true
auth {
username = findProperty('to_username') ?: 'myid'
password = findProperty('to_password') ?: 'mypw'
}
}
container {
entrypoint = ['java', '-Dspring.profiles.active=dev', '-jar', 'app.jar']
ports = ['8080']
environment = [SPRING_OUTPUT_ANSI_ENABLED: "ALWAYS"]
labels = [Iversion: project.version, name: project.name, group: project.group]
format = 'Docker'
}
}
build
maven
mvn clean compile jib:build -Djib.to.tags=0.1 -Djib.to.auth.username=myid -Djib.to.auth.password=mypw
gradle
gradle jib -Djib.to.tags=0.1728x90
'개발 > java' 카테고리의 다른 글
| BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65 (1) | 2025.01.18 |
|---|---|
| openjdk 12 ~ 21 feature (3) | 2024.11.15 |
| spring cloud task (1) | 2024.11.14 |
| jasypt (1) | 2024.11.13 |
| @Aspect로 공통header 처리 (2) | 2024.02.19 |