2024. 10. 10. 23:22ㆍ기타
Github Actions란
Github Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼입니다. repository에 대한 모든 pull 요청을 빌드 및 테스트하거나 병합된 끌어오기 요청을 프로덕션에 배포하는 워크플로를 만들 수 있습니다.
Github Actions의 특징
- 컨테이너(도커) 기반으로 동작
- 개발자는 워크플로를 작성하여 다양한 이벤트를 기반으로 실행 가능
- 워크플로는 runners라 불리는 인스턴스 내에서 실행됨
- Github 마켓 플레이스에서 여러 사람이 공유한 워크플로를 찾아서 사용할 수도 있고 직접 만들어서 공유도 가능
- YAML로 작성
Github Actions의 장점
- 별도의 서버 설치가 불필요. 제공해주는 클라우드가 있음
- 비동기적 병렬 실행이 가능한 CI/CD
- Github에서 제공하는 완전 관리형 서비스이므로 설정이 쉬움
Github Actions의 단점
- 캐싱이 필요한 경우에는 자체 캐싱 로직을 작성해야함
- 서버 장애가 일어나거나 리소스를 초과할 경우 개발자가 직접 문제를 해결해야함
Github Actions의 구성 요소
워크플로
워크플로는 Github Actions의 기본 구성 단위입니다. 일반적으로 .github/workflows/**.yml
이라는 YAML 파일에 정의됩니다. 워크플로는 하나 이상의 작업을 포함할 수 있으며 repository에서 push 혹은 pull 요청과 같은 이벤트에 의해 트리거됩니다.
이벤트
이벤트는 워크플로를 시작하는 트리거입니다. 일반적인 이벤트는 push, pull_request 및 일정이 포함됩니다. 특정 요구사항에 따라 워크프롤를 트리거하는 사용자 지정 이벤트를 만들 수도 있습니다.
작업
작업은 워크플로 내에서 실행되는 개별 작업입니다. 러너라는 가상 머신에서 실행되며 하나 이상의 단계를 포함할 수 있습니다. 작업은 종속성에 따라 병렬 혹은 순차적으로 실행될 수 있습니다.
단계
단계는 작업 내 작업의 가장 작은 단위입니다. 각 단계는 셀 명령을 실행하거나 작업을 실행할 수 있습니다. 단계는 워크플로 파일에 지정된 순서대로 실행되며 각 단계는 동일한 실행기 인스턴스 내에서 실행됩니다.
Runners
Runners는 작업이 실행되는 가상 머신 또는 자체 호스팅 환경입니다. Github는 다양한 운영 체제 및 하드웨어 구성을 호스팅 러너에 제공하거나 보다 전문적인 요구 사항을 위해 자체 호스팅 러너를 설정할 수 있습니다.
'기타' 카테고리의 다른 글
Kafka가 빠른 이유 (0) | 2024.07.25 |
---|---|
WEB 3.0 (0) | 2023.12.24 |
3-Tier Architecture (0) | 2023.11.01 |
Ansible (0) | 2021.12.27 |
Vuex (0) | 2021.06.01 |