기술 블로그

[TIL] Docker GCP CI/CD 본문

프론트엔드

[TIL] Docker GCP CI/CD

jaegwan 2023. 10. 15. 21:16
반응형

https://blog.jaegwan.com/96

 

[TIL] GCP Next.js deploy

최근 서류합격한 기업의 우대사항을 보니 GCP 배포가 기재되어 있어 면접 전 GCP 배포를 경험해보고자한다. 구글 클라우드에 가입 후 원할한 진행을 위해 카드 등록도 해준 후 배포하기 위한 프로

blog.jaegwan.com

이전 게시글에 이어서 작성되는 글이다. 

 

 

"CI/CD"란 "Continuous Integration"과 "Continuous Delivery" 또는 "Continuous Deployment"의 약어로, 소프트웨어 개발 및 배포 프로세스를 자동화하고 효율화하기 위한 방법론과 관련된 도구와 절차를 통칭합니다.

 

GCP내의 CI/CD를 검색해서 Cloud Build를 클릭한다.

 

 사용을 클릭한다.

 

이후 트리거를 설정해주어야한다.

 

 

 

소스 선택에서 github을 선택한다.

 

 

연결 후 저장한다.

 

 

이후 설정창에 들어가 위 gcp서비스들을 사용 설정해준다.(쿠버네티스 제외) 

 

cloudbuild.yaml 설정

#cloudbuild.yaml

steps:
    # 1. Node.js 애플리케이션 빌드 단계
    - name: 'gcr.io/cloud-builders/npm'
      args: ['install']
    - name: 'gcr.io/cloud-builders/npm'
      args: ['run', 'build']

    # 2. Docker 이미지 빌드 단계
    - name: 'gcr.io/cloud-builders/docker'
      args: ['build', '-t', 'gcr.io/ID/helloworld', '.']

    # 3. Google Cloud Run 배포 단계
    - name: 'gcr.io/cloud-builders/gcloud'
      args:
          - 'run'
          - 'deploy'
          - 'helloworld'
          - '--image=gcr.io/ID/helloworld'
          - '--project=ID'
          - '--platform=managed'
          - '--region=asia-northeast3' # 원하는 지역 설정
          - '--allow-unauthenticated' # 필요한 경우 인증 생략

images: ['gcr.io/ID/helloworld']

위 코드는 우리가 이전에 수동으로 빌드 배포 했던 코드를 yaml 로 저장한 것이다.

gcloud builds submit --tag gcr.io/ID/helloworld --project ID
gcloud run deploy --image gcr.io/ID/helloworld --project ID --platform managed

해당 레포지토리에 commit push 이후 

GCP CloudBuild 기록 칸에서 로그를 실시간으로 확인한다.

반응형

'프론트엔드' 카테고리의 다른 글

[TIL] 에러코드  (0) 2023.10.20
[TIL] 웹 브라우저 이해  (0) 2023.10.17
[TIL] 모듈 번들러  (0) 2023.10.15
[TIL] GCP Next.js deploy  (0) 2023.10.14
React 렌더링 최적화  (0) 2023.09.30
Comments