Skip to main content

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들 파악해보자.

  1. checkout@v3
  2. 나의 레포를 체크아웃할 수 있게하여 workflow가 접근가능하도록 합니다.
  3. setup-java
  4. 버전에 맞는 자바를 설치 및 세팅하고 러너 설정, 의존성들을 캐싱합니다.
  5. configure-aws-credentials
  6. aws credential 설정 및 환경변수를 세팅합니다.
  7. amazon-ecr-login
  8. 로컬 도커 클라이언트의 ecr 레지스트리에 로그인합니다.
  9. setup-kustomize
  10. kustomize를 워크플로우에 설치합니다.