

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.

# Conexiones para GitLab autogestión
<a name="connections-gitlab-managed"></a>

Las conexiones le permiten autorizar y establecer configuraciones que asocian a su proveedor externo con sus AWS recursos. Para asociar su repositorio de terceros como origen de su canalización, debe usar una conexión. 

**nota**  
En lugar de crear o usar una conexión existente en su cuenta, puede usar una conexión compartida con otra Cuenta de AWS. Consulte [Uso de una conexión compartida con otra cuenta](connections-shared.md).

**nota**  
Esta función no está disponible en las regiones Asia Pacífico (Hong Kong), Asia Pacífico (Hyderabad), Asia Pacífico (Yakarta), Asia Pacífico (Melbourne), Asia Pacífico (Osaka), África (Ciudad del Cabo), Oriente Medio (Baréin), Oriente Medio (Emiratos Árabes Unidos), Europa (España), Europa (Zúrich), Israel (Tel Aviv) o AWS GovCloud (EE. UU. Oeste). Para hacer referencia a otras acciones disponibles, consulte [Integraciones de productos y servicios con CodePipeline](integrations.md). Para ver consideraciones sobre esta acción en la región de Europa (Milán), consulte la nota que aparece en [CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com y acciones GitLab autogestionadas](action-reference-CodestarConnectionSource.md).

