GitHub Actions를 사용해 무료로 24/7 자동화를 실행하는 방법 (서버 불필요)
Source: Dev.to
소개
간단한 예약 스크립트를 실행하기 위해 서버 비용을 지불하는 것이 지긋지긋했습니다. VPS 크론 작업은 월 $5–20 정도 들 수 있고, AWS Lambda는 복잡성을 더하고 가끔 예상치 못한 청구서가 발생합니다. GitHub Actions는 무료 티어에서 월 2,000분의 무료 실행 시간을 제공합니다—이는 2시간마다, 연중무휴로 스크립트를 실행해도 비용이 $0이라는 의미입니다.
GitHub Actions 워크플로우
리포지토리 안에 파일 .github/workflows/automation.yml을 생성합니다:
name: 24/7 Automation
on:
schedule:
- cron: '0 */2 * * *' # Every 2 hours
workflow_dispatch: # Manual trigger
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install requests
- run: python your_script.py
env:
API_KEY: ${{ secrets.API_KEY }}
일반적인 사용 사례
- 가격 모니터링 – 경쟁사의 가격을 추적하고 알림을 받습니다.
- 콘텐츠 집계 – API에서 데이터를 가져와 보고서를 작성합니다.
- 헬스 체크 – 서비스에 ping을 보내고 실패 시 알림을 보냅니다.
- 데이터 백업 – 한 서비스에서 내보내어 다른 서비스로 전송합니다.
무료 티어 제한
| 기능 | 무료 티어 제한 | 비고 |
|---|---|---|
| 월별 실행 시간 | 2,000 | 개별 스크립트는 약 5분 이하로 유지하세요. |
| 동시 작업 수 | 20 | workflow_dispatch를 사용해 추가 실행을 대기열에 넣을 수 있습니다. |
| 최소 크론 간격 | 5 minutes | 대부분의 모니터링 작업에 충분합니다. |
| 리포지토리 활동 | 최근 60 days 이내에 활성화되어 있어야 함 | 필요하면 가벼운 “keep‑alive” 워크플로우를 추가하세요. |
ntfy.sh 로 푸시 알림 보내기
ntfy.sh를 사용해 휴대폰으로 무료 푸시 알림을 보낼 수 있습니다:
import requests
def alert(message):
requests.post(
"https://ntfy.sh/your-topic",
data=message,
headers={"Priority": "high"}
)
이제 자동화가 중요한 사항을 감지할 때마다 모바일 알림을 받을 수 있습니다.
워크플로우 템플릿
- 무료 스타터 – 워크플로우 1개 + 가이드
- 풀 패키지 – 워크플로우 3개 + 파이썬 스크립트, $79
무료 버전만으로도 시작하기에 충분합니다. 받아서 수정하고 바로 사용하세요.
질문
궁금한 점이 있으면 댓글에 남겨 주세요. 저는 이 설정을 몇 달째 운영하고 있으며, 문제 해결을 기꺼이 도와드리겠습니다.