[Github Action] Github Action

이상해씨·2024년 3월 22일
0
post-custom-banner

Github Action

  • workflow를 자동화를 위한 플랫폼

  • SW workflow 자동화를 하거나, 동적인 서비스를 만드는 것이 가능!

  • Github에서 코드를 자동으로 빌드, 테스트, 매포할 수있는 CI/CD(Continuous Integration/Continuous Deployment) 기능

    💡 CI/CD(Continuous Integration/Continuous Deployment)

    자동화를 함으로서 수동으로 처리했을 때 발생하는 문제를 해소

    📌 CI (지속적인 통합)
    :개발중 코드 통합을 지속적으로 진행.

    📌 CD (지속적 배포)
    : 소프트웨어가 신뢰가능한 수준에서 배포될 수 있도록 관리
    : 지속적 빌딩, 테스트, 배포

Action 실행 절차 및 구성

Action 실행 절차

  1. event 발생
  2. runner로 event 데이터 전달
  3. runner에서 설정한 job이 단계(step)에 따라 진행됨

    (출처 - Githubub docs : Github Action의 이해)

Action의 구성

1. workflow
워크플로우 workflow**

  • 하나 이상의 작업 실행을 위한 자동화된 프로세스
  • event, 수동, 또는 정의된 일정에 의해 트리거됨
  • yaml 파일에 의해 정의

  • .github/workflows 디렉토리에 정의

  • repository에 여러 workflow가 있을 수 있음

  • 각 workflow는 서로 다른 작업을 수행

  • 여러 job으로 구성됨

2. 이벤트 event

  • workflow 실행을 트리거하는 repository의 특정 활동
  • 사용자가 Pull request 생성, issue open, commit push 등의 활동을 event로 설정할 수 있음
  • REST API에 게시하거나 수동으로도 workflow를 실행하도록 트리거할 수 있음

3. 러너 runner

  • workflow가 트리거될때 실행되는 서버
  • 각 러너는 한 번에 하나의 작업을 실행
  • GitHub에서는 ubuntu linux, window, macOS 러너를 제공
  • 각 workflow 실행은 새로 프로비저닝된 가상 머신에서 실행됨

4. 작업 job

  • 동일한 러너에서 실행되는 workflow의 집합

  • 각 단계step는 실행될 shell script거나 실행될 action으로 구성됨

  • 단계들은 순서대로 진행되고, 서로 종속적임. 다음 단계로 데이터를 공유할 수 있음

  • 기본적으로 job의 종속성이 없으며 서로 병렬로 실행되나, 종속성을 지정하면 지정된 순서대로 진행됨

5. 단계 step

  • task들의 집합
  • action을 실행할 수 있음

6. 액션 action

  • workflow의 가장 작은 블럭
  • job 생성을 위하여 step들을 연결
  • 복잡하지만 자주 반복되는 작업을 수행하는 응용프로그램
  • workflow 파일에 반복되는 코드의 양을 줄임
  • 재사용가능

참고

profile
공부에는 끝이 없다
post-custom-banner

0개의 댓글