Skip to content

15. CI&CD 설정

Hyuntaek Oh edited this page Jan 9, 2021 · 2 revisions
  • Agora의 CI/CD의 구성과 적용 과정에서 경험한 내용을 적는 공간입니다.

📌 CI 프로세스

Sublime's custom image

  1. Commit을 하고 원격 레포지토리에 Push를 합니다.
  2. GitHub API을 통해 Webhook을 발생하도록 설정합니다.
  3. Jenkins가 Polling을 하면서 Webhook을 인지하면 빌드를 시작합니다.
  4. 빌드 성공여부
    • 빌드 성공: Unit Test를 진행합니다.
    • 빌드 실패: 통합을 할 수 없으므로 기능을 수정합니다.
  5. 단위 테스트 성공여부
    • 단위 테스트 성공: 통합을 성공합니다.
    • 단위 테스트 실패: 통합을 할 수 없으므로 기능을 수정합니다.

📌 CD 프로세스

Sublime's custom image

  1. Jenkins 서버에서 Git Parameter를 입력합니다.
  2. 입력한 브랜치를 Checkout 합니다.
  3. 브랜치를 빌드한 뒤, 레포지토리에 Dockerfile을 읽어서 Docker Image 생성합니다.
  4. Docker Hub에 업로드합니다.
  5. SSH 명령을 통해 배포 서버에서 Docker Hub에 저장된 Image를 Pull하고 컨테이너를 실행하도록 합니다.

📌 CI/CD 적용과정

1. 지속적인 통합(Continuous-Integration) & 지속적인 배포(Continuous-Deploy) 적용하기 - 1편(CI란 무엇인가?)

https://hyuntaeknote.tistory.com/9

Clone this wiki locally