Para añadir una acción de origen GitLab autogestionada CodePipeline, puedes elegir entre las siguientes opciones: 
+ Usa el asistente de **creación de canalizaciones** de la CodePipeline consola o la página de **edición de acciones** para elegir la opción de proveedor **GitLabautogestionado**. Consulte [Cree una conexión a la consola GitLab autogestionada](#connections-gitlab-managed-console) para añadir la acción. La consola le ayuda a crear un recurso de host y un recurso de conexiones.
+ Use la CLI para agregar la configuración de acciones para la acción `CreateSourceConnection` con el proveedor `GitLabSelfManaged` y crear sus recursos:
  + Para crear sus recursos de conexiones, consulte [Cree un host y una conexión a la red GitLab autogestionada (CLI)](#connections-gitlab-managed-cli) para crear un recurso de host y un recurso de conexiones con la CLI.
  + Utilice el ejemplo `CreateSourceConnection` de configuración de acciones en [CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com y acciones GitLab autogestionadas](action-reference-CodestarConnectionSource.md) para añadir la acción, como se muestra en [Crear una canalización (CLI)](pipelines-create.md#pipelines-create-cli).

**nota**  
También puede crear una conexión mediante la consola de Herramientas para desarrolladores, en **Configuración**. Consulte [Crear una conexión](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html).

Antes de empezar:
+ Debe haber creado ya una cuenta GitLab y disponer de GitLab Enterprise Edition o GitLab Community Edition con una instalación autogestionada. Para obtener más información, consulte [https://docs.gitlab.com/ee/subscriptions/self\$1managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/).
**nota**  
Las conexiones solo dan acceso a la cuenta que se utilizó para crear y autorizar la conexión. 
**nota**  
Puede crear conexiones a un repositorio en el que tenga el rol de **propietario** y GitLab, a continuación, utilizar la conexión con recursos como. CodePipeline En el caso de los repositorios en grupos, no es necesario que sea el propietario del grupo.
+ Debe haber creado ya un token de acceso GitLab personal (PAT) únicamente con el siguiente permiso limitado: api. [Para obtener más información, consulte \$1access\$1tokens.html. https://docs.gitlab.com/ee/ user/profile/personal](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) Debe ser administrador para crear y utilizar el PAT.
**nota**  
Su PAT se utiliza para autorizar el host y las conexiones no la almacenan ni lo utilizan de ningún otro modo. Para configurar un host, puede crear un PAT temporal y, después de configurar el host, puede eliminarlo.
+ Puede elegir configurar el host con antelación. Puede configurar un host con y sin VPC. Para obtener detalles sobre la configuración de la VPC e información adicional sobre la creación de un host, consulte [Crear un host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html).

**Topics**
+ [Cree una conexión a la consola GitLab autogestionada](#connections-gitlab-managed-console)
+ [Cree un host y una conexión a la red GitLab autogestionada (CLI)](#connections-gitlab-managed-cli)

## Cree una conexión a la consola GitLab autogestionada
<a name="connections-gitlab-managed-console"></a>

Sigue estos pasos para usar la CodePipeline consola y añadir una acción de conexión a tu repositorio GitLab autogestionado.

**nota**  
GitLab Las conexiones autogestionadas solo proporcionan acceso a los repositorios propiedad de la cuenta GitLab autogestionada que se utilizó para crear la conexión.

**Antes de empezar**

Para que una conexión de host se GitLab administre automáticamente, debe haber completado los pasos para crear un recurso de host para su conexión. Consulte [Administrar hosts para conexiones](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-hosts.html).

### Paso 1: Crear o editar la canalización
<a name="connections-gitlab-managed-console-action"></a>

**Para crear o editar la canalización**

1. Inicie sesión en la CodePipeline consola.

1. Elija una de las siguientes opciones.
   + Elija Crear canalización. Siga los pasos de *Crear una canalización* para completar la primera pantalla y seleccione **Siguiente**. En la página **Fuente**, en **Proveedor de fuentes**, selecciona **GitLab Autogestionable**.
   + Elija editar una canalización existente. Elija **Editar** y, a continuación, elija **Editar etapa**. Elija añadir o editar su acción de origen. En la página **Editar acción**, en **Nombre de la acción**, introduzca el nombre de la acción. En el **proveedor de acciones**, elige **GitLab autogestionado**.

1. Realice una de las siguientes acciones:
   + En **Conexión**, si aún no ha creado una conexión con su proveedor, elija **Conectar para GitLab autogestionarse**. Continúe con el paso 2: cree una conexión para GitLab autogestionarse.
   + En **Conexión**, si ya ha creado una conexión con su proveedor, selecciónela y, a continuación, continúe con el paso 3: Guardar la acción de origen GitLab autogestionada.

### Paso 2: Crea una conexión a la red autogestionada GitLab
<a name="connections-gitlab-managed-console-create"></a>

Una vez que haya decidido crear la conexión, aparecerá la página ** GitLabConectarse a la autogestión**.

**Para conectarse a la red autogestionada GitLab**

1. En **Connection name** (Nombre de la conexión), ingrese el nombre para la conexión.

1. En **URL**, ingrese el punto de conexión para el servidor.
**nota**  
Si la dirección URL proporcionada ya se utilizó para configurar un host para una conexión, se le pedirá que elija el ARN del recurso de host que se creó previamente para ese punto de conexión.

1. Si lanzó su servidor en una Amazon VPC y desea conectarse a su VPC, elija **Utilizar una VPC** y complete la siguiente información para la VPC.

1. Elige **Conectar para GitLab autogestionarse**. La conexión creada se muestra con un estado **Pendiente**. Se crea un recurso de alojamiento para la conexión con la información del servidor que usted proporcionó. Se utiliza la URL para el nombre del alojamiento.

1. Elija **Update pending connection** (Actualizar conexión pendiente). 

1. Si se abre una página con un mensaje de redireccionamiento para confirmar que desea continuar con el proveedor, seleccione **Continuar**. Introduzca la autorización del proveedor.

1. Aparece una *host\$1name* página **de configuración**. En **Proporcionar un token de acceso personal**, proporcione a su GitLab PAT únicamente el siguiente permiso limitado:. `api`
**nota**  
Solo un administrador puede crear y usar el PAT.

   Elija **Continuar**.  
![\[Captura de pantalla de la consola que muestra la entrada del token de acceso personal GitLab autogestionado para el nuevo host\]](http://docs.aws.amazon.com/es_es/codepipeline/latest/userguide/images/connections-create-glsm-pat.png)

1. La página de conexión muestra la conexión creada en un estado **Disponible**.

### Paso 3: Guarda tu acción de origen GitLab autogestionada
<a name="connections-gitlab-managed-console-save"></a>

Siga estos pasos del asistente o de la página de **Editar acción** para guardar la acción de origen con la información de conexión.

**Para completar y guardar la acción de origen con la conexión**

1. En **Repository name (Nombre del repositorio)**, elija el nombre del repositorio de terceros.

1. En los **activadores de Pipeline**, puedes añadir activadores si tu acción es una CodeConnections acción. Para configurar los desencadenadores de canalización y, de forma opcional, filtrar con desencadenadores, consulte más información en [Agregación de desencadenadores con tipos de eventos de solicitud de inserción o extracción de código](pipelines-filter.md).

1. En **Output artifact format (Formato del artefacto de salida)**, debe elegir el formato de los artefactos. 
   + Para almacenar los artefactos de salida de la acción GitLab autogestionada mediante el método predeterminado, selecciona el **CodePipelinepredeterminado**. La acción obtiene acceso a los archivos del repositorio y almacena los artefactos en un archivo ZIP en el almacén de artefactos de canalización.
   + Para almacenar un archivo JSON que contiene una referencia URL al repositorio de manera que las acciones posteriores puedan ejecutar comandos Git directamente, elija **Clonación completa**. Esta opción solo la pueden utilizar las acciones CodeBuild posteriores.

1. Seleccione **Siguiente** en el asistente o **Guardar** en la página **Editar acción**.

## Cree un host y una conexión a la red GitLab autogestionada (CLI)
<a name="connections-gitlab-managed-cli"></a>

Puede usar el AWS Command Line Interface (AWS CLI) para crear una conexión. 

Para ello, utilice el comando **create-connection**. 

**importante**  
Una conexión creada a través del AWS CLI o AWS CloudFormation está en `PENDING` estado de forma predeterminada. Después de crear una conexión con la CLI o CloudFormation, utilice la consola para editar la conexión y establecer su estado`AVAILABLE`.

Puede usar el AWS Command Line Interface (AWS CLI) para crear un host para las conexiones instaladas. 

Se utiliza un alojamiento para representar el punto de conexión de la infraestructura donde está instalado el proveedor de terceros. Tras completar la creación del host con la CLI, el host pasa a tener el estado **Pendiente**. A continuación, configure o registre el host para que pase a un estado **Disponible**. Una vez que el alojamiento esté disponible, complete los pasos para crear una conexión.

Para ello, utilice el comando **create-host**. 

**importante**  
Un host creado a través de AWS CLI está en `Pending` estado de forma predeterminada. Después de crear un host con la CLI, utilice la consola o la CLI para configurar el host de manera que su estado cambie a `Available`.

**Creación de un host**

1. Abra un terminal (Linux, macOS o Unix) o un símbolo del sistema (Windows). Utilice el AWS CLI para ejecutar el **create-host** comando, especificando el `--name``--provider-type`, y `--provider-endpoint` para la conexión. En este ejemplo, el nombre del proveedor de terceros es `GitLabSelfManaged` y el punto de conexión es `my-instance.dev`.

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

   Si se ejecuta correctamente, este comando devuelve la información del nombre de recurso de Amazon (ARN) del alojamiento, que será similar a lo siguiente.

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

   Después de este paso, el alojamiento se encuentra en estado `PENDING`.

1. Utilice la consola para completar la configuración del alojamiento y que el estado del alojamiento cambie a `Available`.

**Para crear una conexión GitLab autogestionada**

1. Abra un terminal (Linux, macOS o Unix) o un símbolo del sistema (Windows). Utilice el AWS CLI para ejecutar el **create-connection** comando, especificando el `--host-arn` y `--connection-name` para la conexión.

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

   Si se ejecuta correctamente, este comando devuelve la información del ARN de la conexión, que será similar a lo siguiente.

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

1. Utilice la consola para configurar la conexión pendiente.

1. De forma predeterminada, la canalización detecta los cambios al enviar el código al repositorio de origen de conexión. Para configurar la configuración del desencadenador de canalización para la publicación manual o para las etiquetas de Git, realiza una de las siguientes acciones:
   + Para configurar la configuración de los desencadenadores de canalización para que comience únicamente con una versión manual, añade la siguiente línea a la configuración: 

     ```
     "DetectChanges": "false",
     ```
   + Para configurar los desencadenadores de canalización para filtrar con ellos, consulte más información en [Agregación de desencadenadores con tipos de eventos de solicitud de inserción o extracción de código](pipelines-filter.md). Por ejemplo, lo siguiente se añade al nivel de canalización de la definición de JSON de canalización. En este ejemplo, `release-v0` y `release-v1` son las etiquetas de Git que se deben incluir y `release-v2` es la etiqueta de Git que se debe excluir.

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