프로그래머스 데브코스 웹 풀사이클 21주차 1일차

geun·2024년 4월 1일
0

데브코스

목록 보기
74/79
post-thumbnail

웹 기반 문서 편집기 제작 프로젝트

빌드 및 패키징

컨테이너 이미지 빌드 절차

  • 코드의 빌드
  • 컨테이너의 빌드
  • 이미지의 레지스트리 푸시

상세 단계

  • Production Build 단계
    기존에 작성했던 Makefile 의 타겟을 그대로 이용하여 build 디렉토리에 빌드 결과물 생성한다
  • Container Build 단계
    빌드 결과물을 컨테이너 이미지 안으로 넣고 부가적인 설정을 행하여 컨테이너화
    세부 설정은 배포 시점에 결정될 수 있도록 한다
    이미지 태그에 빌드 버전이 포함되도록 관리한다
  • Image Push 단계
    AWS ECR 에 빌드된 이미지 푸시한다
    Jenkins 플러그인에 AWS access key (와 상응하는 secret access key) 를 등록해서 인증한다

스테이징 배포

Shell Script 작성

  • 스테이징 환경과 프로덕션 환경의 차이에 대응하는 S3 백엔드 설정한다
  • KUBECONFIG_PATH: 적용할 kubeconfig 파일 IMG_BE: 백엔드 컨테이너 생성에 적용할 이미지IMG_FE: 프론트엔드 컨테이너 생성에 적용할 이미지 변수로 지정한다
  • 인자로 주어지는 on/off 스위치에 따라 리소스 배포/삭제 동작한다.

스테이징 서버에 배포

  • 스테이징 서버의 minikube 클러스터에 배포 상태를 확인한다
  • 스테이징 서버의 URL 을 이용한 브라우저 접근으로 테스트한다

인수 테스트

전체 CI/CD 파이프라인의 구조

  • 스테이징 배포와 프로덕션 배포는 동일한 구성의 환경을 대상으로한다
  • 스테이징 서버에서는 인수 테스트 실행한다
  • 프로덕션 서버에 대해서는 스모크 테스트만 실행한다

0개의 댓글