반응형

GitHub Actions, 실무에서 더 똑똑하게 활용하는 5가지 비결
1. 60일 비활성화 문제: 스마트한 해결법
무료 계정의 공용 저장소(Public Repo)에서 60일간 커밋 등 활동이 없으면 스케줄 워크플로가 멈추는 것은 리소스 낭비를 막기 위한 GitHub의 정책입니다. 매번 수동으로 코드를 수정하는 대신 아래 방법을 고려해 보세요.
- Keep-alive 액션 활용: 50일마다 한 번씩 빈 커밋(Empty Commit)을 자동으로 생성하거나, 워크플로 파일을 살짝 업데이트하는 별도의 GitHub Action을 구성할 수 있습니다.
- GitHub CLI/API 활용:
gh workflow enable [ID]명령어를 통해 주기적으로 상태를 체크하고 활성화하는 스크립트를 로컬이나 다른 서버에서 실행할 수 있습니다.
2. 스케줄(Cron) 실행 지연의 비밀
GitHub Actions의 스케줄 실행은 '베스트 에포트(Best Effort)' 방식입니다. 즉, 정해진 시간에 실행을 "시도"하지만 보장하지는 않습니다.
- 지연 시간: 무료 티어의 경우 트래픽이 몰리는 시간대(정각 등)에는 30분에서 1시간 이상 지연될 수 있습니다.
- 대응 팁: 정각(예: 0 0 * * *)보다는 애매한 시간(예: 17 3 * * *)으로 설정하면 큐 대기 줄이 짧아져 비교적 더 빨리 실행되는 경향이 있습니다.
3. 구글 앱스 스크립트(GAS) 연동 시 주의사항
구글 스크립트 연동은 매우 편리하지만, 보안과 유지보수 측면에서 아래 두 가지는 꼭 확인해 보시기 바랍니다.
- clasp 활용: Google에서 제공하는 clasp CLI를 GitHub Actions 내에서 사용하면 로컬 코드를 GAS로 바로 푸시(Push)하고 배포할 수 있어 관리가 매우 편해집니다.
- Secret 관리: GAS API 연동을 위한 인증 파일은 절대 코드에 포함하지 말고, 반드시 GitHub Secrets에 저장한 뒤 런타임에 파일로 생성해서 사용해야 합니다.
4. IT 관리자가 놓치기 쉬운 보안 & 권한 설정
보안 사고의 상당수는 잘못된 권한 설정에서 발생합니다.
- permissions 명시: 워크플로 YAML 파일 상단에
permissions: contents: read와 같이 최소 권한만 명시하는 습관이 중요합니다. - 외부 Action 검증: Marketplace의 Third-party Action은 신뢰도를 확인하고, 가급적 특정 버전(Commit Hash 권장)을 고정해서 사용하세요.
5. 한눈에 보는 주요 제한 사항 (무료 티어)
| 구분 | 제한 사항 | 비고 |
|---|---|---|
| 실행 시간 | 작업당 최대 6시간 | 초과 시 강제 종료 |
| 동시 실행 | 최대 20개 작업 | 초과 시 큐 대기 |
| 저장 공간 | 아티팩트 90일 보관 | 설정에서 변경 가능 |
| API 요청 | 시간당 1,000회 | GITHUB_TOKEN 기준 |
💡 추가 팁: 윈도우 기반 서버를 관리 중이시라면, 외부 망이 차단된 환경에서도 실행 가능한 Self-hosted Runner를 내부에 설치하여 인프라를 직접 제어하는 방식도 고려해 보세요.
반응형
'콩's WORK' 카테고리의 다른 글
| 2026년 기업용 무료 소프트웨어 안내 (0) | 2026.02.26 |
|---|---|
| 워드(WORD) 문서 내용 바꾸기 패턴 (0) | 2026.02.04 |
| 🤖AI 기본법 핵심 정리 (0) | 2026.01.23 |
| [무료 자동화] 윈도우 PC에 Docker로 n8n 구축 가이드 (0) | 2026.01.20 |
| 구글 워크스페이스 자동화의 핵심, Google Apps Script(GAS) 가이드 (0) | 2026.01.13 |