GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 *CI/CD(지속적 통합 및 지속적 전달) 플랫폼입니다. Repository에 대한 모든 pull request들을 빌드 및 테스트하거나 병합된 pull request들을 프로덕션에 배포하는 워크플로를 만들 수 있습니다.
CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "인테그레이션 헬(integration hell)")을 해결하기 위한 솔루션입니다.
특히, CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축 사례를 일반적으로 "CI/CD 파이프라인"이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원됩니다.
CI/CD 종류
Jenkins
CircleCI
TravisCI
Github Actions
그 외
Github Action 개념
Workflows
Workflow는 직역하면 일의 흐름, 즉 여러 Job으로 구성되고 Event 실행(Trigger)가 자동화된 과정을 말한다. .yaml(yml)이라느 확장명으로 저장하며 .github/workflows 폴더에 저장된다.