개발이 좋아서/CI/CD가 좋아서

Github Actions - 기본 개념

zoaseo 2025. 1. 28. 11:18

CI/CD(Continuous Integration, Continuous Deployment) - 테스트(Test), 통합(Merge), 배포(Deploy)의 과정을 자동화하는 것을 의미한다.

 

Github Actions의 CI/CD 전체 흐름

  1. 코드 작성 후 Commit
  2. Github에 Push
  3. Push를 감지해서 Github Actions에 작성한 로직이 실행
  4. 서버에서 배포된 최신 코드로 서버를 재실행

Github Actions의 기본 문법 정리

- 프로젝트 최상단에 .github/workflows/xxx.yml 만든다.( .github/workflows 은 이름을 꼭 지켜주어야 한다.)

# Workflow의 이름
# Workflow : 하나의 yml 파일을 하나의 Workflow라고 부른다. 
name: Github Actions 실행시켜보기

# Event : 실행되는 시점을 설정
# main이라는 브랜치에 push 될 때 아래 Workflow를 실행
on:
  push:
    branches:
      - main

# 하나의 Workflow는 1개 이상의 Job으로 구성된다. 
# 여러 Job은 기본적으로 병렬적으로 수행된다.
jobs: 
  # Job을 식별하기 위한 id
  My-Deploy-Job: 
	  # Github Actions를 실행시킬 서버 종류 선택
    runs-on: ubuntu-latest
    
    # Step : 특정 작업을 수행하는 가장 작은 단위
    # Job은 여러 Step들로 구성되어 있다.
    steps: 
      - name: Hello World 찍기 # Step에 이름 붙이는 기능
        run: echo "Hello World" # 실행시킬 명령어 작성
        
      - name: 여러 명령어 문장 작성하기
        run: |
          echo "Good"
          echo "Morning"
          

			# 참고: https://docs.github.com/en/actions/learn-github-actions/variables
      - name: Github Actions 자체에 저장되어 있는 변수 사용해보기
        run: |
          echo $GITHUB_SHA
          echo $GITHUB_REPOSITORY

			- name: Github Actions Secret 변수 사용해보기
				run: |
					echo ${{ secrets.MY_NAME }}
					echo ${{ secrets.MY_HOBBY }}

secret 설정하기

- Github Actions 공식문서

 

GitHub Actions 설명서 - GitHub Docs

GitHub Actions를 사용하여 리포지토리에서 바로 소프트웨어 개발 워크플로를 자동화, 사용자 지정 및 실행합니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유하고 완

docs-internal.github.com