jib 플러그인 설정하기
build.gradle 파일에 plugin 설정을 해준다.
plugins {
id 'com.google.cloud.tools.jib' version '3.2.1'
}
Docker Image에 관한 설정하기
build.gradle 파일에 jib 단락안에 from과 to 설정을 해준다.
jib {
from {
image = "openjdk:17-oracle"
}
to {
image = "${your-account}.dkr.ecr.ap-northeast-2.amazonaws.com/${your-ecr-repository-name}"
credHelper = 'ecr-login'
tags = ["${project.version}-${System.currentTimeMillis()}"]
}
}
from
필자는 프로젝트를 자바 17버전으로 설정을 해서 openjdk의 jdk17 이미지를 설정했다.
to
이미지를 올릴 곳을 설정한다. AWS ECR 콘솔에서 리포지토리를 만들어 두었다면 그 주소를 적으면 된다.
credHelper는 로컬에서 올린다면 aws configure가 되어있어야한다. (aws-cli)
젠킨스에서 올린다면 credHelper는 구지 필요없다. 젠킨스에서 AWS acessKey와 secretKey로 권한을 줄 수 있다.
tags는 해당 이미지에 어떤 태그들을 달 건지 설정하는 부분이다. 필자는 버전과 시간을 넣어두었다.
latest는 마지막 버전에 자동으로 달린다.
Docker Image Push하기
간단하게 명령어를 입력해도 되고, Intellij를 쓴다면 Gradle탭에 Tasks에 jib가 있을 것이다.
./gradlew jib
만약 ECR 리포지토리를 profile 별 설정을 원한다면
아래 예시처럼 해도 된다.
/**
예시
ECR 리포지토리 이름
test-project-dev
test-project-prod
**/
build.gradle
to {
image = "${your-account}.dkr.ecr.ap-northeast-2.amazonaws.com/test-project-${!project.hasProperty('profile') ? 'dev' : profile}"
}
./gradlew -Pprofile=dev jib
./gradlew -Pprofile=prod jib
반응형
'Java' 카테고리의 다른 글
Java transient란? transient 키워드, serialize 제외 (0) | 2023.08.21 |
---|---|
Try-with-resources를 이용한 자원 해제 처리 (0) | 2023.08.19 |
[Spring Boot] AWS S3 업로드 하는 법 (0) | 2023.08.11 |
[Spring Boot] SSE(Server-Sent-Event) 설정, 사용법을 알아보자! (0) | 2023.08.10 |
[Spring Boot] Redis Pub/Sub 설정 및 사용법!! (0) | 2023.08.09 |