

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Alternatives pour le contrôle de version du code source dans AFT
<a name="aft-alternative-vcs"></a>

AFT utilise un système AWS CodeCommit de contrôle de version du code source (VCS) et en autorise d'autres [CodeConnections](https://docs.aws.amazon.com//dtconsole/latest/userguide/supported-versions-connections.html)qui répondent aux exigences de votre entreprise ou à votre architecture existante.

Si vous déployez AFT pour la première fois et que vous n'avez pas de CodeCommit référentiel existant, vous devez spécifier un fournisseur VCS externe, dans le cadre des conditions préalables au déploiement d'AFT.

**AFT prend en charge les alternatives de contrôle du code source suivantes :**
+ GitHub
+ GitHub Serveur d'entreprise
+ BitBucket
+ GitLab
+ GitLab Autogéré

**Note**  
Si vous AWS CodeCommit le spécifiez comme VCS, aucune étape supplémentaire n'est requise. AFT crée les `git` référentiels nécessaires dans votre environnement, avec des noms par défaut. Toutefois, vous pouvez remplacer les noms de référentiel par défaut afin de respecter les CodeCommit normes de votre organisation, le cas échéant.

## Mettre en place un autre système de contrôle de version du code source (VCS personnalisé) avec AFT
<a name="aft-alternate-vcs-steps"></a>

Pour configurer un autre système de contrôle de version du code source pour votre déploiement AFT, procédez comme suit.

**Étape 1 : créer des `git` référentiels dans un système de contrôle de version (VCS) tiers pris en charge.**

Si vous n'en utilisez pas AWS CodeCommit, vous devez créer des `git` référentiels dans votre environnement de fournisseur VCS tiers pris en charge par AFT pour les éléments suivants.
+ **Demandes de compte AFT.** [Exemple de code disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-request). Pour plus d'informations sur les demandes de compte AFT, consultez[Création d'un nouveau compte auprès de l'AFT](aft-provision-account.md).
+ **Personnalisations du provisionnement des comptes AFT.** [Exemple de code disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-provisioning-customizations). Pour plus d'informations sur les personnalisations de provisionnement des comptes AFT, consultez. [Créez votre compte AFT, provisionnement, personnalisation, machine à états](aft-provisioning-framework.md#aft-create-customizations)
+ **Personnalisations globales d'AFT.** [Exemple de code disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-global-customizations). Pour plus d'informations sur les personnalisations globales d'AFT, consultez[Personnaliser le compte](aft-account-customization-options.md).
+ **Personnalisations du compte AFT.** [Exemple de code disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-customizations). Pour plus d'informations sur les personnalisations des comptes AFT, consultez[Personnaliser le compte](aft-account-customization-options.md).

**Étape 2 : Spécifier les paramètres de configuration VCS requis pour le déploiement d'AFT**

Les paramètres d'entrée suivants sont nécessaires pour configurer votre fournisseur VCS dans le cadre du déploiement AFT.
+ **vcs\$1provider** : Si vous ne l'utilisez pas AWS CodeCommit, spécifiez le fournisseur VCS sous la forme,, ou `"bitbucket"` `"github"` `"githubenterprise"``"gitlab"`, en fonction de votre cas d'utilisation.
+ **github\$1enterprise\$1url** : pour les clients GitHub Enterprise uniquement, spécifiez l'URL. GitHub 
+ **account\$1request\$1repo\$1name** : pour les AWS CodeCommit utilisateurs, cette valeur est définie sur. `aft-account-request` Dans un environnement de fournisseur VCS tiers compatible avec l'AFT, mettez à jour cette valeur d'entrée avec le nom réel de votre référentiel. Pour BitBucket Github, GitHub Enterprise et GitLab Self-managed GitLab, le nom du référentiel doit avoir le format. `[Org]/[Repo]`
+ **account\$1customizations\$1repo\$1name** : pour les AWS CodeCommit utilisateurs, cette valeur est définie sur. `aft-account-customizations` Dans un environnement de fournisseur VCS tiers compatible avec l'AFT, mettez à jour cette valeur d'entrée avec le nom de votre référentiel. Pour BitBucket Github, GitHub Enterprise et GitLab Self-managed GitLab, le nom du référentiel doit avoir le format. `[Org]/[Repo]`
+ **account\$1provisioning\$1customizations\$1repo\$1name** : pour les utilisateurs, cette valeur est définie sur. AWS CodeCommit `aft-account-provisioning-customizations` Dans un environnement de fournisseur VCS tiers compatible avec l'AFT, mettez à jour cette valeur d'entrée avec le nom de votre référentiel. Pour BitBucket Github, GitHub Enterprise et GitLab Self-managed GitLab, le nom du référentiel doit avoir le format. `[Org]/[Repo]`
+ **global\$1customizations\$1repo\$1name** : pour les AWS CodeCommit utilisateurs, cette valeur est définie sur. `aft-global-customizations` Dans un environnement de fournisseur VCS tiers compatible avec l'AFT, mettez à jour cette valeur d'entrée avec le nom de votre référentiel. Pour BitBucket Github, GitHub Enterprise et GitLab Self-managed GitLab, le nom du référentiel doit avoir le format. `[Org]/[Repo]`
+ **account\$1request\$1repo\$1branch : La branche existe** `main` par défaut, mais la valeur peut être remplacée.

