728x90
728x90
GitHub Actions
: GitHub에서 제공하는 자동화 도구로, CI/CD(Continuous Integration and Continuous Deployment)를 쉽게 설정할 수 있도록 지원합니다. 이를 통해 소프트웨어 빌드, 테스트, 배포 등의 작업을 자동화할 수 있습니다.
주요 기능
- 자동화 워크플로 생성:
- push, pull_request, release 등의 이벤트에 반응하여 작업을 자동화.
- 예: 코드를 푸시하면 테스트 및 빌드가 실행됨.
- 유연한 실행 환경:
- 다양한 OS 및 언어 지원:
- Ubuntu, Windows, macOS
- Node.js, Python, Java, Ruby 등 대부분의 언어 지원.
- 다양한 OS 및 언어 지원:
- 컨테이너 지원:
- Docker를 사용하여 원하는 실행 환경을 쉽게 정의.
- 커뮤니티 액션:
- GitHub Marketplace에서 제공되는 수많은 공개 액션을 활용 가능.
- 예: actions/checkout, actions/setup-node.
- 통합 배포:
- CI/CD 파이프라인에서 직접 AWS, Azure, Google Cloud 등으로 배포 가능.
GitHub Actions의 구성 요소
GitHub Actions는 워크플로(Workflow) 단위로 작업이 실행되며, 주요 구성 요소는 다음과 같습니다:
- 이벤트(Events):
- 워크플로를 트리거하는 GitHub 이벤트.
- 예: push, pull_request, schedule(크론 작업), release.
- 워크플로 파일(Workflow File):
- .github/workflows 디렉토리에 작성된 YAML 파일.
- 워크플로 정의 및 실행 내용을 설정.
- 잡(Jobs):
- 워크플로의 구성 단위로, 병렬 또는 순차적으로 실행.
- 각 잡은 단일 실행 환경에서 동작.
- 스텝(Steps):
- 잡 내부에서 실행되는 작업 단위.
- 명령어 실행(run) 또는 액션(uses) 사용 가능.
- 액션(Actions):
- GitHub Actions의 재사용 가능한 작업.
- GitHub Marketplace에서 다양한 액션을 찾아서 사용 가능.
GitHub Actions를 사용하는 이유
- 완벽한 통합:
- GitHub 리포지토리와 직접 연동되므로 별도의 CI/CD 도구를 설정할 필요 없음.
- 자동화로 시간 절약:
- 코드 푸시 후 테스트, 빌드, 배포까지 자동화 가능.
- 유연성과 확장성:
- 원하는 환경과 작업 흐름에 맞게 워크플로를 커스터마이징.
- 무료 사용:
- 퍼블릭 리포지토리는 무료로 사용 가능.
- 프라이빗 리포지토리도 제한된 무료 실행 시간 제공.
GitHub Actions의 일반적인 사용 예
- 코드 푸시 시 자동 테스트:
- 브랜치에 코드를 푸시하면 테스트와 빌드가 실행.
- 코드 병합 시 린트 검사:
- Pull Request가 생성되면 린트와 테스트 자동 실행.
- 배포 자동화:
- 코드가 병합되면 AWS, Firebase, Netlify 등으로 자동 배포.
- 정기 작업 실행:
- 매일 새벽 데이터 백업 등 주기적인 작업 수행.
GitHub Actions를 시작하려면
- 리포지토리 루트에 .github/workflows 폴더를 생성.
- 그 안에 YAML 형식의 워크플로 파일을 작성.
- 커밋 후 GitHub의 Actions 탭에서 실행 상태를 확인.
728x90
728x90
'React > 개발' 카테고리의 다른 글
| React 카카오 로그인 개발 #2 - 로그인 화면 만들기 (2) | 2023.12.14 |
|---|---|
| React 카카오 로그인 개발 #1 - 카카오 개발자 센터 세팅 (1) | 2023.12.14 |
댓글