[TIL] 20240710 - 단위테스트

jini·2024년 7월 10일
0

TIL

목록 보기
43/48

CI/CD Pipeline


Code checkout > Unit test > Code coverage

Production build > Packaging > Image push

Staging > Acceptance test

Release > Smoke test

설계

SCM Checkout

  • Jenkins에서 git clone 할 수 있도록 github credentials 준비

Unit Test

  • Node v. 18이 설치되어 있는 Jenkins agent(builder)에서 npm test

Build

  • 단위 테스트 실행과 동일한 agent(builder)에서 npm build

Packaging

  • JNLP agent에서 docker build
  • 같은 agent에서 docker push

Staging

  • Terraform을 이용하여 스테이징 서버(Minikube on EC2)에 컨테이너 배포
  • AWS credentials 설정 필요

Acceptance Test

  • 로컬 클러스터 내에 Selenium Standalone 인스턴스를 배포하고 WD hub로 이동

Release

  • Staging 배포와 동일한 방식으로 프로덕션 서버에 배포

Smoke Test

  • 프로덕션 서버에 배포된 응용이 올바르게 배포되었는지 확인



스테이징 배포


Terraform 적용을 위한 구성 설정 파일 작성

배포 작업의 효율화를 위한 shell script 작성

  • staging.conf 파일과 setup.conf 파일을 이어 붙여서 notes.tf 파일로 병합

  • KUBECONFIG_PATH: 적용할 kubeconfig vkdlf

  • IMG_BE: 백엔드 컨테이너 생성에 적용할 이미지

  • IMG_FE: 프론트엔드 컨테이너 생성에 적용할 이미지

ECR 로부터 image pull 하도록 설정 변경

  • k8s secret 생성을 위한 terraform 설정

스테이징 서버에 배포 및 테스트

Jenkins 파이프라인에 배포 단계 통합

  • 스테이징 서버 URL 설정

  • AWS credentials 이용 설정

0개의 댓글