Par défaut, les sources AFT proviennent de la `main` branche de chaque `git` dépôt. Vous pouvez remplacer la valeur du nom de branche par un paramètre d'entrée supplémentaire. Pour plus d'informations sur les paramètres d'entrée, reportez-vous au fichier README du module [AFT Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/main/README.md#inputs).

**Pour les AWS CodeCommit clients existants**  
 Si vous créez un CodeCommit dépôt avec un nouveau nom pour AFT, vous pouvez mettre à jour le nom du dépôt en mettant à jour les valeurs de ces paramètres d'entrée.

**Étape 3 : terminer la AWS CodeCommit connexion pour les fournisseurs VCS tiers**

Lorsque votre déploiement s'exécute, AFT crée les AWS CodeCommit référentiels requis ou crée une AWS CodeCommit connexion pour le fournisseur VCS tiers que vous avez choisi. Dans ce dernier cas, vous devez vous connecter manuellement à la console du compte de gestion AFT pour terminer la CodeCommit connexion en attente. Consultez [la AWS CodeCommit documentation](https://docs.aws.amazon.com//dtconsole/latest/userguide/connections-update.html) pour obtenir des instructions supplémentaires sur l'établissement de la CodeCommit connexion. 

# Transférer AFT d'un AWS CodeCommit fournisseur de VCS à un autre
<a name="move-a-vcs"></a>

Cette section explique comment vous pouvez transférer AWS Control Tower Account Factory for Terraform (AFT) de votre système de contrôle de AWS CodeCommit version (VCS) vers un autre fournisseur de VCS.

**Étape 1. ** Configurez de nouveaux référentiels dans le VCS de votre choix.

**Étape 2. ** Ajoutez ces référentiels en tant que nouvelles télécommandes. `git`

**Étape 3.** Exécutez `git push` vers le nouveau fournisseur VCS.

**Note**  
La structure du référentiel que vous créez doit être la même que dans AWS CodeCommit. La modification de la structure empêche l'AFT d'exécuter le code souhaité.  
aft-account-request
 aft-account-customizations
 aft-global-customizations
aft-account-provisioning-customizations

**Étape 4.** Dans votre compte de gestion AWS Control Tower, mettez à jour le module Terraform (bootstrap) pour qu'il pointe vers votre fournisseur VCS, comme indiqué dans l'exemple suivant :

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

— Exécutez ensuite `terraform plan` pour prévisualiser les modifications`terraform apply`.

**Étape 5. ** Suivez les étapes pour terminer la configuration du CodeConnection (anciennement connu sous le nom de CodeStar) : 

1. Connectez-vous à votre compte de gestion AFT

1. Localisez et terminez le dossier en attente AWS CodeConnections pour le nouveau fournisseur VCS, comme décrit dans [Mettre à jour une connexion en attente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html), ou dans la AWS console, [`https://us-east-1.console.aws.amazon.com/codesuite/settings/connections`].

1. Référence : Étapes [après le déploiement](https://docs.aws.amazon.com//controltower/latest/userguide/aft-post-deployment.html)

**Note**  
Les pipelines de comptes conservent la source précédente jusqu'à ce que `aft-invoke-customizations` *Step Functions* soit invoqué. Cette invocation peut être effectuée dans le cadre de la mise à niveau ou lors des prochains appels de personnalisation.

Pour plus d'informations, consultez ce blog : [Comment migrer votre AWS CodeCommit dépôt vers un autre fournisseur Git](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider).