참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.
연속 통합 정보
CI(연속 통합)는 공유 리포지토리에 코드를 자주 커밋해야 하는 소프트웨어 방식입니다. 코드를 커밋하면 오류를 더 빨리 감지하고 개발자가 오류의 원인을 찾을 때 디버그해야 하는 코드의 양이 줄어듭니다. 또한 코드가 자주 업데이트되면 소프트웨어 개발 팀의 여러 구성원의 변경 내용을 보다 쉽게 병합할 수 있습니다. 이는 코드를 작성하는 데 더 많은 시간을 사용하고 오류를 디버그하거나 병합 충돌을 해결하는 데 더 적은 시간을 사용할 수 있는 개발자에게 유용합니다.
리포지토리에 코드를 커밋할 때 코드를 지속적으로 빌드하고 테스트하여 커밋에 오류가 발생하지 않도록 할 수 있습니다. 테스트에는 코드 Linter(스타일 서식 확인), 보안 검사, 코드 검사, 기능 테스트, 기타 사용자 지정 검사가 포함될 수 있습니다.
코드를 빌드하고 테스트하려면 서버가 필요합니다. 리포지토리에 코드를 푸시하기 전에 로컬에서 업데이트를 빌드하고 테스트하거나 리포지토리에서 새 코드 커밋을 확인하는 CI 서버를 사용할 수 있습니다.
GitHub Actions을 사용한 연속 통합 정보
GitHub Actions을(를) 사용하는 CI는 리포지토리에 코드를 빌드하고 테스트를 실행할 수 있는 워크플로를 제공합니다. 워크플로는 GitHub 호스트 가상 머신 또는 직접 호스트하는 머신에서 실행할 수 있습니다. 자세한 내용은 "GitHub 호스팅 실행기 사용" 및 "자체 호스트형 실행기 정보" 항목을 참조하세요.
GitHub 이벤트가 발생할 때(예시: 새 코드가 리포지토리에 푸시될 때), 설정된 일정에 따라 또는 리포지토리 디스패치 웹후크를 사용하여 외부 이벤트가 발생할 때 실행되도록 CI 워크플로를 구성할 수 있습니다.
GitHub Enterprise Server는 CI 테스트를 실행하고 끌어오기 요청에서 각 테스트의 결과를 제공하므로 분기의 변경으로 인해 오류가 발생하는지 확인할 수 있습니다. 워크플로의 모든 CI 테스트를 통과하면 푸시한 변경 내용을 팀 멤버가 검토하거나 병합할 수 있습니다. 테스트가 실패하면 변경 내용 중 하나로 인해 오류가 발생했을 수 있습니다.
리포지토리에서 CI를 설정할 때 GitHub Enterprise Server는 리포지토리의 코드를 분석하고 리포지토리의 언어 및 프레임워크에 따라 CI 워크플로를 권장합니다. 예를 들어, Node.js를 사용하는 경우 GitHub Enterprise Server은(는) Node.js 패키지를 설치하고 테스트를 실행하는 워크플로 템플릿을 제안합니다. GitHub Enterprise Server에서 제안하는 CI 워크플로 템플릿을 사용하거나 제안된 워크플로 템플릿을 사용자 지정하거나 사용자 지정 워크플로 파일을 만들어 CI 테스트를 실행할 수 있습니다.
프로젝트에 대한 CI 워크플로 설정을 지원하는 것 외에도 GitHub Actions를 사용하여 전체 소프트웨어 개발 수명 주기에 걸쳐 워크플로를 만들 수 있습니다. 예를 들어 작업을 사용하여 프로젝트를 배포, 패키지 또는 릴리스할 수 있습니다. 자세한 내용은 "워크플로 작성"을(를) 참조하세요.
일반적인 용어에 대한 정의는 "GitHub Actions 이해"을 참조하세요.
워크플로 템플릿
GitHub Enterprise Server은(는) 다양한 언어 및 프레임워크에 대한 CI 워크플로 템플릿을 제공합니다.
GitHub.com의 actions/starter-workflows
리포지토리의 GitHub에서 제공하는 CI 워크플로 템플릿의 전체 목록을 살펴봅니다.
추가 참고 자료
- "빌드 및 테스트"