

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Connessioni per la GitLab gestione automatica
<a name="connections-gitlab-managed"></a>

Le connessioni consentono di autorizzare e stabilire configurazioni che associano il provider di terze parti alle risorse. AWS Per associare il repository di terze parti come fonte per la pipeline, si utilizza una connessione. 

**Nota**  
Invece di creare o utilizzare una connessione esistente nel tuo account, puoi utilizzare una connessione condivisa tra un altro. Account AWS Per informazioni, consulta [Usa una connessione condivisa con un altro account](connections-shared.md).

**Nota**  
Questa funzionalità non è disponibile nelle regioni Asia Pacifico (Hong Kong), Asia Pacifico (Hyderabad), Asia Pacifico (Giacarta), Asia Pacifico (Melbourne), Asia Pacifico (Osaka), Africa (Città del Capo), Medio Oriente (Bahrein), Medio Oriente (Emirati Arabi Uniti), Europa (Spagna), Europa (Zurigo), Israele (Tel Aviv) o (Stati Uniti occidentali). AWS GovCloud Per fare riferimento ad altre azioni disponibili, consulta. [Integrazioni di prodotti e servizi con CodePipeline](integrations.md) Per considerazioni su questa azione nella regione Europa (Milano), si veda la nota in[CodeStarSourceConnection per Bitbucket Cloud, GitHub Enterprise Server GitHub, GitLab .com e GitLab azioni autogestite](action-reference-CodestarConnectionSource.md).

