[250304] CI/CD

2025. 3. 4. 16:49·BoostCamp

CI/CD

어플리케이션 개발 단계부터 배포 때까지 이 모든 단계를 자동화해서 사용자에게 빈번하게 배포할 수 있도록 만드는 것을 의미한다.

  • CI = Continuous Intergration : 지속적인 통합
  • CD = Continuous Delivery : 지속적인 제공 / Continuous Deployment : 지속적인 배포
발생 배경
요즘 빠르게 변화하고 기술이 진화하는 시대에 어떻게 빠르게 대응하고 제품을 출시하고 업데이트할 것인가를 해결하기 위해 CI/CD 개발 프로세스를 사용한다

 

CI란?

버그 수정이나 새로 만드는 기능들이 메인 레포에 주기적으로 bulid 되고 test 되어서 merge 되는 것

⇒ 빌드 / 테스트 자동화 과정

CI의 중요한 포인트

  1. 코드 변경사항을 주기적으로 빈번하게 머지해야 함
    1. 한 기능을 구현할 때 한 번에 머지하지 않고, 최대한 작은 단위로 개발하고 머지하며 통합하는 것이 중요
  2. 통합을 위한 단계 (빌드, 테스트, 머지)의 자동화
    1. 개발자가 코드 리뷰 받아서 레포에 올리면 개발팀이 만든 CI 스크립트를 통해 추가된 코드와 함께 레포가 빌드되고, 빌드 잘 되면 팀에서 작성한 여러 가지 테스트들도 스크립트를 통해 실행이 된다

CI의 장점

  1. 개발 생산성 향상
  2. 애플리케이션에 대한 새로운 변경 사항이 정기적으로 빌드 및 테스트되어 공유 레포에 통합되므로 서로 충돌할 수 있는 문제를 해결할 수 있음
  3. 문제점 빠르게 발견 → 버그 수정이 빠름
  4. 코드 퀄리티 향상
  5. CI를 잘 운영하기 위해선 내 코드 유닛테스트를 꼭 포함해야 하기 때문에 퀄이 좋아짐

CD란?

지속적 제공 또는 지속적 배포 둘 중 하나로 쓰임 → 배포 자동화 과정

Continous Delivery VS Continuous Deploy
Continuous Delivery (지속적인 제공)
바로 유저에게 배포되지 않고 Release 브랜치로 자동 배포
즉, 유저에게 배포하는 것은 수동으로 해줘야 함

Continuous Deply (지속적인 배포)
바로 유저에게 배포하는 것을 자동화

CI/CD 파이프라인 정리

  1. 개발자가 작은 단위로 나눠서 주기적으로 메인 레포에 merge
  2. 자동으로 빌드, 테스트
  3. 릴리즈 준비
  4. 수동적 또는 자동적으로 최종 배포

Github Actions

빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼

즉, 특정한 이벤트가 발생했을 때 내가 원하는 일을 자동으로 수행해줄 수 있도록 만들어주는 툴

Github Actions에서 가장 중요한 5가지 개념

  1. workflows (워크플로우) : 특정 이벤트가 발생했을 때 내가 어떤 일을 수행하고 싶냐를 명시할 수 있는 것
  2. events (이벤트) : 어떤 일이 발생했는지를 지정할 수 있음
  3. jobs (작업) : 워크플로의 단계 집합
  4. actions (액션) : 재사용할 수 있는 공개된 액션이 많음.
  5. runners (실행기) : job 하나당 하나의 runner를 가지고 있음. 워크플로우를 실행하는 서버

👉🏻 workflow 작성 파일 yml 사용 → ex) .github/workflows/workflow.yml

저작자표시 (새창열림)

'BoostCamp' 카테고리의 다른 글

[250305] HTML  (1) 2025.03.05
[250228] Git 전략과 협업 방법  (0) 2025.02.28
[250227] Git에 대해, 협업 시 버전 관리의 중요성 및 사용법  (0) 2025.02.27
'BoostCamp' 카테고리의 다른 글
  • [250305] HTML
  • [250228] Git 전략과 협업 방법
  • [250227] Git에 대해, 협업 시 버전 관리의 중요성 및 사용법
vV최강양파Vv
vV최강양파Vv
양파 갓생 살기 프로젝트
  • vV최강양파Vv
    just-stop
    vV최강양파Vv
  • 전체
    오늘
    어제
    • just-stopyoon (22)
      • Front-end (1)
        • mosAIc 리팩토링 (0)
        • React 리액트 (6)
        • SNAPINFO 리팩토링 (0)
      • BoostCamp (4)
      • Problem Solving (7)
        • 백준 (Baekjoon) (0)
        • 프로그래머스 (Programmers) (7)
      • ECONOMY (4)
        • Daily 금융 상식 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • 멍청고양이
    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    개발
    react
    가장 큰수
    the money book
    깃허브
    react개발
    front-end
    정렬
    독후감
    리액트
    파이썬
    토스
    구름톤
    코딩테스트
    금융생활
    금융상식
    PS
    코드
    코딩 문제
    큐
    프로그래머스
    CSS
    프론트엔드
    구름톤챌린지
    gihub
    해시
    코딩
    독서
    책 후기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
vV최강양파Vv
[250304] CI/CD
상단으로

티스토리툴바