FE/리뷰

[모던 리액트 딥다이브] 9장

따봉치치 2024. 9. 4. 20:18

CI
  • 코드의 변화를 모으고 관리하는 코드 중앙 저장소에서 여러 기여자가 기여한 코드를 지속적으로 빌드하고 테스트해 코드의 정합성을 확인하는 과정
  • 전체 소프트웨어의 정합성을 확인하기 위한 작업(테스트, 빌드, 정적 분석, 보안 취약점 분석)을 자동으로 실행해야 함

 

 

깃허브 액션
  • 깃허브 저장소를 기반으로 CI를 구축하고자 할 때 매우 유용하게 사용할 수 있음
  • 러너
    • 파일로 작성된 깃허브 액션이 실행되는 서버
    • 특별히 지정하지 않으면 공용 깃허브 액션 서버를 이용
    • 별도의 러너를 구축할 수 있음
  • 액션
    • 러너에서 실행되는 하나의 작업 단위
    • yaml 파일로 작성된 내용을 하나의 액션으로 볼 수 있음
  • 이벤트
    • 깃허브 액션의 실행을 일으키는 이벤트
    • pull request
    • issues
    • push
    • schedule : 저장소에서 발생하는 이벤트와 별개로 특정 시간에 실행되는 이벤트
    • 하나의 러너에서 실행되는 여러 스텝의 모음
    • 하나의 액션에서 여러 잡을 생성할 수 있음
    • 특별히 선언한게 없다면 내부 가상머신에서 각 잡을 병렬로 실행함
  • 스텝
    • 잡 내부에서 일어나는 하나하나의 작업
    • 병렬로 일어나지 않음

 

 

yaml 파일
  • name : 액션의 이름
  • run-name : 액션이 실행될 때 구별할 수 있는 타이틀명
  • on : 언제 이 액션을 실행할지 정의
  • jobs : 해당 액션에서 수행할 잡
    • jobs.build : 작업의 내용
    • jobs.build.run-on : 어느 환경에서 해당 작업이 실행될지를 결정
    • jobs.build.steps : 해당 잡에서 순차적으로 수행할 작업을 정의

 

 

 

package.json의 dependencies
  • 버전
    • 주.부.수로 구성돼어 있음
    • 기존 버전과 호환되지 않게 API가 바뀌면 '주 버전'을 올림
    • 기존 버전과 호환되면서 새로운 기능을 추가할 때는 '부 버전'을 올림
    • 기존 버전과 호환되면서 버그를 수정한 것이라면 '수 버전'을 올림
  • 의존성
    • dependencies : npm 프로젝트를 운영하는 데 필요한 자신 외의 npm 라이브러리를 정의해 둔 목록

 

- react@16.0.0 : 버전 앞에 아무런 특수 기호가 없다면 정확히 해당 버전에 대해서만 의존하고 있다는 뜻
- react@^16.0.0 : 16.0.0과 호환되는 버전을 의미. 즉, 가능한 버전은 16.0.0부터 17.0.0 미만의 모든 버전
- react@~16.0.0 : 패치 버전에 대해서만 호환되는 버전. 즉, 가능한 버전은 16.0.0부터 16.1.0 미만의 모든 버전

 

 

Netlify
  • 웹 애플리케이션을 배포할 수 있도록 도와주는 클라우드 컴퓨팅 서비스

 

Vercel
  • 클라우드 플랫폼 서비스

 

 

DigitalOcean
  • 미국의 클라우드 컴퓨팅, 호스팅 플랫폼 업체