DevOps/CI&CD

[Github Actions] 1. GitHub Actions 이해

noahkim_ 2023. 10. 29. 22:53

1. GitHub Actions

  • Github에서 제공하는 CI/CD 자동화 플랫폼
  •  Repository에서 발생하는 이벤트를 기준으로 개발과 배포 과정을 자동화하는 도구
  • ✅ Github이 제공하는 가상 머신에서 Workflow의 Job을 실행할 수 있음 (Github-hosted runner)
  • ➡️ 코드 변경이 발생했을 때, 빌드 - 테스트 - 배포 를 자동화할 수 있음

 

2. The Components of GitHub Actions

구성 요소 의미 특징
Workflow 자동화 프로세스 전체 - 하나 이상의 Job을 실행함
- .github/workflows 경로에 존재함
- yml 문법으로 작성함
Event Workflow를 실행시키는 트리거 ex) push, pull_request, issue, workflow_dispatch
Job Workflow 안에서 실행되는 작업 단위 - 의존성 설정 가능
ex) build job, test job, deploy job
Step Job 안에서 실행되는 개별 단계 - uses: 이미 만들어진 Action 사용
- run: 직접 shell 명령 실행
Action 재사용 가능한 사용자 정의 애플리케이션 - GitHub Marketplace에서 액션을 찾거나 직접 작성할 수 있음
ex) actions/checkout, actions/setup-java
Runner Workflow를 실제로 실행하는 서버 - github에서 제공함
- 사용자가 직접 지정하여 쓸 수 있음
ex) ubuntu-latest, windows-latest

 

3. Understanding the workflow file

name: learn-github-actions
run-name: ${{ github.actor }} is learning GitHub Actions
on: [push]
jobs:
  check-bats-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v
  • name : 워크플로우의 이름을 설정합니다.
  • run-name : 워크플로우에 생성된 실행의 이름을 설정합니다.
  • on: 워크플로우의 트리거를 지정합니다.
  • jobs : 워크플로우의 모든 작업을 그룹화합니다.
    • check-bats-version : job의 이름을 정의합니다.
      • runs-on : 작업이 GitHub에서 호스팅하는 Ubuntu-latest 버전의 Runner로 지정합니다.
        • steps : check-bats-version 작업에서 실행되는 모든 단계를 그룹화합니다.
          • use : 액션을 사용하여 작업을 수행합니다.
          • run : 명령어를 사용하여 작업을 수행합니다. 

 

 

출처

'DevOps > CI&CD' 카테고리의 다른 글

[Github Actions] 3. Environments  (0) 2026.05.30
[Deployment] 1. Blue-Green 배포 방식  (0) 2026.05.29