CI/CD 스터디 로드맵

연수김·2023년 3월 14일
0

CI/CD

목록 보기
1/1
post-thumbnail

현재 프로젝트에서 수정사항이 생길 때마다 다음의 과정을 거쳐 배포를 진행하고 있다.

  1. git push(local)
  2. git pull(cloud server)
  3. build
  4. docker-compose run

docker를 사용하고 있음에도 불구하고 왜 배포할 때마다 레포지토리를 push하고 pull하는지는 과거의 나밖에는 알지 못한다. 현재는 docker의 백그라운드 실행기능(daemon) 밖에는 활용하고 있지 못하고 있다. 또한 build될때마다 생성되는 image의 용량도 상당히 크기 때문에(약 600MB) 주기적으로 이전 버전의 images을 삭제해주어야하는 귀찮음도 있다. 때문에 무중단 배포, 파이프라이닝을 통한 배포 자동화에 대한 필요성을 느끼게 되어 CI/CD스터디를 진행하게 되었다.

다음은 요즘 핫한 ChatGPT가 짜준 CI/CD 스터디 로드맵이다.

Week 1-2: Introduction to CI/CD

  • CI/CD의 개념과 이점 소개
  • CI/CD를 구성하는 기술 및 도구 소개
  • CI/CD 구현 방법 및 구축 과정 소개

실습:

  • GitHub 계정 생성 및 로컬 Git 설치 및 설정
  • GitHub Actions를 사용한 간단한 CI 구현 (코드 컴파일 및 테스트)

Week 3-4: Version Control and Continuous Integration

  • 버전 관리 시스템 소개
  • CI의 개념과 구성
  • CI 파이프라인 구성과 실행

실습:

  • Git을 사용한 버전 관리 실습
  • Travis CI 또는 CircleCI를 사용한 CI 파이프라인 구축

Week 5-6: Continuous Delivery

  • CD의 개념과 구성
  • CD 파이프라인 구성과 실행
  • Blue-Green Deployment, Canary Release, Rolling Deployment 등 배포 전략 소개

실습:

  • AWS CodeDeploy 또는 GitLab CI/CD를 사용한 배포 파이프라인 구축
  • Blue-Green Deployment 또는 Canary Release 구현

Week 7-8: Infrastructure as Code

  • IaC의 개념과 이점 소개
  • IaC 도구(Terraform, Ansible, CloudFormation) 소개
  • IaC를 사용한 인프라스트럭처 배포 방법 소개

실습:

  • Terraform 또는 Ansible을 사용한 인프라스트럭처 배포 구현
  • AWS 또는 GCP를 사용한 인프라스트럭처 배포 구현

Week 9-10: Containerization and Orchestration

  • 컨테이너 개념과 도커 소개
  • 컨테이너 오케스트레이션 도구(Kubernetes, Docker Swarm) 소개
  • 컨테이너화된 애플리케이션의 배포 방법 소개

실습:

  • 도커를 사용한 애플리케이션 컨테이너화
  • Kubernetes 또는 Docker Swarm을 사용한 컨테이너 오케스트레이션 실습

Week 11-12: Monitoring and Logging

  • 모니터링과 로깅의 개념과 중요성 소개
  • 모니터링 도구(Prometheus, Grafana) 소개
  • 로깅 도구(ELK Stack) 소개

ChatGPT를 완전히 신뢰하고 있진 않지만, 아무것도 모르는 나보단 나을 것이라 생각해 로드맵을 따라가며 중간중간 수정할 예정이다.
다시한번 느끼는 거지만 ChatGPT무섭다;;

profile
연수돼지

0개의 댓글