Github Action이란?
CI(Continuous Integration)서버란 ?
App 개발자라면 App 소스코드를 짠 후 Build하고, 여러가지 Test도 하고, 그리고 최종 결과물을 특정 장소에 저장하는 Deployment(배포) 를 하곤 한다. 한마디로 개발자들은 코딩한 다음 Build, Test, Deploy 작업을 수행하는데 이를 자동으로 해주는 프로그램이 CI서버이다. 배포서버는 최종결과물을 저장하는 컴퓨터이다. CI서버가 빌드, Test 후에 배포서버로 최종 배포를 하는 것이다.
CI는 Continuous Integration의 약자로 지속적인 통합이라는 뜻이다. 지속적이라는 뜻은 늘 작동 대기 중이라는 뜻이다. 지속적으로 서비스를 한다라는 뜻이다. 통합이라는 뜻은 기본적으로 소스코드를 통합한다라는 뜻이다. 여러사람들이 GIt 같은 버전관리툴에 올린 내용들을 하나로 다운받아서 통합해서 빌드한다.
GitHub Actions는 GitHub에서 제공하는 워크플로우(Workflow) 자동화 도구다. 워크플로우라는 단어가 의미하듯 테스트, 빌드, 배포 뿐 아니라 다양한 작업을 만들어서 자동으로 실행하게 할 수 있다. PR에 특정 코멘트를 남기면 자동으로 머지를 하게 만들 수 있고, 데이터를 수집하는 데에 이용할 수도 있다.
- 개발 과정에서 발생하는 워크 플로우를 자동화 할 수 있는도구
- 빌드 / 테스트 /커버리지 /배포가지 진행 할 수 있다.
사용법
- .github/workflows 아래에 action이 작성된 xxx.yml 파일을 추가한다.
- github의 tab에서 action으로 확인 할 수 있다.
Action과 Workflow
Action은 사용자가 작성하는 실행가능한 코드 덩어리 이다. 하나의 작업을 설명한다.
Workflow는 Action을 실행하는 환경 단계를 서술한다. 하나의 Workflow는 여러개의 Action을 실행할 수 있다. 그래서 이름이 GitHub Actions다. Actions 페이지에 들어가 보면 저장소에서 사용하는 기술에 맞는 Workflow 템플릿을 추천 해준다(다양한 예제 제공).