CI/CD와 GitHub Actions: 초보자도 5분만에 이해하는 방법
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

CI/CD를 위한 GitHub Actions: 5분 안에 이해하기

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

- 초보 개발자CI/CD에 대한 두려움이 있는 프로그래머

- 난이도 관점: 중간 수준의 이해가 필요하지만, 코드 중심 접근으로 쉽게 시작 가능

핵심 요약

  • CI/CD는 이벤트 기반의 함수(Functions)로 구성된 워크플로우
  • GitHub Actions에서 사전 정의된 액션(Actions)을 활용한 재사용 가능한 워크플로우 구조
  • 예제: npm init, actions/checkout@v3, actions/setup-node@v3 등을 기반으로 한 Node.js 프로젝트 CI 설정

섹션별 세부 요약

1. CI/CD의 개념 재정의

  • CI/CD는 단순한 함수(Functions)의 조합
  • "이벤트(Event)"가 트리거로 작동하는 "스텝(Step)" 단위로 구성
  • 예시: downloadNodejs(), checkOutTheRepo() 등이 각각의 스텝

2. 워크플로우(Worflow) 구조

  • 워크플로우는 여러 스텝을 포함하는 고차함수(Higher-order Function)
  • 이벤트 발생 시 자동 실행 (예: push, pull request)
  • 예시: event.emit("myevent")로 워크플로우 실행

3. GitHub Actions 기반 CI 설정 예제

  • npm 프로젝트 생성 및 테스트 설정

- npm init -y, npm i -D mocha

- main.jstest/app.js 파일 구조 정의

  • GitHub Actions 워크플로우 파일 구성

- .github/workflows/ci_add.yml 파일 생성

- actions/checkout@v3, actions/setup-node@v3 등 사전 정의 액션 활용

  • 워크플로우 실행 조건 정의

- on: push 이벤트로 트리거

- runs-on: ubuntu-latest 환경 설정

4. CD(Continuous Deployment)의 확장성

  • CI와 CD는 유사한 원리 적용

- npm 배포, GitHub Pages 배포, Google Play 등에도 API 활용 가능

- "이벤트 기반의 함수" 개념 유지

결론

  • CI/CD는 코드로 작성한 이벤트 기반의 함수로, GitHub Actions의 사전 정의 액션을 활용하면 간단히 구현 가능
  • 실무 적용 팁: actions/checkout@v3actions/setup-node@v3 액션을 재사용하여 워크플로우 효율성 확보
  • 핵심 메시지: CI/CD는 "코드"로 접근하면 복잡한 DevOps 용어가 간단해지는 도구임