Github Actions로 업무 자동화 도입하기 #1 : Github Actions란?

2024. 7. 29. 13:46개발/버전 관리

728x90
반응형

현재 나의 목표가 하나 있다.

회사 내 앱에 Github Actions를 도입하여 앱 검수 요청까지 완료하기 !!

그러기 위해선 우선 Github Actions가 무엇인지 확인해봐야 한다.

 

참고: https://docs.github.com/ko/actions/learn-github-actions/understanding-github-actions


1. Github Actions란?

GitHub Actions는 연속 통합 및 연속 배포(CI/CD) 플랫폼으로, 빌드, 테스트, 배포 파이프라인을 자동화할 수 있게 해준다.

예를 들어, 저장소에 새로운 Pull-Request가 생기면 이를 빌드하고 테스트하는 workflows를 만들거나,

병합된 Pull-Request를 프로덕션에 배포하는 작업을 자동화할 수 있다.

GitHub Actions는 DevOps에 국한되지 않고, 저장소에서 발생하는 다른 이벤트에도 workflows를 실행할 수 있다.

예를 들어, 새로운 이슈가 생성되면 자동으로 적절한 라벨을 추가하는 workflows 실행할 수 있다.

GitHub에서는 Linux, Windows, macOS 가상 머신을 제공하여 워크플로를 실행할 수 있으며,

자체 데이터 센터나 클라우드 인프라에서 직접 호스팅하는 셀프 호스티드 러너도 사용할 수 있다.

 

2. Github Actions 구성 요소

  • 이벤트(Event): 저장소에서 Pull-Request가 열리거나 이슈가 생성되는 등의 이벤트가 발생하면 GitHub Actions Workflows가 트리거 됨
  • 워크플로(Workflows): 이벤트가 발생할 때 실행되는 자동화된 작업의 모음. 워크플로는 하나 이상의 작업(Job)으로 구성
  • 작업(Job): 워크플로 내에서 실행되는 개별 작업 단위. 작업은 순차적으로 실행되거나 병렬로 실행될 수 있다.
  • 러너(Runner): 각 작업은 자체 가상 머신 러너 또는 컨테이너 내에서 실행
  • 단계(Step): 각 작업 내에서 실행되는 개별 명령어 또는 스크립트입니다. 단계는 직접 정의한 스크립트를 실행하거나, 워크플로를 간소화할 수 있는 재사용 가능한 확장인 액션(Action)을 실행할 수 있다.

예를 들어, 이벤트가 발생하면 Runner 1이 Job 1을 실행하고, Job 1이 완료되면 Runner 2가 Job 2를 실행하는 다이어그램을 생각해 볼 수 있다.

각 작업(Job)은 여러 단계(Step)로 나뉜다.


각 구성요소에 대한 자세한 내용은 다음 챕터에서 다룰 예정

 

 

 

728x90
반응형