ETC

[Github] Github Action이란?

코냥이 2024. 3. 26. 23:34

 

💡 Github Action이란?


Github Action
: 소프트웨어 WorkFlow(워크플로우)를 자동화할 수 있는 도구이다.
예를 들어, Commit 하면 자동으로 빌드와 테스트를 실행하거나, Merge 되면 새로운 버전을 릴리즈할 수 있도록 설정이 가능하다.

 

 

💡 Github Action 구성 요소


✔️ Workflow(워크플로우)

Workflow는 작업의 흐름으로, 하나 이상의 Job으로 구성되어 Event에 의해 트리거(실행)되는 자동화 프로세스이다.
  • Workflow는 .github/workflows 하위에 yaml 파일로 작성한다.
  • Github Actions는 yaml 파일을 기반으로 실행한다.

 

✔️ Event(이벤트)

Event는 Workflow를 실행하기 위한 특정 규칙이다.
  • Workflow는 '어떠한 규칙'이 발생되었을 때 실행되는데, 여기서 '어떠한 규칙'이 Event이다.
  • 예를 들어, 특정 브랜치에 Merge 했을 경우, pull 요청이 생성된 경우 등이 있다.

 

✔️ Jobs(작업)

Jobs는 Workflow의 기본 작업 단위로, 같은 Workflow의 Step들의 모음이다.
  • Workflow 안에는 1개 이상의 Job으로 구성되어야 한다.
  • 다른 Job과 의존 관계를 맺을 수 있고, 독립적으로도 실행될 수 있다.

 

✔️ Steps(단계)

Steps는 Job 안에서 순차적으로 실행되는 프로세스 단위이다.
  • Steps에서 명령을 내리거나 Action을 실행할 수 있다.

 

 

✔️ Actions(액션)

Actions는 Workflow의 가장 작은 빌드 단위로, Job을 구성하기 위한 Step들의 조합으로 구성된 독립적인 명령이다.
  • Actions는 직접 커스터마이징 해서 사용할 수 있고, 이미 만들어져 마켓에 등록된 Actions 가져와 사용할 수도 있다.

 

✔️ Runner(러너)

Runner는 Workflow를 실행하는 서버이다.
  • 하나의 Runner는 하나의 작업을 실행할 수 있다.

 

 

💡 Github Action 사용해 보기


1. Github Repository 프로젝트의 .github/workflows 하위에 workflows 파일을 작성한다.

name: GitHub Action Test
on: [push]
jobs:
  Explore-GitHub-Actions:
    runs-on: ubuntu-latest
    steps:
      - name: Github Action Start
        run: echo "Welcome! Github Action Repository!"
      - name: Repository List
        run: |
          ls ${{ github.workspace }}

 

2. 작성된 Workflows는 push 이벤트가 발생할 때 실행되므로, push 후 Github Repository의 Actions에 들어간다.

 

3. 실행된 Workflows를 보면 작성된 step 대로 실행이 된 것을 확인할 수 있다.

 

 

 

출처

 

 

 

긴 글 읽어주셔서 감사합니다 🍀

잘못 작성된 내용은 피드백 주시면 반영하겠습니다 😎