티스토리 뷰

컴퓨터 공학 및 알고리즘

CI/CD

네스사 2023. 6. 5. 13:40

CI/CD


  • CI/CD는 지속적인 통합(Continuous Integration)을 의미하는 CI와 지속적인 배포(Continuous Deployment)을 의미하는 CD로 구성된 소프트웨어 개발 방법론입니다.
  • CI/CD를 사용하면 개발자들은 새로운 코드 변경 사항을 개별적으로 통합하고, 자동화된 빌드 및 배포 프로세스를 통해 테스트와 프로덕션 환경으로 지속적으로 전달할 수 있습니다. 
  • 이러한 방법론을 사용하면 개발자는 더 빠르게 소프트웨어를 개발하고, 버그를 더 빠르게 찾아내며, 안정적인 애플리케이션 배포를 달성할 수 있습니다.

 

 

CI/CD의 단계


  • CI/CD는 위와 같은 순서로 진행되며, Code,Build,Test 부분은 CI이고 Release - Deploy - Operate은 CD입니다.
  • CI는 개발자들이 작성한 코드를 자동으로 빌드하고 테스트하는 자동화 프로세스입니다.
  • Code는 개발자가 코드를 원격 코드 저장소 (Ex. github repository)에 push하는 단계입니다.
  • Build는 원격 코드 저장소로부터 코드를 가져와 유닛 테스트 후 빌드하는 단계입니다.
  • Test는 코드 빌드의 결과물이 다른 컴포넌트와 잘 통합되는지 확인하는 과정입니다.
  • 개발자들은 작업한 코드를 잦은 풀 리퀘스트와 머지로 주기적으로 통합함으로써 충돌이나 문제를 조기에 발견하고 해결할 수 있습니다.
  • CD는 지속적인 서비스 제공(Continuous Delivery) 및 지속적인 배포(Continuous Deployment)를 의미하며,빌드된 코드를 자동으로 배포하는 과정입니다.
  • Release는 배포 가능한 소프트웨어 패키지를 작성합니다.
  • Deploy는 프로비저닝을 실행하고 서비스를 사용자에게 노출하는 실질적인 배포를 담당하는 부분입니다.
  • Operate는 서비스 현황을 파악하고 생길 수 있는 문제를 감지합니다.
  • 프로세스를 통해, 준비가 완료된 빌드를 코드 리포지토리에 자동으로 배포할 수 있기 때문에 운영팀이 보다 빠르고 손쉽게 애플리케이션을 프로덕션으로 배포할 수 있게 됩니다

 

 

Github Action


  • GitHub Actions는 Github가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼입니다. 레포지토리의 action 탭에서 사용가능합니다.
  • 레포지토리에서 Pull Requestpush 같은 이벤트를 트리거로 GitHub의 자동화 프로세스인 워크플로우(Workflow)를 구성하여, 각 작업은 자체 가상 머신 또는 컨테이너 내부에서 실행됩니다.
  • 워크플로우는 .yml (혹은 .yaml ) 파일에 의해 구성되며,  .github/workflows 디렉토리 이하에 위치합니다.
  • 테스트, 배포 등 기능에 따라 여러 개의 워크플로우로도 만들 수 있습니다. 

 

 

 

 

'컴퓨터 공학 및 알고리즘' 카테고리의 다른 글

YAML  (0) 2023.06.05
자료구조-그래프  (1) 2023.05.11
자료구조-트리  (0) 2023.05.11
자료구조-스택,큐  (0) 2023.05.10
HTTPS  (0) 2023.05.01
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함