

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Alternativas para el control de versiones del código fuente en AFT
<a name="aft-alternative-vcs"></a>

AFT utiliza AWS CodeCommit un sistema de control de versiones de código fuente (VCS) y permite utilizar otros [CodeConnections](https://docs.aws.amazon.com//dtconsole/latest/userguide/supported-versions-connections.html)que cumplan con los requisitos de su negocio o con la arquitectura existente.

Si va a implementar AFT por primera vez y no tiene un CodeCommit repositorio existente, debe especificar un proveedor de VCS externo, como parte de los requisitos previos de implementación de AFT.

**AFT admite las siguientes alternativas para el control del código fuente:**
+ GitHub
+ GitHub Servidor empresarial
+ BitBucket
+ GitLab
+ GitLab Autogestionado

**nota**  
Si lo especifica AWS CodeCommit como su VCS, no es necesario realizar ningún paso adicional. AFT crea los repositorios de `git` necesarios en el entorno, con los nombres predeterminados. Sin embargo, puede anular los nombres de los repositorios predeterminados CodeCommit, según sea necesario, para cumplir con los estándares de su organización.

## Configuración de un sistema de control de versiones de código fuente alternativo (VCS personalizado) con AFT
<a name="aft-alternate-vcs-steps"></a>

Para configurar un sistema de control de versiones de código fuente alternativo para la implementación de AFT, siga estos pasos.

**Paso 1: crear repositorios de `git` en un sistema de control de versiones (VCS) externo compatible.**

Si no los utiliza AWS CodeCommit, debe crear `git` repositorios en su entorno de proveedores de VCS de terceros compatibles con AFT para los siguientes elementos.
+ **Solicitudes de cuentas de AFT.** [Código de ejemplo disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-request). Para obtener más información acerca de solicitudes de cuentas de AFT, consulte [Aprovisionamiento de una nueva cuenta con AFT](aft-provision-account.md).
+ **Personalizaciones de aprovisionamiento de cuentas de AFT.** [Código de ejemplo disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-provisioning-customizations). Para obtener más información sobre las personalizaciones del aprovisionamiento de cuentas de AFT, consulte [Creación de la máquina de estado de personalizaciones de aprovisionamiento de cuentas de AFT](aft-provisioning-framework.md#aft-create-customizations).
+ **Personalizaciones globales de AFT.** [Código de ejemplo disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-global-customizations). Para obtener más información sobre las personalizaciones globales de AFT, consulte [Personalizaciones de cuentas](aft-account-customization-options.md).
+ **Personalizaciones de cuentas de AFT.** [Código de ejemplo disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-customizations). Para obtener más información sobre las personalizaciones de cuentas de AFT, consulte [Personalizaciones de cuentas](aft-account-customization-options.md).

**Paso 2: especificar los parámetros de configuración de VCS necesarios para la implementación de AFT**

Los siguientes parámetros de entrada son necesarios para configurar el proveedor de VCS como parte de la implementación de AFT.
+ **vcs\$1provider**: Si no lo está utilizando AWS CodeCommit, especifique el proveedor de VCS como,, o `"bitbucket"` `"github"``"githubenterprise"`, según su caso de uso. `"gitlab"`
+ **github\$1enterprise\$1url: solo para clientes empresariales**, especifique la URL. GitHub GitHub 
+ **account\$1request\$1repo\$1name: para** los usuarios, este valor se establece en. AWS CodeCommit `aft-account-request` En un entorno de proveedor externo de VCS compatible con AFT, actualice este valor de entrada con el nombre real del repositorio. BitBucketEn el caso de Github, GitHub Enterprise y GitLab Self-managed GitLab, el nombre del repositorio debe tener ese formato. `[Org]/[Repo]`
+ **account\$1customizations\$1repo\$1name**: para los usuarios, este valor se establece en. AWS CodeCommit `aft-account-customizations` En un entorno de proveedor externo de VCS compatible con AFT, actualice este valor de entrada con el nombre del repositorio. BitBucketEn el caso de Github, GitHub Enterprise y GitLab Self-managed GitLab, el nombre del repositorio debe tener ese formato. `[Org]/[Repo]`
+ **account\$1provisioning\$1customizations\$1repo\$1name:** este valor se establece en `aft-account-provisioning-customizations` para los usuarios de AWS CodeCommit . En un entorno de proveedor externo de VCS compatible con AFT, actualice este valor de entrada con el nombre del repositorio. BitBucketEn el caso de Github GitLab, GitHub Enterprise y GitLab Self-Managed, el nombre del repositorio debe tener ese formato. `[Org]/[Repo]`
+ **global\$1customizations\$1repo\$1name**: para los usuarios, este valor se establece en. AWS CodeCommit `aft-global-customizations` En un entorno de proveedor externo de VCS compatible con AFT, actualice este valor de entrada con el nombre del repositorio. BitBucketEn el caso de Github, GitHub Enterprise y GitLab Self-managed GitLab, el nombre del repositorio debe tener ese formato. `[Org]/[Repo]`
+ **account\$1request\$1repo\$1branch:** la ramificación es `main` de forma predeterminada, pero el valor se puede anular. 

De forma predeterminada, AFT se extrae de la rama/ramificación `main` de cada repositorio de `git`. Puede anular el valor del nombre de la ramificación con un parámetro de entrada adicional. Para obtener más información sobre los parámetros de entrada, consulte el archivo README en el [módulo de AFT Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/main/README.md#inputs).

**Para clientes actuales AWS CodeCommit**  
 Si crea un CodeCommit repositorio con un nombre nuevo para AFT, puede actualizar el nombre del repositorio actualizando los valores de estos parámetros de entrada.

**Paso 3: Complete la AWS CodeCommit conexión para los proveedores de VCS de terceros**

Cuando se ejecuta su implementación, AFT crea los AWS CodeCommit repositorios necesarios o crea una AWS CodeCommit conexión para el proveedor de VCS externo que elija. En este último caso, debe iniciar sesión manualmente en la consola de la cuenta de administración de AFT para completar la conexión pendiente CodeCommit . Consulte [la AWS CodeCommit documentación](https://docs.aws.amazon.com//dtconsole/latest/userguide/connections-update.html) para obtener más instrucciones sobre cómo completar la CodeCommit conexión. 

# Mover AFT de AWS CodeCommit a otro proveedor de VCS
<a name="move-a-vcs"></a>

En esta sección se ofrece información general sobre cómo puede transferir AWS Control Tower Account Factory for Terraform (AFT) de AWS CodeCommit un sistema de control de versiones (VCS) a otro proveedor de VCS.

**Paso 1.** Configure nuevos repositorios en el VCS que prefiera.

**Paso 2.** Añada estos repositorios como nuevos controles remotos en `git`.

**Paso 3.** Ejecute `git push` en el nuevo proveedor de VCS.

**nota**  
La estructura de repositorios que cree debe ser la misma que en.AWS CodeCommit Cambiar la estructura impide que AFT pueda ejecutar el código deseado.  
aft-account-request
 aft-account-customizations
 aft-global-customizations
aft-account-provisioning-customizations

**Paso 4.** En su cuenta de administración de AWS Control Tower, actualice el módulo Terraform (bootstrap) para que apunte a su proveedor de VCS, como se muestra en el siguiente ejemplo:

**Ejemplo: GitLab ** [con Terraform OSS](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/main/examples/gitlab%2Btf_oss/main.tf)

— Ejecute `terraform plan` para obtener una vista previa de los cambios, luego `terraform apply`.

**Paso 5.** Complete los pasos para terminar de configurar el CodeConnection (anteriormente conocido como CodeStar): 

1. Inicie sesión en la cuenta de administración de AFT.

1. Localice y complete los datos pendientes AWS CodeConnections del nuevo proveedor de VCS, tal y como se describe en [Actualizar una conexión pendiente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html), o en la AWS consola, [`https://us-east-1.console.aws.amazon.com/codesuite/settings/connections`].

1. Referencia: [Pasos posteriores a la implementación](https://docs.aws.amazon.com//controltower/latest/userguide/aft-post-deployment.html)

**nota**  
Las canalizaciones de cuentas conservan el origen anterior hasta que se invoque `aft-invoke-customizations` *Step Functions*. Esta invocación se puede realizar como parte de la actualización o como parte de las siguientes invocaciones de personalizaciones.

Para obtener más información, consulta este blog: [Cómo migrar tu AWS CodeCommit repositorio a otro proveedor de Git](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider).