

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AFT 내 소스 코드의 버전 관리를 위한 대안
<a name="aft-alternative-vcs"></a>

AFT는 소스 코드 버전 제어 시스템(VCS) AWS CodeCommit 에를 사용하며 비즈니스 요구 사항 또는 기존 아키텍처를 충족하는 다른 [CodeConnections](https://docs.aws.amazon.com//dtconsole/latest/userguide/supported-versions-connections.html)를 허용합니다.

AFT를 처음 배포하고 기존 CodeCommit 리포지토리가 없는 경우 AFT 배포 사전 조건의 일부로 외부 VCS 공급자를 지정해야 합니다.

**AFT는 다음과 같은 소스 코드 관리 대안을 지원합니다.**
+ GitHub
+ GitHub Enterprise Server
+ BitBucket
+ GitLab
+ GitLab 자체 관리형

**참고**  
를 VCS AWS CodeCommit 로 지정하는 경우 추가 단계가 필요하지 않습니다. AFT는 사용자 환경에 필요한 `git` 리포지토리를 기본 이름으로 생성합니다. 하지만 필요에 따라 조직 표준을 준수하기 위해 CodeCommit의 기본 리포지토리 이름을 재정의할 수 있습니다.

## AFT를 사용하여 대체 소스 코드 버전 관리 시스템(사용자 지정 VCS) 설정
<a name="aft-alternate-vcs-steps"></a>

AFT 배포를 위한 대체 소스 코드 버전 관리 시스템을 설정하려면 다음 단계를 따르세요.

**1단계: 지원되는 타사 버전 관리 시스템(VCS)에서 `git` 리포지토리를 생성합니다.**

를 사용하지 않는 경우 다음 항목에 대해 AFT 지원 타사 VCS 공급자 환경에서 `git`리포지토리를 생성 AWS CodeCommit해야 합니다.
+ **AFT 계정 요청.** [사용 가능한 샘플 코드](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-request). AFT 계정 요청에 대한 자세한 내용은 [AFT를 사용하여 새 계정 프로비저닝](aft-provision-account.md) 섹션을 참조하세요.
+ **AFT 계정 프로비저닝 사용자 지정.** [사용 가능한 샘플 코드](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-provisioning-customizations). AFT 계정 프로비저닝 사용자 지정에 대한 자세한 내용은 [AFT 계정 프로비저닝 사용자 지정 상태 시스템 생성](aft-provisioning-framework.md#aft-create-customizations) 섹션을 참조하세요.
+ **AFT 글로벌 사용자 지정.** [사용 가능한 샘플 코드](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-global-customizations). AFT 글로벌 사용자 지정에 대한 자세한 내용은 [계정 사용자 지정](aft-account-customization-options.md) 섹션을 참조하세요.
+ **AFT 계정 사용자 지정.** [사용 가능한 샘플 코드](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-customizations). AFT 계정 사용자 지정에 대한 자세한 내용은 [계정 사용자 지정](aft-account-customization-options.md) 섹션을 참조하세요.

**2단계: AFT 배포에 필요한 VCS 구성 파라미터 지정**

다음 입력 파라미터는 AFT 배포의 일부로 VCS 공급자를 구성하는 데 필요합니다.
+ **vcs\$1provider**:를 사용하지 않는 경우 사용 사례에 따라 VCS 공급자를 `"bitbucket"`, `"gitlab"`, `"github"` `"githubenterprise"`또는 로 AWS CodeCommit지정합니다.
+ **github\$1enterprise\$1url**: GitHub Enterprise 고객의 경우에만 GitHub URL을 지정합니다.
+ **account\$1request\$1repo\$1name**: AWS CodeCommit 사용자의 경우이 값은 로 설정됩니다`aft-account-request`. AFT 지원 타사 VCS 공급자 환경에서 이 입력 값을 실제 리포지토리 이름으로 업데이트합니다. BitBucket, Github, GitHub Enterprise, GitLab 및 GitLab 자체 관리형의 경우 리포지토리 이름은 `[Org]/[Repo]` 형식이어야 합니다.
+ **account\$1customizations\$1repo\$1name**: AWS CodeCommit 사용자의 경우이 값은 로 설정됩니다`aft-account-customizations`. AFT 지원 타사 VCS 공급자 환경에서 이 입력 값을 리포지토리 이름으로 업데이트합니다. BitBucket, Github, GitHub Enterprise, GitLab 및 GitLab 자체 관리형의 경우 리포지토리 이름은 `[Org]/[Repo]` 형식이어야 합니다.
+ **account\$1provisioning\$1customizations\$1repo\$1name**: AWS CodeCommit 사용자의 경우 이 값은 `aft-account-provisioning-customizations`로 설정됩니다. AFT 지원 타사 VCS 공급자 환경에서 이 입력 값을 리포지토리 이름으로 업데이트합니다. BitBucket, Github, GitHub Enterprise, GitLab 및 GitLab 자체 관리형의 경우 리포지토리 이름은 `[Org]/[Repo]` 형식이어야 합니다.
+ **global\$1customizations\$1repo\$1name**: AWS CodeCommit 사용자의 경우이 값은 로 설정됩니다`aft-global-customizations`. AFT 지원 타사 VCS 공급자 환경에서 이 입력 값을 리포지토리 이름으로 업데이트합니다. BitBucket, Github, GitHub Enterprise, GitLab 및 GitLab 자체 관리형의 경우 리포지토리 이름은 `[Org]/[Repo]` 형식이어야 합니다.
+ **account\$1request\$1repo\$1branch**: 브랜치는 기본적으로 `main`이지만 값을 재정의할 수 있습니다.

기본적으로 AFT는 각 `git` 리포지토리의 `main` 브랜치에서 소스를 가져옵니다. 추가 입력 파라미터를 사용하여 브랜치 이름 값을 재정의할 수 있습니다. 입력 파라미터에 대한 자세한 내용은 [AFT Terraform 모듈](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/main/README.md#inputs)의 README 파일을 참조하세요.

**기존 AWS CodeCommit 고객의 경우**  
 AFT의 새 이름으로 CodeCommit 리포지토리를 생성하는 경우 이러한 입력 파라미터의 값을 업데이트하여 리포지토리 이름을 업데이트할 수 있습니다.

**3단계: 타사 VCS 공급자에 대한 AWS CodeCommit 연결 완료**

배포가 실행되면 AFT는 필요한 AWS CodeCommit 리포지토리를 생성하거나 선택한 타사 VCS 공급자에 대한 AWS CodeCommit 연결을 생성합니다. 후자의 경우 AFT 관리 계정의 콘솔에 수동으로 로그인하여 보류 중인 CodeCommit 연결을 완료해야 합니다. CodeCommit 연결을 완료하는 방법에 대한 자세한 지침은 [AWS CodeCommit 설명서](https://docs.aws.amazon.com//dtconsole/latest/userguide/connections-update.html)를 참조하세요.

# AFT를AWS CodeCommit에서 다른 VCS 공급자로 이동
<a name="move-a-vcs"></a>

이 섹션에서는 AWS Control Tower Account Factory for Terraform(AFT)을 버전 관리 시스템(VCS)으로AWS CodeCommit에서 다른 VCS 공급자로 이동하는 방법에 대한 개요를 제공합니다.

**1단계.** 선택한 VCS에서 새 리포지토리를 설정합니다.

**2단계.** `git`에서 이러한 리포지토리를 새 원격으로 추가합니다.

**3단계.** 새 VCS 제공업체로 `git push`를 실행합니다.

**참고**  
생성하는 리포지토리 구조는 in AWS CodeCommit과 동일해야 합니다. 구조를 변경하면 원하는 코드를 AFT가 실행할 수 없게 됩니다.  
aft-account-request
 aft-account-customizations
 aft-global-customizations
aft-account-provisioning-customizations

**4단계.** AWS Control Tower 관리 계정에서 다음 예제와 같이 VCS 제공업체를 가리키도록 Terraform 모듈(부트스트랩)을 업데이트합니다.

**예: **[Terraform OSS를 사용하는 GitLab](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/main/examples/gitlab%2Btf_oss/main.tf)

- `terraform plan`을 실행하여 변경 사항을 미리 본 다음 `terraform apply`를 실행합니다.

**5단계.** 다음과 같이 CodeConnection(이전 CodeStar) 설정을 마치기 위한 단계를 완료합니다.

1. AFT 관리 계정에 로그인합니다.

1. 보류 중인 [연결 업데이트](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) 또는AWS콘솔 []에 설명된 대로 새 VCS 공급자에 대한 pending AWS CodeConnections를 찾아 완료합니다`https://us-east-1.console.aws.amazon.com/codesuite/settings/connections`.

1. 참조: [배포 후 단계](https://docs.aws.amazon.com//controltower/latest/userguide/aft-post-deployment.html)

**참고**  
계정 파이프라인은 `aft-invoke-customizations` *Step Functions*가 간접적으로 호출될 때까지 이전 소스를 유지합니다. 이 간접 호출은 업그레이드의 일부 또는 다음 사용자 지정의 간접 호출의 일부로 수행됩니다.

자세한 내용은이 블로그: [How to migration your AWS CodeCommit repository to other Git provider를 참조하세요](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider).