

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.

# Connexions pour l' GitLab autogestion
<a name="connections-gitlab-managed"></a>

Les connexions vous permettent d'autoriser et d'établir des configurations qui associent votre fournisseur tiers à vos AWS ressources. Pour associer votre référentiel tiers en tant que source pour votre pipeline, vous utilisez une connexion. 

**Note**  
Au lieu de créer ou d'utiliser une connexion existante dans votre compte, vous pouvez utiliser une connexion partagée entre un autre Compte AWS. Consultez [Utiliser une connexion partagée avec un autre compte](connections-shared.md).

**Note**  
Cette fonctionnalité n'est pas disponible dans les régions Asie-Pacifique (Hong Kong), Asie-Pacifique (Hyderabad), Asie-Pacifique (Jakarta), Asie-Pacifique (Melbourne), Asie-Pacifique (Osaka), Afrique (Le Cap), Moyen-Orient (Bahreïn), Moyen-Orient (Émirats arabes unis), Europe (Espagne), Europe (Zurich), Israël (Tel Aviv) ou AWS GovCloud (US-West). Pour consulter les autres actions disponibles, consultez[Intégrations de produits et de services avec CodePipeline](integrations.md). Pour les considérations relatives à cette action dans la région Europe (Milan), voir la note figurant dans[CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server et GitLab.com les actions GitLab autogérées](action-reference-CodestarConnectionSource.md).

