## GitHub Actions 문서 개요 ### 1. 소개 (Introduction) - GitHub Actions란 무엇인가? - CI/CD(Continuous Integration / Continuous Deployment) 개념 - GitHub Actions의 주요 특징 (워크플로우, 이벤트 기반 실행 등) ### 2. 기본 개념 - Workflow (워크플로우) - Job (잡) - Step (스텝) - Action (액션) - Runner (실행 환경) ### 3. 기본 사용법 - `.github/workflows/` 디렉토리 구조 - `yaml` 문법 개요 - 첫 번째 워크플로우 작성하기 (Hello World) - 이벤트 트리거 (`push`, `pull_request`, `schedule` 등) ### 4. 주요 기능 - 다양한 이벤트 트리거 (코드 푸시, PR, 이슈, 릴리즈 등) - 환경 변수 및 시크릿 관리 (`secrets`) - 캐싱 (`actions/cache`) - 매트릭스 빌드 (다양한 OS/Node 버전 등) ### 5. 실전 활용 - Node.js/React 프로젝트 자동 빌드 및 테스트 - Python 패키지 테스트 & 배포 (PyPI) - Docker 이미지 빌드 및 푸시 - 정적 사이트 자동 배포 (GitHub Pages, Vercel, Netlify) ### 6. 고급 주제 - Self-hosted Runner 설정 - 워크플로우 간 아티팩트 공유 - 재사용 가능한 워크플로우 (Reusable workflows) - 모노레포(Monorepo) 환경에서의 GitHub Actions 전략 ### 7. 보안 및 베스트 프랙티스 - 시크릿 안전하게 관리하기 - 최소 권한 원칙 (Principle of Least Privilege) - 의존성 무결성 검사 (`dependabot`) - 오픈소스 액션 사용 시 주의사항 ### 8. 디버깅 및 문제 해결 - 워크플로우 로그 확인 방법 - 실패한 Job/Step 디버깅하기 - 흔히 발생하는 에러 사례와 해결법 ### 9. 운영 및 관리 - 빌드 시간 및 비용 최적화 - 캐싱 전략 - 대규모 팀에서의 GitHub Actions 관리 - GitHub Enterprise와의 통합 ### 10. 최신 동향 - GitHub Actions 마켓플레이스 소개 - 인기 있는 오픈소스 액션 (e.g., `actions/checkout`, `actions/setup-node`) - 2025년 기준 새로운 기능 및 로드맵