Per aggiungere un'azione sorgente GitLab autogestita in CodePipeline, puoi scegliere tra: 
+ Utilizza la procedura guidata **Crea pipeline** della CodePipeline console o la pagina **Modifica azione** per scegliere l'opzione del provider **GitLabautogestito**. Vedi [Crea una connessione a una rete GitLab autogestita (console)](#connections-gitlab-managed-console) per aggiungere l'azione. La console ti aiuta a creare una risorsa host e una risorsa di connessione.
+ Utilizza la CLI per aggiungere la configurazione dell'azione per l'`CreateSourceConnection`azione con il `GitLabSelfManaged` provider e creare le tue risorse:
  + Per creare le tue risorse di connessione, consulta [Creazione di un host e connessione a sistemi GitLab autogestiti (CLI)](#connections-gitlab-managed-cli) Creare una risorsa host e una risorsa di connessione con la CLI.
  + Usa l'`CreateSourceConnection`esempio di configurazione dell'azione in [CodeStarSourceConnection per Bitbucket Cloud, GitHub Enterprise Server GitHub, GitLab .com e GitLab azioni autogestite](action-reference-CodestarConnectionSource.md) per aggiungere la tua azione come mostrato in[Creazione di una pipeline (CLI)](pipelines-create.md#pipelines-create-cli).

**Nota**  
Puoi anche creare una connessione utilizzando la console Developer Tools in **Impostazioni**. Vedi [Creare una connessione](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html).

Prima di iniziare:
+ È necessario aver già creato un account con GitLab GitLab Enterprise Edition o GitLab Community Edition con installazione autogestita. Per ulteriori informazioni, consulta [https://docs.gitlab.com/ee/subscriptions/self\$1managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/).
**Nota**  
Le connessioni forniscono l'accesso solo all'account utilizzato per creare e autorizzare la connessione. 
**Nota**  
È possibile creare connessioni a un repository in cui si ricopre il ruolo di **Proprietario** e quindi la connessione può essere utilizzata con risorse come. GitLab CodePipeline Per i repository nei gruppi, non è necessario essere il proprietario del gruppo.
+ È necessario aver già creato un token di accesso GitLab personale (PAT) con solo la seguente autorizzazione limitata: api. [Per ulteriori informazioni, consulta \$1access\$1tokens.html. https://docs.gitlab.com/ee/ user/profile/personal](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) È necessario essere un amministratore per creare e utilizzare il PAT.
**Nota**  
Il PAT viene utilizzato per autorizzare l'host e non viene altrimenti archiviato o utilizzato dalle connessioni. Per configurare un host, puoi creare un PAT temporaneo e quindi, dopo aver configurato l'host, puoi eliminare il PAT.
+ Puoi scegliere di configurare il tuo host in anticipo. Puoi configurare un host con o senza un VPC. Per dettagli sulla configurazione del VPC e informazioni aggiuntive sulla creazione di un host, consulta [Creare un](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html) host.

**Topics**
+ [Crea una connessione a una rete GitLab autogestita (console)](#connections-gitlab-managed-console)
+ [Creazione di un host e connessione a sistemi GitLab autogestiti (CLI)](#connections-gitlab-managed-cli)

## Crea una connessione a una rete GitLab autogestita (console)
<a name="connections-gitlab-managed-console"></a>

Segui questi passaggi per utilizzare la CodePipeline console e aggiungere un'azione di connessione per il tuo repository GitLab autogestito.

**Nota**  
GitLab le connessioni autogestite forniscono l'accesso solo agli archivi di proprietà dell'account GitLab autogestito utilizzato per creare la connessione.

**Prima di iniziare:**

Per una connessione host a GitLab gestione automatica, è necessario aver completato i passaggi per creare una risorsa host per la connessione. Vedi [Gestire gli host per le connessioni](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-hosts.html).

### Passaggio 1: crea o modifica la tua pipeline
<a name="connections-gitlab-managed-console-action"></a>

**Per creare o modificare la tua pipeline**

1. Accedi alla CodePipeline console.

1. Scegliere una delle seguenti opzioni.
   + Scegli di creare una pipeline. **Segui i passaggi descritti in *Crea una pipeline* per completare la prima schermata e scegli Avanti.** Nella pagina **Sorgente**, in **Provider di origine**, scegli Gestione **GitLab automatica**.
   + Scegli di modificare una pipeline esistente. Scegliete **Modifica**, quindi scegliete **Modifica fase**. Scegli di aggiungere o modificare l'azione sorgente. Nella pagina **Modifica azione**, in **Nome azione**, inserisci il nome dell'azione. In **Action provider**, scegli **GitLab Autogestito.**

1. Esegui una delle seguenti operazioni:
   + In **Connessione**, se non hai già creato una connessione con il tuo provider, scegli **Connetti a GitLab gestione automatica**. Procedi al passaggio 2: creazione di una connessione a gestione GitLab automatica.
   + In **Connessione**, se hai già creato una connessione al tuo provider, scegli la connessione, quindi procedi al Passaggio 3: Salva l'azione sorgente GitLab gestita autonomamente.

### Passaggio 2: creare una connessione a gestione automatica GitLab
<a name="connections-gitlab-managed-console-create"></a>

Dopo aver scelto di creare la connessione, viene visualizzata la pagina **Connect to GitLab self-managed**.

**Per connettersi a una rete autogestita GitLab**

1. In **Connection Name** (Nome connessione), immetti un nome per la connessione.

1. In **URL**, immetti l'endpoint per il server.
**Nota**  
Se l'URL fornito è già stato utilizzato per configurare un host per una connessione, ti verrà richiesto di scegliere l'ARN della risorsa host creato in precedenza per quell'endpoint.

1. Se hai avviato il tuo server in un Amazon VPC e desideri connetterti con il tuo VPC, scegli Usa **un VPC e completa le informazioni per il VPC**.

1. Scegli **Connect to GitLab self-managed**. La connessione creata viene mostrata con uno stato **Pending (In attesa)**. Viene creata una risorsa host per la connessione con le informazioni sul server fornite. Per il nome dell'host, viene utilizzato l'URL.

1. Scegli **Update pending connection (Aggiornare la connessione in attesa).** 

1. **Se si apre una pagina con un messaggio di reindirizzamento che conferma che desideri continuare a contattare il provider, scegli Continua.** Inserisci l'autorizzazione per il provider.

1. Viene visualizzata una *host\$1name* pagina di **configurazione**. In **Fornisci token di accesso personale**, fornisci GitLab al tuo PAT solo la seguente autorizzazione limitata:. `api`
**Nota**  
Solo un amministratore può creare e utilizzare il PAT.

   Scegli **Continua**.  
![\[Schermata della console che mostra GitLab l'immissione del token di accesso personale autogestito per il nuovo host\]](http://docs.aws.amazon.com/it_it/codepipeline/latest/userguide/images/connections-create-glsm-pat.png)

1. La pagina di connessione mostra la connessione creata in uno stato **Available (Disponibile)**.

### Fase 3: Salva l'azione sorgente GitLab autogestita
<a name="connections-gitlab-managed-console-save"></a>

Utilizza questi passaggi nella procedura guidata o nella pagina **Modifica azione** per salvare l'azione di origine con le informazioni di connessione.

**Per completare e salvare l'azione sorgente con la connessione**

1. In **Repository name (Nome repository)**, scegliere il nome del repository di terze parti.

1. In **Trigger Pipeline** puoi aggiungere trigger se la tua azione è un'azione. CodeConnections Per configurare la configurazione dei trigger della pipeline e, facoltativamente, filtrare con i trigger, vedi maggiori dettagli in. [Aggiungi trigger con tipi di eventi code push o pull request](pipelines-filter.md)

1. In **Output artifact format (Formato artefatto di output)**, occorre scegliere il formato degli artefatti. 
   + **Per memorizzare gli artefatti di output derivanti dall'azione GitLab autogestita utilizzando il metodo predefinito, scegliete default. CodePipeline** L'azione accede ai file dal repository e archivia gli artefatti in un file ZIP nell'archivio degli artefatti della pipeline.
   + Per archiviare un file JSON contenente un riferimento URL al repository in modo che le operazioni downstream possano eseguire direttamente comandi Git, scegliere **Full clone (Clone completo)**. Questa opzione può essere utilizzata solo dalle azioni a valle. CodeBuild 

1. Scegli **Avanti** nella procedura guidata o **Salva** nella pagina **Modifica azione**.

## Creazione di un host e connessione a sistemi GitLab autogestiti (CLI)
<a name="connections-gitlab-managed-cli"></a>

È possibile utilizzare AWS Command Line Interface (AWS CLI) per creare una connessione. 

Per farlo, utilizzare il comando **create-connection**. 

**Importante**  
Per impostazione predefinita, una connessione creata tramite AWS CLI o AWS CloudFormation è in `PENDING` stato. Dopo aver creato una connessione con la CLI o CloudFormation, utilizza la console per modificare la connessione e definirne lo stato. `AVAILABLE`

È possibile utilizzare AWS Command Line Interface (AWS CLI) per creare un host per le connessioni installate. 

È possibile utilizzare un host per rappresentare l'endpoint per l'infrastruttura in cui è installato il provider di terze parti. Dopo aver completato la creazione dell'host con la CLI, lo stato dell'host è in **sospeso**. Quindi configuri, o registri, l'host per spostarlo allo stato **Disponibile**. Quando l'host sarà disponibile, completa i passaggi per creare una connessione.

Per farlo, utilizzare il comando **create-host**. 

**Importante**  
Per impostazione predefinita, un host creato tramite `Pending` lo stato AWS CLI è attivo. Dopo aver creato un host con la CLI, utilizza la console o la CLI per configurare l'host e impostarne lo stato. `Available`

**Come creare un host**

1. Apri un terminale (Linux, macOS o Unix) o prompt dei comandi (Windows). Usa il AWS CLI per eseguire il **create-host** comando, specificando e `--provider-endpoint` per `--name` `--provider-type` la tua connessione. In questo esempio, il nome del provider di terze parti è `GitLabSelfManaged` e l'endpoint è `my-instance.dev`.

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

   In caso di esito positivo, questo comando restituisce informazioni dell'Amazon Resource Name (ARN) dell'host simili alle seguenti.

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

   Dopo questo passaggio, l'host è nello stato `PENDING`.

1. Utilizza la console per completare la configurazione dell'host e sposta l'host nello stato `Available`.

**Per creare una connessione a gestione automatica GitLab**

1. Apri un terminale (Linux, macOS o Unix) o prompt dei comandi (Windows). Usa il AWS CLI per eseguire il **create-connection** comando, specificando l'`--host-arn`e `--connection-name` per la tua connessione.

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

   In caso di esito positivo, questo comando restituisce informazioni dell'ARN della connessione simili alle seguenti.

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

1. Utilizzare la console per configurare la connessione in attesa.

1. Per impostazione predefinita, la pipeline rileva le modifiche al codice inviato al repository delle sorgenti di connessione. Per configurare la configurazione del trigger della pipeline per il rilascio manuale o per i tag Git, esegui una delle seguenti operazioni:
   + Per configurare la configurazione del trigger della pipeline in modo che inizi solo con una versione manuale, aggiungi la seguente riga alla configurazione: 

     ```
     "DetectChanges": "false",
     ```
   + Per configurare la configurazione del trigger della pipeline per filtrare con i trigger, vedi maggiori dettagli in. [Aggiungi trigger con tipi di eventi code push o pull request](pipelines-filter.md) Ad esempio, quanto segue si aggiunge al livello di pipeline della definizione JSON della pipeline. In questo esempio, `release-v0` e `release-v1` sono i tag Git da includere e `release-v2` il tag Git da escludere.

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