Github Actions

2024. 10. 10. 23:22기타

728x90

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는 다양한 운영 체제 및 하드웨어 구성을 호스팅 러너에 제공하거나 보다 전문적인 요구 사항을 위해 자체 호스팅 러너를 설정할 수 있습니다.

728x90

'기타' 카테고리의 다른 글

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