Github Action 01. 제작 방법 소개

HYl·2022년 4월 5일
0

Github Action

목록 보기
1/3

Git & Github Action과 친해지기 #2 강의를 보고 작성한 글입니다.


Github Action 및 제작 방법 소개

  • 개발자 work flow를 위한 플랫폼으로 오케스트레이션, 즉 github에서
    제공되어지는 컴퓨터 시스템 및 소프트웨어의 자동화를 제공하는 도구
    (쉽게 말해 github에서 제공하는 컴퓨터)
  • 2019년에 github에서 CI/CD 기능을 추가해서
    빌드/테스트/커버리지/배포까지 진행 가능

CI/CD 란?

  • CI지속적인 통합으로 개발하면서 코드 통합을 지속적으로 진행하면서
    품질을 확인
  • 모든 프로젝트가 끝난 후에 코드의 품질을 관리하는 다점을 해소하기 위해
    나타난 개념
  • 여러 명의 개발자가 한 프로젝트를 진행 할 떄 수시로 각자의 작업들을
    확인하며 협업
  • CD지속적인 배포로 소프트웨어가 항상 신뢰 가능한 수준에서 배포될 수
    있도록 지속적으로 관리
  • 즉, CI 과정을 통해 개발 중에 지속적으로 코딩 빌드와 테스트를 하고 이를
    거친 코드는 CD과정으로 배포에 반영

YML 이란?

  • 2개의 확장자 -> yaml, yml
  • Yet Another Markup Language의 약자로, 사람이 읽을 수 있는 데이터 직렬화 언어
  • key-Value 구성으로 작성된 파일
  • 가독성이 좋아 가벼운 마크업 언어로 사용됨
  • YAML/YML 파일은 Json 파일과 상위 호환되기 때문에, Json 시퀀스와 맵을
    사용할 수 있음

workflow

  • 최상위 개념
  • 여러 Job으로 구성되고, Event에 의해 트리거될 수 있는 자동화된 프로세스
  • Workflow 파일은 YAML으로 작성되고, Github Repository의 .github/workflows 폴더 아래에 저장됨

Event

  • Workflow를 Trigger(실행)하는 특정 활동이나 규칙

✓ 특정 브랜치로 Push하거나
✓ 특정 브랜치로 Pull Request하거나
✓ 특정 시간대에 반복(Cron)
✓ Webhook을 사용해 외부 이벤트를 통해 실행

Job

  • Job은 여러 Step으로 구성되고, 가상 환경의 인스턴스에서 실행됨
  • 다른 Job에 의존 관계를 가질 수 있고, 독립적으로 병렬 실행도 가능함

Action

  • Workflow의 가장 작은 블럭(smallest portable building block)
  • Job을 만들기 위해 Step들을 연결할 수 있음
  • 재사용이 가능한 컴포넌트
  • 개인적으로 만든 Action을 사용할 수도 있고, Marketplace에 있는 공용 Action을
    사용할 수도 있음

[참고] https://github.com/marketplace?type=actions

Step

  • Task들의 집합으로, 커맨드를 날리거나 action을 실행할 수 있음
profile
꾸준히 새로운 것을 알아가는 것을 좋아합니다.

0개의 댓글