backend-tech-forge / benchmark

A enterprise level performance testing solution. Taking inspiration from nGrinder, this project aims to develop a Spring Boot application mirroring nGrinder's functionality as closely as feasible.
MIT License
4 stars 0 forks source link

적용중인 CI/CD 및 관련 레퍼런스 #34

Closed ghkdqhrbals closed 7 months ago

ghkdqhrbals commented 8 months ago

@LeeJeongGi 요청하신 참고자료들을 모아봤습니다.

현재 CI/CD 의 모든 과정은 Gti Actions 를 통해서 진행됩니다. 먼저 배포과정을 말씀 드리면

  1. develop, main 브랜치 pull_request
  2. gradle-ci 실행
  3. gradle test 로 프로젝트 테스트
  4. madrapps/jacoco action 플러그인으로 테스트 커버리지 결과 pr comment
  5. 성공 시, deploy 워크플로우 트리거
  6. deploy 에서 gradle build 로 프로젝트 빌드. ( deploy 워크플로우는 main 브랜치에 merge 될 때만 발생합니다. develop 브랜치에 merge 될 때는 무시됩니다 )
  7. img_push_multi_arch.sh 배시 스크립트 실행
  8. 도커 허브 로그인
  9. Docker Buildx 사용 설정
  10. linux/amd64 와 linux/arm64 아키텍처 지원하도록 이미지 빌드. ( amd64 이미지는 GKE 에서 사용. arm64 는 실리콘 OS 맥북에서 사용가능 )
  11. GCP 사용을 위한 CLI 설치
  12. GKE 서비스 account 연동
  13. GKE 클러스터 이름과 영역, 서비스 account 를 통한 GKE 클러스터 컨텍스트 연결
  14. kubectl apply -f ./**/ 를 통한 최종 GKE 배포

아래는 관련된 레퍼런스 들입니다 :)

Git Actions

Kubernetes

LeeJeongGi commented 8 months ago

헉,, 이렇게 까지 자세하게 설명해주시다니 !! 감사합니다.

참고해서 한번 확인해보겠습니다 👍