jib

2024. 12. 26. 10:38·개발/java

 

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.1
728x90

'개발 > 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
'개발/java' 카테고리의 다른 글
  • BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65
  • openjdk 12 ~ 21 feature
  • spring cloud task
  • jasypt
yunapapa
yunapapa
working on the cloud
    250x250
  • yunapapa
    supermoon
    yunapapa
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • 개발 (20)
        • java (17)
        • web (2)
        • MSX (1)
        • Go (0)
      • CloudNative (50)
        • App Definition & Developeme.. (17)
        • Orchestration & Management (4)
        • Runtime (3)
        • Provisioning (7)
        • Observability & Analysis (14)
        • event review (5)
      • AWS (7)
      • 환경관련 (17)
      • 취미생활 (0)
        • 맛집 (0)
        • 게임 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • CNCF Past Events
    • Kubernetes Korea Group
  • 공지사항

  • 인기 글

  • 태그

    오블완
    kubernetes
    OpenShift
    Java
    티스토리챌린지
    APM
    helm
    k8s
    gitlab
    AWS
    istio
    springboot
    devops
    dop-c02
    Pinpoint
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
yunapapa
jib
상단으로

티스토리툴바