github actions란

continuous integration and continuous delivery (CI/CD) platform

지속적 통합 및 배포

빌드, 테스트, 배포 파이프라인 자동화 가능

DevOps를 넘어서 repository에 다른 이벤트가 생겼을 때 workflows를 실행하게 해준다

예를 들어 누군가가 레포에 새로운 이슈를 생성했을 때마다 적절한 라벨을 자동으로 추가하도록 workflow를 실행할 수 있다.

workflow 실행을 위해 Linux, Windows, macOS virtual machines를 제공한다.

혹은 self-hosted runners를 host할 수도 있다.

구성요소는?

Untitled

우리는 레포에 특정 이벤트가 발생하였을 때의 github actions workflow를 구성할 수 있고

workflow는 하나 이상의 jobs를 포함할 수 있다. sequential하게 실행될수도, parallel하게 실행될수도 있다. 각 job은 내부에서 각각의 virtual machine runner나 container내에서 내부적으로 수행되고 하나이상의 steps를 가진다. steps는 script를 실행하거나 action을 수행하고 이 단계는 워크플로우를 단순화할 수 있는 재사용 가능한 확장입니다.

workflows

github actions의 최상위 개념. 하나 이상의 jobs를 수행하는 자동화 프로세스

yaml파일로 정의된다.

특정 목적을 위한 일련의 실행 트리거, 환경, 기능 등을 모두 포함

.github/workflows 폴더 아래에 작성

여러개의 workflow파일 존재 가능

on 속성이 언제 실행될지를 결정하는데