🚀 94sssh
Published on

2025.05.24

[리액트 딥다이브] - 09. 모던 리액트 개발 도구로 개발 및 배포 환경 구축하기

9.2. 깃허브 100% 활용하기

9.2.1. 깃허브 액션으로 CI 환경 구축하기

깃허브 액션의 기본 개념

  • 러너(runner): 깃허브 액션이 실행되는 서버
  • 액션(action): 러너에서 실행되는 하나의 작업 단위
  • 이벤트(event): 깃허브 액션의 실행을 일으키는 이벤트
    • pull_request: PR 관련 이벤트
    • issues: 이슈 관련 이벤트
    • push: 푸시 발생 시 이벤트
    • schedule: 저장소 이벤트와 별개로 특정 시간에 실행되는 이벤트
  • 잡(jobs): 하나의 러너에서 실행되는 여러 스텝의 모음
  • 스텝(steps): 잡 내부에서 일어나는 하나하나의 작업

9.4. 리액트 애플리케이션 도커라이즈하기

9.4.1. 리액트 앱을 도커라이즈하는 방법

도커: 개발자가 모던 애플리케이션을 구축, 공유, 실행하는 것을 도와줄 수 있도록 설계된 플랫폼

애플리케이션을 하나의 컨테이너로 만들어 배포하면 최소한의 환경에서 빠르게 배포할 수 있고, Vercel 등과 같은 특정 배포 서비스에 종속적이지 않아 유연하게 관리할 수 있음.

  • 도커라이즈: 애플리케이션을 도커 이미지로 만드는 과정

도커는 컨테이너를 독립된 환경에서 애플리케이션이 항상 일관되게 실행할 수 있도록 보장

도커 용어

  • 이미지: 컨테이너를 만드는 데 사용되는 템플릿
  • 컨테이너: 도커의 이미지를 실행한 상태, 운영체제, 파일 시스템, 자원 및 네트워크 등이 실행될 수 있는 독립된 공간
  • DockerFile: 어떤 이미지 파일을 만들지 정의하는 파일, 도커라이즈라는 이 DockerFile을 만드는 것
  • 태그: 이미지를 식별할 수 있는 레이블 값. ubuntu:latest에서 ubuntu는 이미지 이름이고 latest는 태그명
  • 리포지토리: 이미지를 모아두는 저장소
  • 레지스트리: 리포지토리에 접근할 수 있게 해주는 서비스, 대표적으로 도커 허브

자주 쓰는 도커 CLI 명령어

  • docker build: DockerFile을 기준으로 이미지를 빌드하는 작업
  • docker push: 이미지나 리포지토리를 도커 레지스트리에 업로드하는 과정
  • docker tag: 이미지에 태그를 생성
  • docker inspect: 이미지나 컨테이너의 세부 정보를 출력
  • docker run: 이미지를 기반으로 새로운 컨테이너를 생성
  • docker ps: 현재 가동 중인 컨테이너 목록을 확인
  • docker rm: docker rm '이미지명'으로 컨테이너를 삭제