[CI/CD] Github Actions - 개념 및 워크 플로우 생성하기

Seong Ho Kim·2024년 1월 11일
0

[CI/CD] Github Actions

목록 보기
3/4
post-thumbnail

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로 이동하게 되고 작성할 수 있는 상태로 변경된다.

  • Commit changes 버튼을 눌러준다.

  • 처음엔 X 표시가 뜰때가 있는데 당황하지 말고 Create first.yml를 클릭한다.

  • 들어가서 확인해보면 에러 원인을 찾아서 확인한다. 해당 에러는 jobs 라는 키워드가 명시(defined)되어 있지 않아서 생긴 에러임을 알수 있다.

  • 다시 원상태로 돌아오면 first.yml라는 파란색 버튼이 생기는데 클릭해서 들어간다.

  • 연필 모양 버튼을 클릭해서 들어가면 Editing이 가능하다.

Github Actions - repository

여기를 클릭하시면 Github Actions 실습 내용을 확인하실 수 있습니다.

Reference

profile
안녕하세요 Junior UIUX Designer 준비생 입니다 😊

0개의 댓글