1. Github Actions
- Github Actions는 개발자가 코드를 빌드하고 테스트를 위해 배포 파이프라인을 자동화 할수 있는 CI/CD 플랫폼을 말한다.
2. Github Action 특징
- repository에 대한 모든 pull request를 빌드 및 테스트하는 workflow를 생성하거나 병합된 pull request를 프로덕션에 배포할 수 있다.
- repository에서 다른 이벤트가 발생할 때 workflow를 실행할 수 있도록 한다.
- 누군가가 저장소에 새로운 이슈를 생성할 때마다 적절한 레이블을 자동으로 추가하는 workflow를 실행할 수 있다.
- workflow를 실행하기 위해 가상 머신을 제공하거나 자체 데이터 센터 또는 클라우드 인프라에서 자체 호스팅 러너를 호스팅할 수 있음
3. Github Action 요소 종류
- workflows : 워크 플로우는 하나 이상의 job으로 구성되고 event에 의해 트리거될 수 있는 자동화된 프로세스이며, YAML으로 작성되고 Github Repository의 .github/workflows 폴더 아래에 저장한다. repository에는 여러 workflow를 가질 수 있으며 각 workflow는 서로 다른 작업을 수행할 수 있다.
(워크 플로우는 다양한 job으로 구성되어 있고 병렬로 수행한다)
- actions : 워크 플로우의 가장 작은 블럭으로 jobs를 만들기 위해 step들을 연결할 수 있으며, 재사용이 가능한 컴포넌트로서 반복적인 코드의 양을 줄일 수 있고 git repository를 가져오거나 클라우드 공급자에게 인증을 설정할 수도 있다.
- events : 워크 플로우의 실행을 트리거하는 특정 활동이나 규칙을 말한다.
- jobs : 여러 step으로 구성되고 가상 환경의 인스턴스에서 실행되며, 다른 job에 의존 관계를 가질 수 있고 독립적으로 병렬 실행도 가능하다.
- steps : task들의 집합으로 커맨드를 날리거나 쉘 스크립트 실행하는 것처럼 action을 실행할 수 있다.
(또한, 개인적으로 만든 action을 작성할 수도 있고 github marketplace에 있는 공용 action을 사용도 가능하다)
- runners : 워크 플로우가 트리거될 때 실행하는 서버이며, 각 runner는 1번에 1개의 job을 실행할 수 있습니다. Github에서 호스팅해주는 Github-hosted runner와 직접 호스팅하는 Self-hosted runner로 나뉜다.
4. Github Action - 워크 플로우 생성하기 (실습)
- 자신의 Github repository의 Actions를 클릭한다.(깃허브 레포지토리를 생성했다는 점에서 진행)
- 다음과 같은 화면이 나오면, set up a workflow yourself 버튼을 클릭해준다.
- 그러면 명령어들을 작성할 수 있는 yml로 이동하게 되고 작성할 수 있는 상태로 변경된다.
- 처음엔 X 표시가 뜰때가 있는데 당황하지 말고 Create first.yml를 클릭한다.
- 들어가서 확인해보면 에러 원인을 찾아서 확인한다. 해당 에러는 jobs 라는 키워드가 명시(defined)되어 있지 않아서 생긴 에러임을 알수 있다.
- 다시 원상태로 돌아오면 first.yml라는 파란색 버튼이 생기는데 클릭해서 들어간다.
- 연필 모양 버튼을 클릭해서 들어가면 Editing이 가능하다.
Github Actions - repository
여기를 클릭하시면 Github Actions 실습 내용을 확인하실 수 있습니다.
Reference