CI/CD(Continuous Integration, Continuous Deployment) - 테스트(Test), 통합(Merge), 배포(Deploy)의 과정을 자동화하는 것을 의미한다.
Github Actions의 CI/CD 전체 흐름
- 코드 작성 후 Commit
- Github에 Push
- Push를 감지해서 Github Actions에 작성한 로직이 실행
- 서버에서 배포된 최신 코드로 서버를 재실행
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 }}

- Github Actions 공식문서
GitHub Actions 설명서 - GitHub Docs
GitHub Actions를 사용하여 리포지토리에서 바로 소프트웨어 개발 워크플로를 자동화, 사용자 지정 및 실행합니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유하고 완
docs-internal.github.com
'개발이 좋아서 > CI/CD가 좋아서' 카테고리의 다른 글
| 컨테이너 기반 + 확장성을 고려한 프로젝트에서 많이 쓰는 CI/CD 구축 방법(Github Actions, Docker, CodeDeploy) (1) | 2025.01.28 |
|---|---|
| 컨테이너 기반의 프로젝트에서 많이 쓰는 CI/CD 구축 방법(Github Actions, Docker) (0) | 2025.01.28 |
| 확장성을 고려한 프로젝트에서 많이 쓰는 CI/CD 구축 방법(Github Actions, Code Deploy) (0) | 2025.01.28 |
| 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법(Github Actions, SCP) (0) | 2025.01.28 |
| 개인 프로젝트에서 많이 쓰는 CI/CD 구축 방법(Github Actions) (0) | 2025.01.28 |