Github Actions - Overview

wondi·2025년 1월 22일

인프라구축/CI&CD

목록 보기
1/10

Understanding Github Actions

⌗ Overview

  • Github Actions는 CI/CD(지속적 통합 및 배포)플랫폼으로, 빌드, 테스트, 배포 파이프라인을 자동화해준다.
  • 저장소의 모든 풀 리퀘스트를 빌드하고 테스트하거나, 병합된 풀 리퀘스트를 프로덕션에 배포하는 워크플로우를 만들 수 있다.
  • Github Actions는 DevOps를 넘어서 저장소에서 다른 이벤트가 발생할 때도 워크플로우를 실행할 수 있게 해준다.
    • 저장소에 새로운 이슈를 생성할 때마다 자동으로 적절한 레이블을 추가하는 워크플로우를 실행할 수 있다.
  • GitHub는 워크플로우를 실행하기 위한 Linux, Windows, Mac os 가상머신을 제공하거나, 자체 데이터 센터 or 클라우드 인프라에 self-hosted runners(자체 호스팅 실행기)를 호스팅할 수 있다.

⌗ The components of GitHub Actions

  • Github Actions 워크플로우는 저장소에서 풀리퀘스트가 열리거나 이슈가 생성되는 것과 같은 이벤트가 발생할 때 트리거되도록 구성할 수 있다.
  • 워크플로우는 순차적으로 or 병력적으로 실행될 수 있는 하나 이상의 작업을 포함한다.
  • 각 작업은 자체 가상 머신 러너 또는 컨테이너 내에서 실행되며, 사용자가 정의한 스크립트를 실행하거나 워크플로우를 단순화할 수 있는 재사용 가능한 확장인 액션을 실행하는 하나 이상의 단!
    계를 가진다.

⌗ Workflows

  • 워크플로우는 하나 이상의 작업을 실행하는 구성 가능한 자동화 프로세스다.

  • 워크플로우는 저장소에 체크인된 YAML 파일로 정의되며, 저장소의 이벤트에 의해 트리거되거나 수동으로 또는 정의된 일정에 따라 트리거될 수 있다.

  • 워크플로우는 저장소의 '.github/workflows' 디렉토리에 정의된다.

  • 하나의 저장소는 다음과 같은 다양한 작업을 수행할 수 있는 여러 워크플로우를 가질 수 있다.

    • 풀 리퀘스트 빌드 및 테스트
    • 릴리스가 생성될 때마다 애플리케이션 배포
    • 새로운 이슈가 열릴 때마다 레이블 추가

⌗ Events

  • 이벤트는 워크플로우 실행을 트리거하는 저장소의 특정 활동이다.
  • 풀리퀘스트 생성, 이슈열기, 커밋을 푸시할 때 github활동이 시작될 수 있다.
  • 수동으로 워크플로우를 트리거 할 수 있다.

⌗ Jobs

  • 작업은 동일한 러너에서 실행되는 워크플로우의 단계 집합이다.
  • 각 단계는 실행될 쉘 스크립트이거나 실행될 액션이다.
  • 단계는 순서대로 실행되며 서로 종속적이다.
  • 각 단계가 동일한 러너에서 실행되므로 한 단계에서 다른 단계로 데이터를 공유할 수 있다.

⌗ Actions

  • 액션은 복잡하지만 자주 반복되는 작업을 수행하는 Github Actions 플랫폼용 커스텀 애플리케이션이다.
  • 액션을 사용하면 워크플로우 파일에 작성하는 반복적인 코드의 양을 줄일 수 있다.

⌗ Runners

  • 러너는 워크플로우가 트리거될 때 이를 실행하는 서버다.
  • 각 러너는 한 번에 하나의 작업을 실행할 수 있다.
  • Github는 워크플로우를 실행하기 위한 Ubuntu, Linux, Microsoft Windows, mac os러너를 제공한다.
  • 각 워크플로우 실행은 새로 프로비저닝된 가상머신에서 실행된다.
profile
Developer Wondi

0개의 댓글