Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
ghkdqhrbals opened this issue Mar 16, 2024 · 1 comment
Closed

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

ghkdqhrbals opened this issue Mar 16, 2024 · 1 comment
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@ghkdqhrbals
Copy link
Member

ghkdqhrbals commented Mar 16, 2024

@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

  • Deployment, Service, PV, PVC 설정
    • 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 책
  • GCP Persistance Disk 생성 방법 : https://cloud.google.com/compute/docs/disks/create-disk-from-source?hl=ko#expandable-1
  • GKE 클러스터, 노드 풀 설정 : 스탠다드 선택하고 문서없이 쉽게 설정 가능. 개인 AWS-EKS 사용경험을 토대로 설정(대부분의 기능이 비슷함).
  • GKE 인그레스 서비스 설정 : GCP API 가 아닌 자체 Nginx 파드와 서비스 배포를 통해 자동으로 API 서비스에 등록 가능(helm 설치하면 ingress IP 노출 가능).
  • Nginx 인그레스 라우팅 룰 : chatgpt (하지만 오류가 상당히 많음)
@ghkdqhrbals ghkdqhrbals self-assigned this Mar 16, 2024
@ghkdqhrbals ghkdqhrbals added the documentation Improvements or additions to documentation label Mar 16, 2024
@ghkdqhrbals ghkdqhrbals pinned this issue Mar 16, 2024
@ghkdqhrbals ghkdqhrbals changed the title CI/CD 레퍼런스 CI/CD reference Mar 16, 2024
@LeeJeongGi
Copy link
Member

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

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

@ghkdqhrbals ghkdqhrbals changed the title CI/CD reference 적용중인 CI/CD 및 관련 레퍼런스 Mar 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
Status: Done
Development

No branches or pull requests

2 participants