✅ Github Actions?
- CI : 지속적인 통합
- CD : 지속적인 서비스 제공/지속적인 배포
GitHub Actions는 GitHub에서 제공하는 CI/CD (Continuous Integration/Continuous Deployment) 및 일반 작업 자동화 도구입니다.
이를 사용하면 저장소를 기반으로 코드를 빌드, 테스트, 배포하는 프로세스를 자동화할 수 있습니다. 이는 개발자들이 더 효과적이고 안정적인 방법으로 코드를 관리하고 프로젝트를 유지할 수 있도록 도와줍니다.
GitHub Actions은 워크플로(Workflow)라는 개념을 사용하여 작업을 구성합니다. 워크플로는 .github/workflows 디렉토리에 있는 YAML 파일로 작성되며, 이 파일은 트리거, 작업, 단계, 액션 등의 요소로 구성됩니다.
- 트리거(trigger): 워크플로를 시작하는 이벤트를 정의합니다. 예를 들어, push, pull request, 스케쥴, 웹훅 등의 이벤트가 있습니다.
- 작업(job): 워크플로에서 실행되는 개별 작업을 나타냅니다. 작업은 병렬 또는 순차적으로 실행될 수 있으며, 서로 다른 운영 체제에서 실행될 수도 있습니다.
- 단계(step): 작업을 구성하는 개별 단계를 나타냅니다. 각 단계는 하나 이상의 액션을 포함할 수 있습니다.
- 액션(action): 단계에서 실행되는 개별 명령입니다. 액션은 사용자 정의 스크립트 또는 GitHub 커뮤니티에서 공유된 미리 만들어진 액션을 사용할 수 있습니다.
GitHub Actions는 많은 언어와 프레임워크를 지원하며, 사용자 지정 스크립트와 커뮤니티에서 제공하는 다양한 액션을 사용하여 워크플로를 유연하게 구성할 수 있습니다. 이를 통해 개발자들은 소프트웨어 라이프사이클을 효율적으로 관리할 수 있습니다.
✅ GitHub Actions이 하는 일
- 빌드 및 테스트 자동화 : 개발자들이 새로운 코드를 리포지토리에 푸시하거나 브랜치에 병합할 때마다 자동으로 빌드와 테스트를 수행
- 코드 스타일 및 정적 분석 검사 : itHub Actions를 이용해 ESLint, Stylelint와 같은 도구를 자동으로 실행하여 코드 스타일 가이드를 준수하고 있는지 확인
- 의존성 관리 : 패키지 업데이트를 자동으로 추적하고 새로운 버전이 나올 때마다 프로젝트에 적용
- 자동 배포 : 발자들은 코드를 더욱 신속하게 배포
- 문서화 : GitHub Actions를 사용하면, 문서를 자동으로 생성하고 배포
- 풀 리퀘스트 검토: GitHub Actions를 사용하여 풀 리퀘스트에 대한 자동 코드 리뷰를 설정
✅ 클라이언트 배포
- 클라이언트 배포는 소프트웨어의 클라이언트 사이드(사용자 인터페이스)를 사용자의 기기나 서버에 전달하는 과정을 의미합니다.
- 일반적으로 웹 애플리케이션의 경우 HTML, CSS, JS 파일 등을 클라이언트에 배포하게 됩니다.
✅ 클라이언트 배포 과정
- 빌드 : 웹 애플리케이션을 빌드하여 최적화된 파일을 생성
- 호스팅 : 생성된 파일을 웹 서버나 CDN에 업로드합니다.
- 도메인 설정 : 도메인 네임과 연결하여 사용자가 애플리케이션에 접근할 수 있도록 설정