| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 엑셀
- 오클랜드공항
- Ai
- JetBrains
- 뉴질랜드여행
- git초보
- python
- docker
- 개발툴팁
- 민생회복지원금
- gradle
- 주식초보
- Spring
- 재무제표기초
- git
- AES256
- 기업분석
- 주식용어
- 엑셀고급강의
- 민생회복소비쿠폰
- 개발생산성
- scrapy
- 버전관리
- git연재
- 엑셀강의
- 주식기초
- GPT
- 엑셀중급강의
- IntelliJ
- git입문
나만의공간
Git 16회차. GitHub Actions로 자동화 시작하기 본문
🤖 Git 16회차. GitHub Actions로 자동화 시작하기 - Git으로 DevOps의 문을 열다!
코드를 푸시했더니 테스트가 자동으로 실행되고, 사이트가 자동 배포되었다면? 바로 이것이 GitHub Actions의 세계입니다! 이번 회차에서는 GitHub Actions를 이용한 자동화의 시작을 도와드릴게요 😊
🚀 GitHub Actions란?
GitHub Actions는 GitHub에서 제공하는 자동화 도구입니다. 코드 변경 시 자동으로 테스트하거나 빌드, 배포를 할 수 있는 기능이에요.
📌 예를 들어 이런 걸 자동화할 수 있어요
- ✔️ PR이 올라오면 자동으로 테스트 실행
- ✔️ main 브랜치에 push하면 웹사이트 배포
- ✔️ 정기적으로 스크립트 실행 (예: 매일 오전 9시)
즉, 사람이 일일이 하지 않아도 코드 품질과 운영을 자동으로 관리할 수 있어요.
🧱 GitHub Actions의 기본 구조
GitHub Actions는 .github/workflows 폴더 아래에 YAML 파일로 구성됩니다.
.
├── .github
│ └── workflows
│ └── main.yml
이 YAML 파일에는 어떤 이벤트에 어떤 작업을 할지를 정의합니다.
💡 구성 요소
- name: 워크플로우 이름
- on: 실행 트리거 (push, pull_request 등)
- jobs: 수행할 작업 집합
- steps: 실제 명령어들 (npm install, test 등)
📄 GitHub Actions 예제: Node.js 프로젝트 테스트 자동화
# .github/workflows/node-test.yml
name: Node.js Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
이 예시는 main 브랜치에 push 또는 PR이 들어올 때 자동으로 다음을 수행합니다:
- 코드를 checkout
- Node.js 환경 설정
- npm install
- npm test
테스트에 실패하면 자동으로 PR이 거절되도록 설정할 수도 있어요 🛡️
📦 GitHub Marketplace에서 Actions 검색하기
반복적인 설정이 귀찮다면, 이미 만들어진 Actions를 Marketplace에서 검색해보세요!
✅ 예시
actions/checkout- 코드를 체크아웃actions/setup-node- Node.js 환경 설정peaceiris/actions-gh-pages- GitHub Pages 배포actions/upload-artifact- 빌드 결과 저장
👉 GitHub Actions Marketplace 바로가기
⚙️ 정기 실행 워크플로우 만들기 (cron)
매일 아침 9시에 자동으로 스크립트를 실행하고 싶다면?
on:
schedule:
- cron: '0 0 * * *'
이렇게 설정하면 매일 0시(UTC) → 한국 시간 9시에 자동 실행됩니다.
⚠️ GitHub Actions 유의사항
- ✔️ 퍼블릭 저장소는 무료로 무제한 사용 가능
- ✔️ 프라이빗 저장소는 요금제에 따라 사용량 제한
- ✔️ 작업 환경은 Linux, macOS, Windows 중 선택 가능
🧠 실무에서 GitHub Actions 어떻게 쓰나?
- ✔️ CI(지속적 통합): PR마다 테스트 자동 실행
- ✔️ CD(지속적 배포): main 푸시 시 서버로 자동 배포
- ✔️ DevOps 도입: 코드 → 테스트 → 배포까지 자동화
이제는 개발자가 코드를 쓰는 순간부터 GitHub Actions가 알아서 움직이는 시대예요!
📌 오늘의 핵심 요약
- ✔️ GitHub Actions는 GitHub에서 제공하는 무료 자동화 기능입니다
- ✔️ 이벤트(on)에 따라 다양한 작업(jobs)을 수행할 수 있어요
- ✔️ CI/CD의 시작은 GitHub Actions로 충분합니다
지금까지 Git으로 버전 관리만 하셨다면, 이제는 자동화의 세계로 한 걸음 나아가보세요 😊
📎 다음 회차 예고
17회차. Git에서 태그(Tag) 관리 - 버전 릴리스의 핵심
✔️ git tag로 버전 관리하는 방법 ✔️ Annotated vs Lightweight Tag ✔️ GitHub 릴리스와의 연결
'IT > Git' 카테고리의 다른 글
| Git 19회차. Git 저장소 정리 및 리포지터리 (3) | 2025.07.20 |
|---|---|
| Git 18회차. 실무에서 자주 하는 Git 실수 (0) | 2025.07.19 |
| Git 15회차. 충돌(conflict) 발생 시 대처법 (1) | 2025.07.17 |
| Git 14회차. GitHub 협업 실습 (중복) (0) | 2025.07.17 |
| Git 13회차. Git Ignore와 무시할 파일 관리하기 (2) | 2025.07.17 |
