# 버전 관리 시스템 연결

> Use Unity Build Automation with a version control system.

프로젝트에서 Build Automation을 사용하려면 먼저 소스 관리 시스템(다른 명칭: 버전 관리 시스템)에서 프로젝트를 호스팅해야 합니다. Unity Build Automation은 다음을 지원합니다.

* [Unity Version Control](#connect-build-automation-to-unity-version-control)
* [Git](#connect-build-automation-to-git)
* [Azure](#connect-build-automation-to-azure)
* [SVN](#connect-build-automation-to-svn)
* [Perforce](#connect-build-automation-to-perforce)

다음은 Build Automation에서 소스 관리를 설정하는 방법을 보여 줍니다.

## Build Automation을 Unity Version Control에 연결##connect-build-automation-to-unity-version-control

Unity Build Automation은 UVCS 저장소에 있는 프로젝트를 지원합니다.

> **Note:**
>
> **참고**: 이 제품을 사용하려면 Unity DevOps를 구독해야 합니다.

1. Build settings에서 **Source control** 탭을 선택합니다.
2. 드롭다운에서 **UVCS**를 선택합니다.
3. **source control provider URL** 필드에서 UVCS 클라우드 서버에 URL을 추가하거나, 사용 가능한 조직 목록에서 URL을 선택합니다.
4. **Authenticate with Unity ID**나 **Authenticate with username or password**를 선택합니다.
5. **Authenticate with username or password**를 선택하는 경우 UVCS 서버의 사용자 이름과 비밀번호를 입력합니다.
6. 드롭다운에서 **Authentication Type**을 선택합니다.
7. 저장소가 암호화된 경우 **My repository is encrypted** 상자를 선택합니다. a. **Encryption key**를 추가합니다. b. **Encryption method**를 추가합니다.
8. **Save**를 선택합니다.

## Git에 Build Automation 연결##connect-build-automation-to-git

Unity Build Automation은 Git 저장소에 있는 프로젝트를 지원합니다. 저장소는 [GitHub](https://github.com/), [GitLab](https://about.gitlab.com/), [Bitbucket](https://bitbucket.org/)이나 프라이빗 서버에서 호스팅할 수 있습니다.

다음 인증 프로토콜을 사용하여 저장소에 대한 액세스를 설정할 수 있습니다.

* [개인 액세스 토큰](#personal-access-tokens)(기본값)
* [SSH 키](#ssh-keys-and-private-repositories)

또한 Windows 운영체제를 사용하는 경우 빌드에서 사용할 [Git 실행 파일](../optimize-build-speed/choose-git-executable)을 선택할 수 있습니다.

### 개인 액세스 토큰##personal-access-tokens

개인 액세스 토큰을 사용하여 저장소에 액세스하도록 Build Automation을 설정하려면 다음 단계를 따릅니다.

1. Build settings에서 **Source control** 탭을 선택합니다.
2. 드롭다운에서 **GitHub**, **Bitbucket**, **GitLab** 중에서 선택합니다.
3. Git 제공자를 통해 개인 액세스 토큰을 생성합니다.
4. 토큰을 입력하고 **Authorize**를 선택하면 제공자 계정에 액세스할 수 있는 권한이 Unity에 부여됩니다.
5. 드롭다운에서 원하는 저장소를 선택합니다.
6. Build settings 페이지에서 **Save**를 선택합니다.

제공자에 따라 개인 액세스 토큰이 다릅니다. 각 제공자에 대한 관련 세부 정보는 아래에 포함되어 있지만, 토큰 생성과 사용 방법에 대한 최신 세부 정보는 제공자의 기술 자료를 참고하시기 바랍니다.

#### GitHub##github

Build Automation에는 빌드하려는 저장소에 대한 읽기 액세스 권한이 필요합니다.

개인 액세스 토큰(기존)을 사용하고 있다면 필요한 특정 권한은 다음과 같습니다. 빌드하려는 저장소가 프라이빗이면 `repo`이거나, 빌드하려는 저장소가 퍼블릭이고 최소 수준의 액세스를 허용하려면 `public_repo`입니다.

Build Automation에서 자동 빌드를 활성화하려면 `write:repo_hook` 권한도 필요합니다.

GitHub에서는 토큰 생성 시 만료일을 제공하지 않았더라도 1년 동안 사용되지 않은 기존 개인 액세스 토큰을 자동으로 제거합니다.

사용자나 조직에 맞게 세분화된 개인 액세스 토큰을 생성할 수 있습니다. 사용자나 조직이 소유한 모든 저장소나 특정 저장소에만 액세스하도록 권한을 부여할 수 있습니다. 세분화된 토큰을 사용하도록 선택하고 퍼블릭 저장소에만 액세스할 수 있는 토큰을 설정하지 않는 경우 액세스 토큰에 특정 권한을 추가해야 합니다.

세분화된 토큰을 사용하는 데 필요한 최소한의 저장소 권한은 다음과 같습니다.

* `Contents` `Read-only`
* `Webhooks` `Read and write`(자동 빌드 사용 시)

Build Automation에는 계정 권한이 필요하지 않습니다.

세분화된 개인 액세스 토큰에는 항상 만료일이 적용되며, 토큰이 만료되면 Build Automation에서 더 이상 저장소에 액세스할 수 없습니다.

> **Note:**
>
> 세분화된 개인 액세스 토큰은 현재 베타 버전이며, 필수 권한(또는 토큰의 다른 측면)이 변경될 수 있으므로, Build Automation에서 토큰을 계속 사용하려면 조치를 취해야 할 수 있습니다.

#### GitLab##gitlab

Build Automation이 저장소를 빌드하려면 개인 액세스 토큰을 통해 `read_repository` 범위를 부여해야 합니다. 자동 빌드를 활성화하려는 경우, Build Automation에서 자동 빌드를 활성화하려는 경우에도 `write_repository` 범위를 부여해야 합니다.

GitLab 토큰은 항상 만료일을 포함해 생성되며, 토큰이 만료되면 Build Automation에서 더 이상 저장소에 액세스할 수 없습니다.

#### Bitbucket##bitbucket

저장소 액세스 토큰은 단일 저장소에 대한 액세스를 허용하므로 빌드하려는 저장소별로 토큰을 생성해야 합니다.

Build Automation에서 저장소를 빌드하려면 토큰에 `Repositories` 범위의 `Read` 권한이 부여되어야 합니다. Build Automation에서 자동 빌드를 활성화하려면 `Webhooks` 범위의 `Read and write` 권한도 부여해야 합니다.

모든 제공자의 경우 액세스 토큰을 취소하거나, 토큰이 만료되거나, 토큰과 연결된 사용자가 저장소에 대한 액세스 권한을 줄이거나 취소한 경우, Build Automation에서 더 이상 저장소에 액세스할 수 없습니다.

다음 단계에서 타겟 빌드 플랫폼 설정을 참고하십시오.

### SSH 키 및 프라이빗 저장소##ssh-keys-and-private-repositories

Build Automation이 호스팅 사이트에 연결되면 저장소가 퍼블릭인지 프라이빗인지 여부를 자동으로 감지합니다. 저장소가 퍼블릭인 경우 Build Automation이 자동으로 연결되며, [Build Configuration](../basic-build-configuration/overview)으로 건너뛸 수 있습니다.

저장소가 프라이빗인 경우 SSH 키가 생성되어 저장소 URL 아래의 설정 화면에 표시됩니다. 이 SSH 키를 소스 관리 제공자의 설정에 추가하여 Build Automation 액세스를 허용합니다.

SSH 키를 사용하여 저장소에 액세스하도록 Build Automation을 설정하려면 다음 단계를 따릅니다.

1. **Source control** 탭의 드롭다운에서 **Manual setup**으로 이동하여 **Git**를 선택합니다.
2. **Source control provider URL** 필드에 Git 서버에 대한 URL을 추가합니다. 다음은 [GitHub](https://github.com/), [Bitbucket](https://bitbucket.org/), [GitLab](https://about.gitlab.com/)에 대한 URL의 예제입니다.
   * `git@github.com:youraccount/yourrepo.git`
   * `git@bitbucket.org:youraccount/yourrepo.git`
   * `git@gitlab.com:youracccount/yourrepo.git`
3. 저장소가 프라이빗인 경우 SSH 키를 소스 관리 제공자 설정에 추가합니다.
4. 설정이 완료되면 Source control 탭에서 **Save**를 선택합니다.

## Build Automation을 Azure에 연결합니다##connect-build-automation-to-azure

Unity Build Automation은 Azure 저장소에 있는 프로젝트를 지원합니다.

### 대시보드에서 Azure 설정##configuring-azure-on-the-dashboard

1. Build settings 페이지에서 **Source control** 탭을 선택합니다.
2. 드롭다운에서 **Azure**를 선택합니다.
3. **Azure 조직**을 추가합니다.
4. 코드 저장소가 포함된 **Azure 프로젝트**를 추가합니다.
5. [Azure 개인 액세스 토큰](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops\&tabs=Windows#create-a-pat)을 생성하고 제공합니다.
6. **Authorize**를 선택하면 Unity에서 저장소를 검색할 수 있습니다.
7. **Save**를 선택합니다.

## Build Automation을 SVN에 연결##connect-build-automation-to-svn

Unity Build Automation은 [Apache Subversion](https://subversion.apache.org/)(SVN) 저장소에 호스팅된 프로젝트를 지원합니다.

1. Build settings 페이지에서 **Source control** 탭을 선택합니다.
2. 드롭다운에서 **Manual setup**으로 이동해 **SVN**을 선택합니다.
3. SVN 서버에서 Unity Build Automation용 읽기 전용 사용자 계정을 보안 비밀번호와 함께 생성합니다.
4. Build settings 페이지에서 필드에 새 사용자 이름과 비밀번호를 입력합니다.
5. **Save**를 선택합니다.

### 퍼블릭 SSH 키##public-ssh-keys

Build Automation은 퍼블릭 SSH 키를 사용하여 SVN 저장소에 연결하는 기능을 지원하지 않습니다. 대신 사용자 이름과 비밀번호를 사용합니다.

### SSL 인증서##ssl-certificates

자체 서명 SSL 인증서는 지원되지 않습니다. Build Automation은 자체 서명된 인증서가 있는 서버의 SSL 핸드셰이크를 지원하지 않습니다. 인증서의 호스트 이름은 Build Automation에서 액세스하는 호스트 이름과 일치해야 합니다.

## Build Automation을 Perforce에 연결##connect-build-automation-to-perforce

Unity Build Automation은 [Perforce](https://www.perforce.com/) 저장소에 있는 프로젝트를 지원합니다.

### 대시보드에서 Perforce 설정##configuring-perforce-on-the-dashboard

1. Build settings 페이지에서 **Source control** 탭을 선택합니다.
2. 드롭다운에서 **Manual setup**으로 이동해 **Perforce**를 선택합니다.
3. Source control provider URL 필드에 Perforce 서버의 URL을 입력합니다. `https://나` SSL 프로토콜을 사용할 URL을 지정할 수 있습니다. 다음은 유효한 URL의 예제입니다.
   * `https://127.0.0.1:1667`
   * `ssl:127.0.0.1:167`
4. P4에서 저장소에 대해 읽기 전용 액세스 권한이 있는 사용자를 생성합니다.
5. Build settings 페이지에서 필드에 사용자 이름과 비밀번호를 입력합니다.
6. **Save**를 선택합니다.

## 다음 단계##next-steps

* [첫 번째 빌드 구성](../basic-build-configuration/overview)을 만듭니다.
* [첫 번째 빌드를 실행](../run-builds/run-builds-manually)합니다.
