GCP CI/CD (1)

ec2-small

  1. CI/CD 하고 싶은 프로젝트에 Dockerfile 을 작성해준다.
    나는 typescript로 되어져 있는 토이프로젝트 Dockerfile 작성해 줄 것이다.
# step 1
## base image for step 1: Node 10
FROM node:10 AS builder

# /app 을 application root 로 사용합니다.
## 프로젝트의 모든 파일을 WORKDIR(/app)로 복사한다.
WORKDIR /app

# copy . . 의미는 전체 프로젝트를 복사한다는 뜻이다.
COPY . .

# 의존성 설치 및 프로젝트 빌드
# 새로운 레이어 명령어 실행 및 새로운 이미지 생성..
# 보통 패키지 설치 등 사용된다.
RUN npm install
RUN npm run build

# port 3000
EXPOSE 3000

# default 명령어? 파라미터 설정
# docker run 실행시 커맨드 주지 않으면 default 명령이 실행된다.
# cmd 주용도는 컨테이너 실행할 때 사용할 default 설정하는것이다.
# CMD node dist/src/main
# Run the app
CMD [ "npm", "start" ]
  1. 빌드 단계 GCP 참고 문서 * 빌드 구성 개요
  • 빌드 단계는 Cloud Build가 수행 해야하는 작업을 가르킨다.
    빌드 단계에서 Cloud Build는 docker run의 인스턴스로 Docker 컨테이너를 실행한다.

나는 docker container 로 gcp 이미지에 올릴 예정이므로 google > 빌드 > 컨테이너 이미지 빌드 여기를 참고하였다.

빌드를 하기 위해서는 cloudbuild.yaml 파일을 작성해야한다.

작성하고나면 gcloud builds submit --config cloudbuild.yaml . 명령어를 쳐준다.

내가 cloudbuild.yaml 기준으로 작성한 것들이 cloud 페이지에 올라가진다.

확인 하는 방법은 Google Cloud Console > Cloud Build 페이지에서 확인이가능하다.

image

위 그림 처럼 확인할 수 있다.

Comments