Pour ajouter une action source GitLab autogérée dans CodePipeline, vous pouvez choisir de : 
+ Utilisez l'**assistant de ** création de pipeline de la CodePipeline console ou la ** page ** Modifier l'action pour choisir l'option de ** fournisseur ** GitLab autogéré. Voir [Création d'une connexion à GitLab Self-managed (console)](#connections-gitlab-managed-console) pour ajouter l'action. La console vous aide à créer une ressource hôte et une ressource de connexions.
+ Utilisez la CLI pour ajouter la configuration de l'`CreateSourceConnection`action avec le `GitLabSelfManaged` fournisseur et créer vos ressources :
  + Pour créer vos ressources de connexions, voir Création [Création d'un hôte et d'une connexion à l' GitLab autogestion (CLI)](#connections-gitlab-managed-cli) d'une ressource hôte et d'une ressource de connexions à l'aide de l'interface de ligne de commande.
  + Utilisez l'`CreateSourceConnection`exemple de configuration d'action [CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server et GitLab.com les actions GitLab autogérées](action-reference-CodestarConnectionSource.md) pour ajouter votre action comme indiqué dans[Création d'un pipeline (interface de ligne de commande)](pipelines-create.md#pipelines-create-cli).

**Note**  
Vous pouvez également créer une connexion à l'aide de la console Developer Tools sous ** Paramètres**. Voir [ Créer une connexion](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html).

Avant de commencer :
+ Vous devez déjà avoir créé un compte GitLab et disposer GitLab d'Enterprise Edition ou GitLab Community Edition avec une installation autogérée. Pour de plus amples informations, veuillez consulter [https://docs.gitlab.com/ee/subscriptions/self\_managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/).
**Note**  
Les connexions fournissent uniquement l’accès au compte qui a été utilisé pour créer et autoriser la connexion. 
**Note**  
Vous pouvez créer des connexions à un référentiel dans lequel vous avez le ** rôle ** Propriétaire GitLab, puis la connexion peut être utilisée avec des ressources telles que CodePipeline. Pour les référentiels dans des groupes, il n'est pas nécessaire d'être le propriétaire du groupe.
+ Vous devez déjà avoir créé un jeton d'accès GitLab personnel (PAT) avec le `api` scope. Si le mode Admin est activé sur votre GitLab instance, le PAT doit également inclure la `admin_mode` portée. Pour plus d'informations, consultez les sections Jetons d'accès [ personnels ](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) et Champs [ d'application des jetons d'accès ](https://docs.gitlab.com/security/tokens/access_token_scopes/) sur le GitLab site Web. Vous devez être administrateur pour créer et utiliser le PAT.
**Note**  
Votre PAT est utilisé pour autoriser l’hôte et n’est pas stocké ni utilisé par les connexions à d’autres fins. Pour configurer un hôte, vous pouvez créer un PAT temporaire, puis, une fois l’hôte configuré, vous pouvez le supprimer.
+ Vous pouvez choisir de configurer votre hôte à l'avance. Vous pouvez configurer un hôte avec ou sans VPC. Pour plus de détails sur la configuration du VPC et des informations supplémentaires sur la création d'un hôte, voir [ Créer un hôte](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html).

**Topics**
+ [Création d'une connexion à GitLab Self-managed (console)](#connections-gitlab-managed-console)
+ [Création d'un hôte et d'une connexion à l' GitLab autogestion (CLI)](#connections-gitlab-managed-cli)

## Création d'une connexion à GitLab Self-managed (console)
<a name="connections-gitlab-managed-console"></a>

Procédez comme suit pour utiliser la CodePipeline console afin d'ajouter une action de connexion pour votre référentiel GitLab autogéré.

**Note**  
GitLab les connexions autogérées fournissent uniquement un accès aux référentiels détenus par le compte GitLab autogéré qui a été utilisé pour créer la connexion.

**Avant de commencer : **

Pour qu'une connexion hôte soit GitLab autogérée, vous devez avoir suivi les étapes de création d'une ressource hôte pour votre connexion. Consultez la section [ Gérer les hôtes pour les connexions](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-hosts.html).

### Étape 1 : créer ou modifier votre pipeline
<a name="connections-gitlab-managed-console-action"></a>

**Pour créer ou modifier votre pipeline**

1. Connectez-vous à la CodePipeline console.

1. Choisissez l’une des options suivantes.
   + Choisissez de créer un pipeline. Suivez les étapes décrites dans * Créer un pipeline * pour terminer le premier écran et choisissez ** Suivant**. Sur la ** page ** Source, sous Fournisseur ** source**, choisissez ** GitLab Autogéré**.
   + Choisissez de modifier un pipeline existant. Choisissez ** Modifier**, puis sélectionnez ** Modifier l'étape**. Choisissez d'ajouter ou de modifier votre action source. Sur la ** page ** Modifier l'action, sous Nom de l'**action**, entrez le nom de votre action. Dans ** Action provider**, choisissez ** GitLab Autogéré**.

1. Effectuez l’une des actions suivantes :
   + Sous ** Connexion**, si vous n'avez pas encore créé de connexion avec votre fournisseur, choisissez ** Se connecter à l' GitLab autogestion**. Passez à l'étape 2 : créez une connexion à GitLab Self-managed.
   + Sous ** Connexion**, si vous avez déjà créé une connexion avec votre fournisseur, choisissez-la, puis passez à l'étape 3 : Enregistrer votre action source GitLab autogérée.

### Étape 2 : Création d'une connexion à GitLab Self-managed
<a name="connections-gitlab-managed-console-create"></a>

Une fois que vous avez choisi de créer la connexion, la ** page ** Connexion à GitLab l'autogestion s'affiche.

**Pour vous connecter à l' GitLab autogestion**

1. Dans **Connection name (Nom de la connexion)**, saisissez le nom de votre connexion.

1. Dans **URL**, saisissez le point de terminaison de votre serveur.
**Note**  
Si l'URL fournie a déjà été utilisée pour configurer un hôte pour une connexion, vous serez invité à choisir l'ARN de la ressource hôte qui a été créé précédemment pour ce point de terminaison.

1. Si vous avez lancé votre serveur dans un Amazon VPC et que vous souhaitez vous connecter à votre VPC, choisissez ** Utiliser un VPC ** et complétez les informations relatives au VPC.

1. Choisissez ** Se connecter à l' GitLab autogestion**. La connexion créée s'affiche avec le statut **En attente**. Une ressource hôte est créée pour la connexion avec les informations de serveur que vous avez fournies. Pour le nom d'hôte, l'URL est utilisée.

1. Choisissez **Update pending connection (Mettre à jour la connexion en attente).** 

1. Si une page s'ouvre avec un message de redirection confirmant que vous souhaitez continuer vers le fournisseur, choisissez ** Continuer**. Entrez l'autorisation du fournisseur.

1. Une {{host\_name}} ** page de ** configuration s'affiche. Dans ** Fournir un jeton d'accès personnel**, fournissez le `api` scope à votre GitLab PAT. Si le mode Admin est activé sur votre GitLab instance, le PAT doit également inclure la `admin_mode` portée. Pour plus d'informations, consultez la section Portées des jetons d'[accès ](https://docs.gitlab.com/security/tokens/access_token_scopes/) sur le GitLab site Web.
**Note**  
Seul un administrateur peut créer et utiliser le PAT.

   Sélectionnez **Continuer**.  
![Capture d'écran de la console montrant la saisie du jeton d'accès personnel GitLab autogéré pour le nouvel hôte](https://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/connections-create-glsm-pat.png)

1. La page de connexion affiche la connexion créée avec un statut **Disponible**.

### Étape 3 : Enregistrez votre action source GitLab autogérée
<a name="connections-gitlab-managed-console-save"></a>

Suivez ces étapes sur l'assistant ou sur la ** page ** Modifier l'action pour enregistrer votre action source avec vos informations de connexion.

**Pour terminer et enregistrer votre action source avec votre connexion**

1. Dans **Nom du référentiel**, choisissez le nom de votre référentiel tiers.

1. Sous Déclencheurs du ** pipeline, ** vous pouvez ajouter des déclencheurs si votre action est une CodeConnections action. Pour configurer la configuration des déclencheurs du pipeline et pour éventuellement filtrer à l'aide de déclencheurs, voir plus de détails dans[Ajouter un déclencheur avec des types d'événements de type « code push » ou « pull request »](pipelines-filter.md).

1. Dans **Output artifact format (Format d'artefact de sortie)**, vous devez choisir le format de vos artefacts. 
   + Pour stocker les artefacts de sortie de l'action GitLab autogérée à l'aide de la méthode par défaut, choisissez ** CodePipeline default**. L'action accède aux fichiers depuis le référentiel et stocke les artefacts dans un fichier ZIP dans le magasin d'artefacts du pipeline.
   + Pour stocker un fichier JSON contenant une référence d'URL au référentiel afin que les actions en aval puissent exécuter directement les commandes Git, choisissez **Full clone (Clone complet)**. Cette option ne peut être utilisée que par des actions CodeBuild en aval.

1. Choisissez ** Suivant ** dans l'assistant ou ** Enregistrer ** sur la ** page ** Modifier l'action.

## Création d'un hôte et d'une connexion à l' GitLab autogestion (CLI)
<a name="connections-gitlab-managed-cli"></a>

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour créer une connexion. 

Pour ce faire, utilisez la commande **create-connection**. 

**Important**  
Une connexion créée via le AWS CLI ou AWS CloudFormation est en `PENDING` statut par défaut. Après avoir créé une connexion à l'aide de l'interface de ligne de commande CloudFormation, utilisez la console pour modifier la connexion afin de définir son état`AVAILABLE`.

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour créer un hôte pour les connexions installées. 

Vous utilisez un hôte pour représenter le point de terminaison de l'infrastructure sur laquelle votre fournisseur tiers est installé. Une fois que vous avez terminé la création de l'hôte à l'aide de l'interface de ligne de commande, l'hôte passe au ** statut En ** attente. Vous configurez ou enregistrez ensuite l'hôte pour le faire passer au ** statut ** Disponible. Une fois l'hôte disponible, procédez comme suit pour créer une connexion.

Pour ce faire, utilisez la commande **create-host**. 

**Important**  
Un hôte créé via le AWS CLI est en `Pending` statut par défaut. Après avoir créé un hôte à l'aide de l'interface de ligne de commande, utilisez la console ou l'interface de ligne de commande pour configurer l'hôte afin de définir son statut`Available`.

**Pour créer un hôte**

1. Ouvrez une invite de terminal (Linux, macOS ou Unix) ou de commande (Windows). Utilisez le AWS CLI pour exécuter la **create-host** commande, en spécifiant le `--name``--provider-type`, et `--provider-endpoint` pour votre connexion. Dans cet exemple, le nom du fournisseur tiers est `GitLabSelfManaged` et le point de terminaison est `my-instance.dev`.

   ```
   aws codestar-connections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"
   ```

   En cas de succès, cette commande renvoie les informations Amazon Resource Name (ARN) hôte semblables à ce qui suit.

   ```
   {
       "HostArn": "arn:aws:codestar-connections:us-west-2:{{account_id}}:host/My-Host-28aef605"
   }
   ```

   Après cette étape, l'hôte présente l'état `PENDING`.

1. Utilisez la console pour terminer la configuration de l'hôte et passer l'hôte vers l'état `Available`.

**Pour créer une connexion à GitLab Self-managed**

1. Ouvrez une invite de terminal (Linux, macOS ou Unix) ou de commande (Windows). Utilisez le AWS CLI pour exécuter la **create-connection** commande, en spécifiant le `--host-arn` et `--connection-name` pour votre connexion.

   ```
   aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:{{account_id}}:host/MyHost-234EXAMPLE --connection-name MyConnection
   ```

   En cas de succès, cette commande renvoie les informations ARN de connexion semblables à ce qui suit.

   ```
   {
       "ConnectionArn": "arn:aws:codestar-connections:us-west-2:{{account_id}}:connection/aEXAMPLE-8aad"
   }
   ```

1. Utilisez la console pour configurer la connexion en attente.

1. Le pipeline détecte par défaut les modifications lors de l'envoi de code vers le référentiel des sources de connexion. Pour configurer la configuration du déclencheur du pipeline pour une publication manuelle ou pour les balises Git, effectuez l'une des opérations suivantes :
   + Pour configurer la configuration du déclencheur du pipeline afin qu'elle démarre uniquement par une version manuelle, ajoutez la ligne suivante à la configuration : 

     ```
     "DetectChanges": "false",
     ```
   + Pour configurer la configuration des déclencheurs du pipeline afin de filtrer à l'aide de déclencheurs, voir plus de détails dans[Ajouter un déclencheur avec des types d'événements de type « code push » ou « pull request »](pipelines-filter.md). Par exemple, ce qui suit ajoute au niveau du pipeline de la définition JSON du pipeline. Dans cet exemple, `release-v0` et `release-v1` indiquent les balises Git à inclure et `release-v2` la balise Git à exclure.

     ```
     "triggers": [
                 {
                     "providerType": "CodeStarSourceConnection",
                     "gitConfiguration": {
                         "sourceActionName": "Source",
                         "push": [
                             {
                                 "tags": {
                                     "includes": [
                                         "release-v0", "release-v1"
                                     ],
                                     "excludes": [
                                         "release-v2"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```