Github Action
Github에서 제공하는 CI, CD를 위한 서비스.
WorkFlows
- action에서 가장 상위 개념
- .github/workflows 폴더 아래에 위치한 YAML 파일로 설정.
- 하나의 코드 저장소에는 여러개의 WorkFlow를 생성할 수 있다.
- on 속성으로 트리거 설정. (특정 브랜치에 특정 동작 혹은 특정 시간)
Jobs
- 가상머신 혹은 컨테이너에 돌아가는 하나의 처리 단위
- runs-on 속성으로 실행 환경 설정 (linux, window etc)
Steps
- jobs에 설정하는 속성으로 작업의 순서를 정의하는 것
- run 속성으로 커맨드나 스크립트 실행
- uses속성으로 액션을 사용
Actions
- 빈번하게 필요한 반복 단계를 재사용하기 용이하도록 제공되는 일종의 작업 공유 메커니즘
- 대포적으로 체크아웃 액션이 있으며 CI/CD 작업은 코드 저장소로 부터 코드를 작업 실행 환경으로 내려받는 것으로 시작하므로 해당 액션이 아주 많이 사용됨.
- 마켓플레이스에는 공개해놓은 다양한 액션이 존재.
진행중인 사내 레포에서 사용되고 있는 action들 파악해보자.
- checkout@v3
- 나의 레포를 체크아웃할 수 있게하여 workflow가 접근가능하도록 합니다.
- setup-java
- 버전에 맞는 자바를 설치 및 세팅하고 러너 설정, 의존성들을 캐싱합니다.
- configure-aws-credentials
- aws credential 설정 및 환경변수를 세팅합니다.
- amazon-ecr-login
- 로컬 도커 클라이언트의 ecr 레지스트리에 로그인합니다.
- setup-kustomize
- kustomize를 워크플로우에 설치합니다.