# 연속 통합

GitHub을 사용하여 GitHub Actions 리포지토리에서 직접 사용자 지정 CI(연속 통합) 워크플로를 만들 수 있습니다.

> \[!NOTE]
> GitHub Enterprise Server 호스트 실행기는 현재 GitHub에서 지원되지 않습니다.

## 연속 통합 개요

CI(연속 통합)는 공유 리포지토리에 코드를 자주 커밋해야 하는 소프트웨어 방식입니다. 코드를 커밋하면 오류를 더 빨리 감지하고 개발자가 오류의 원인을 찾을 때 디버그해야 하는 코드의 양이 줄어듭니다. 또한 코드가 자주 업데이트되면 소프트웨어 개발 팀의 여러 구성원의 변경 내용을 보다 쉽게 병합할 수 있습니다. 이는 코드를 작성하는 데 더 많은 시간을 사용하고 오류를 디버그하거나 병합 충돌을 해결하는 데 더 적은 시간을 사용할 수 있는 개발자에게 유용합니다.

리포지토리에 코드를 커밋할 때 코드를 지속적으로 빌드하고 테스트하여 커밋에 오류가 발생하지 않도록 할 수 있습니다. 테스트에는 코드 Linter(스타일 서식 확인), 보안 검사, 코드 검사, 기능 테스트, 기타 사용자 지정 검사가 포함될 수 있습니다.

코드를 빌드하고 테스트하려면 서버가 필요합니다. 리포지토리에 코드를 푸시하기 전에 로컬에서 업데이트를 빌드하고 테스트하거나 리포지토리에서 새 코드 커밋을 확인하는 CI 서버를 사용할 수 있습니다.

## GitHub Actions를 사용한 지속적 통합 정보

CI using GitHub Actions 은 리포지토리에서 코드를 빌드하고 테스트를 실행할 수 있는 워크플로를 제공합니다. 워크플로는 GitHub호스팅된 가상 머신 또는 사용자가 직접 호스팅하는 머신에서 실행될 수 있습니다. 자세한 내용은 [GitHub 호스팅 실행기](/ko/enterprise-server@3.22/actions/concepts/runners/github-hosted-runners) 및 [자체 호스팅 실행기](/ko/enterprise-server@3.22/actions/concepts/runners/self-hosted-runners)을(를) 참조하세요.

이벤트가 발생할 때 GitHub (예: 새 코드가 리포지토리에 푸시되는 경우), 설정된 일정에 따라 또는 리포지토리 디스패치 웹후크를 사용하여 외부 이벤트가 발생할 때 실행되도록 CI 워크플로를 구성할 수 있습니다.

GitHub 는 CI 테스트를 실행하고 끌어오기 요청에서 각 테스트의 결과를 제공하므로 분기의 변경으로 인해 오류가 발생하는지 확인할 수 있습니다. 워크플로의 모든 CI 테스트를 통과하면 푸시한 변경 내용을 팀 멤버가 검토하거나 병합할 수 있습니다. 테스트가 실패하면 변경 내용 중 하나로 인해 오류가 발생했을 수 있습니다.

리포지토리에서 CI를 설정할 때 리포지 GitHub 토리의 코드를 분석하고 리포지토리의 언어 및 프레임워크에 따라 CI 워크플로를 권장합니다. 예를 들어Node.js사용하는 경우 [ Node.js ](https://nodejs.org/en/)GitHub 패키지를 설치하고 테스트를 실행하는 워크플로 템플릿을 제안합니다. 제안된 GitHubCI 워크플로 템플릿을 사용하거나, 제안된 워크플로 템플릿을 사용자 지정하거나, 고유한 사용자 지정 워크플로 파일을 만들어 CI 테스트를 실행할 수 있습니다.

프로젝트에 대한 CI 워크플로를 설정하는 데 도움을 주는 것 외에도 전체 소프트웨어 개발 수명 주기에 걸쳐 워크플로를 만드는 데 사용할 GitHub Actions 수 있습니다. 예를 들어 작업을 사용하여 프로젝트를 배포, 패키지 또는 릴리스할 수 있습니다. 자세한 내용은 [워크플로 작성](/ko/enterprise-server@3.22/actions/how-tos/write-workflows)을(를) 참조하세요.

일반적인 용어에 대한 정의는 [GitHub Actions에 대한 이해](/ko/enterprise-server@3.22/actions/get-started/understand-github-actions)을(를) 참조하세요.

## 다음 단계

GitHub 는 다양한 언어 및 프레임워크에 대한 CI 워크플로 템플릿을 제공합니다. 이러한 템플릿과의 연속 통합을 설정하는 방법에 대한 자습서는 [코드 빌드 및 테스트](/ko/enterprise-server@3.22/actions/tutorials/build-and-test-code)을(를) 참조하세요.