본문 바로가기
Tech Notes

깃허브 액션(GitHub Actions) 완전 정복

by miracle-tech 2025. 7. 1.
728x90
반응형

✅ 깃허브 액션이란?

  • GitHub Actions는 코드를 자동으로 빌드하고, 테스트하고, 배포까지 해주는 자동화 도구(CI/CD)입니다.
  • 별도의 서버가 필요 없이, GitHub에서 제공하는 가상 머신(러너)이 자동으로 실행해줍니다.
  • 대표적으로 Push, Pull Request, Schedule(크론 스케줄러) 등 다양한 이벤트(Trigger)로 워크플로우가 돌아갑니다.

📁 폴더 구조

GitHub Actions는 프로젝트 루트에 .github/workflows/ 폴더를 만들어서 설정합니다.

여기에만 넣고 github에 push 하면 알아서 스케줄이 돌아갑니다. (완전 신기!)

 

  • .github : GitHub가 자동으로 인식하는 특별한 폴더
  • workflows : CI/CD 자동화 스크립트(YAML)를 넣는 곳

⚙️ 기본 YML 예시

아래는 매일 오전 9시에 main.py를 자동 실행하는 예시입니다.

🚫 내가 따로 해줘야 할 것?

거의 없음!
단, 이건 체크해야 돼:

✅ 깃 레포 private이면 → Actions 실행은 무료 한도가 있음 (퍼블릭은 무제한 무료)
✅ 리포에 Secrets가 필요한 경우 → Settings → Secrets and variables에 환경 변수 잘 넣기
메인 브랜치에 푸시됨 → 맞는지 확인 (혹시 main.yml에 on: push나 on: schedule 조건 잘못되면 안 돌아감)

 

🗂️ 환경 변수 & 시크릿

API 키, 비밀번호 같은 민감 정보는 레포에 직접 쓰지 말고,

Settings → Secrets and variables에서 Actions Secrets로 등록!

.yml에서는 ${{ secrets.키이름 }}으로 불러와서 사용.

 

.yml 파일

🚨  repository 는 private 으로

secrets 변수는 Repository secrets 에 설정해줘야 .yml 에서 환경변수를 문제없이 잘 읽는다!!

🔑 요약

✅ 자동화 = 서버 필요 없음!
✅ .github/workflows/*.yml로 관리!
✅ 스케줄은 cron으로 설정!
✅ 로그는 Actions 탭에서 확인!
✅ 시크릿은 꼭 별도로 보관!

 

🚀 결론

GitHub Actions만 잘 활용해도 테스트, 빌드, 배포, 알림 자동화까지 한 번에 해결됩니다.
이제 반복 작업은 GitHub에게 맡기고, 진짜 중요한 일에만 집중하세요! 💪

 

 

 

참고:

GitHub Actions 공식 문서

Crontab Guru (크론 표현식 도움 사이트)

 

728x90