You will be fine

<GCP 쿠버네티스로 웹서비스하기> Cloud Build

by BFine
반응형

GCP의 Cloud Build를 통해 Docker image를 만들어 보았다~

 

가. Cloud Build 설정

 a. GitHub Repostitory 연동

  -  Cloud Build 사용 설정 후 저장소 연결을 한다.

  -  Cloud Build 관련 플러그인을 Repository에 설치할꺼냐 물어보는데 설치해주면 끝이다.

 b. 트리거 만들기

  -  GitHub Repositroy 에서 Push가 발생하면 자동으로 빌드하도록 설정하는 부분이다.

  -  generic::invalid_argument: invalid build: invalid image name

     => 빌드구성을 자동감지로 했을때 발생한 에러 였는데 이유를 모르겠다.. Dockerfile로 설정하자

 

나. DockerFile 설정

 a. Spring Boot Gradle 의 Doker Image 만들기

  -  이미지 만드는걸 처음해보다보니 상당히 오래걸렸다. 처음엔 JDK로만 빌드하니

    => /Error: Invalid or corrupt jarfile /app.jar  요 오류를 만날 수가 있다. (검색해도 잘안나옴)  

  -  Gradle Build가 되지 않아서 artifact가 없는 것이다. Gradle Build -> Jdk Run 으로 해야한다.

 

 b. DockerFile 설정하기

  1. builder를 하나 설정하고 Gradle을 모두 복사하여 bootJar로 jar 파일을 만든다.

  2. 만들어진 jar 파일 복사하고 실행명령어를 통해 Image를 생성한다. (뭔가좀 그래서 jdk11 대신 8로 했다.)

FROM openjdk:8-jdk-slim as builder

COPY gradlew .
COPY gradle gradle
COPY build.gradle .
COPY settings.gradle . 
COPY src src
RUN chmod +x ./gradlew
RUN ./gradlew bootJar

FROM openjdk:8-jdk-slim
COPY --from=builder build/libs/*.jar app.jar
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=gcp","/app.jar"]
EXPOSE 8080

 

다. GCP Cloud Build 

 a. 실행확인하기

  -  위의 Dockerfile을 Push하면 트리거를 통해서 Build가 시작된다.

  -  수많은 실패의 흔적이 보인다;;

 b. 이미지 확인하기

  -  빌드를 클릭해서 세부정보를 보면 빌드로그를 확인할 수 있다.

  -  세부 상세정보의 이미지를 컨테이너의 이미지로 사용하여 배포할 수 있다.

 

반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기