

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.

# GitHub conexiones
<a name="connections-github"></a>

Utiliza las conexiones para autorizar y establecer configuraciones que asocien a su proveedor externo con sus AWS recursos.

**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 para tu repositorio GitHub o para tu repositorio de GitHub Enterprise Cloud CodePipeline, puedes elegir entre las siguientes opciones:
+ Utilice 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 **GitHub (mediante la GitHub aplicación)**. Consulte [Cree una conexión a GitHub Enterprise Server (consola)](connections-ghes.md#connections-ghes-console) para añadir la acción. La consola le ayuda a crear un recurso de conexiones.
**nota**  
Para ver un tutorial que te explica cómo añadir una GitHub conexión y cómo usar la opción de **clonación completa** en tu canalización para clonar metadatos, consulta[Tutorial: Utilice un clon completo con una fuente de GitHub canalización](tutorials-github-gitclone.md).
+ Utilice la CLI para agregar la configuración de acciones para la acción `CodeStarSourceConnection` con el proveedor `GitHub` con los pasos de la CLI que se muestran 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 una cuenta con GitHub.
+ Debe haber creado ya un repositorio GitHub de código.
+ Si su función de CodePipeline servicio se creó antes del 18 de diciembre de 2019, es posible que deba actualizar sus permisos `codestar-connections:UseConnection` para utilizarla en AWS CodeStar las conexiones. Para obtener instrucciones, consulte [Agrega permisos al rol de CodePipeline servicio](how-to-custom-role.md#how-to-update-role-new-services).

**nota**  
Para crear la conexión, debes ser el propietario de la GitHub organización. Para los repositorios que no pertenecen a una organización, debe ser el propietario del repositorio.

**Topics**
+ [Crea una conexión a GitHub (consola)](#connections-github-console)
+ [Crear una conexión a GitHub (CLI)](#connections-github-cli)

## Crea una conexión a GitHub (consola)
<a name="connections-github-console"></a>

Siga estos pasos para usar la CodePipeline consola y añadir una acción de conexión para su repositorio GitHub o el de GitHub Enterprise Cloud.

**nota**  
En estos pasos, puedes seleccionar repositorios específicos en Acceso al **repositorio**. Los repositorios que no estén seleccionados no serán accesibles ni visibles para. CodePipeline

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

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 **de origen**, en **Proveedor de origen**, selecciona **GitHub (a través de GitHub la aplicación)**.
   + 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 **GitHub (mediante GitHub la aplicación)**.

1. Realice una de las siguientes acciones:
   + En **Conexión**, si aún no ha creado una conexión con su proveedor, elija **Conectar a GitHub**. Continúe con el paso 2: Crear una conexión a GitHub.
   + En **Conexión**, si ya ha creado una conexión con su proveedor, seleccione la conexión. Continúe con el Paso 3: Guardar la acción de origen para la conexión.

### Paso 2: Crea una conexión a GitHub
<a name="connections-github-console-create"></a>

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

![\[Captura de pantalla de la consola que muestra la página de GitHub conexión inicial.\]](http://docs.aws.amazon.com/es_es/codepipeline/latest/userguide/images/github-conn.png)


**Para crear una conexión a GitHub**

1. En la **configuración de la GitHub conexión**, el nombre de la conexión aparece en **Nombre de la conexión**. Selecciona **Conectar a GitHub**. Aparece la página de solicitud de acceso.

1. Elija **Autorizar AWS conector para GitHub**. Aparece la página de conexión y muestra el campo **GitHub Aplicaciones**.  
![\[Captura de pantalla de la consola que muestra la página de GitHub conexión inicial con el campo GitHub Aplicaciones.\]](http://docs.aws.amazon.com/es_es/codepipeline/latest/userguide/images/github-conn-access-app.png)

1. En **GitHub Aplicaciones**, selecciona la instalación de una aplicación o selecciona **Instalar una nueva aplicación** para crear una.

   Se instala una aplicación para todas las conexiones a un proveedor en particular. Si ya ha instalado el AWS conector para la GitHub aplicación, elíjalo y omita este paso.
**nota**  
Si desea crear un [token de acceso de usuario](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), asegúrese de que ya ha instalado el AWS Connector para la GitHub aplicación y deje vacío el campo de instalación de la aplicación. CodeConnections utilizará el token de acceso de usuario para la conexión.

1. En la GitHub página **Instalar AWS conector para**, elige la cuenta en la que quieres instalar la aplicación.
**nota**  
Solo instalas la aplicación una vez para cada GitHub cuenta. Si instaló la aplicación previamente, puede elegir **Configurar** para dirigirse a una página de modificación para la instalación de la aplicación o puede utilizar el botón Atrás para volver a la consola.

1. En la GitHub página **Instalar el AWS conector para**, deja los valores predeterminados y selecciona **Instalar**.

1. En la GitHub página **Conectar a**, el ID de conexión de la nueva instalación aparece en **GitHub Aplicaciones**. Elija **Conectar**.

### Paso 3: guarda la acción GitHub de origen
<a name="connections-github-console-save"></a>

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

**Para guardar la acción GitHub de origen**

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 GitHub acción mediante el método predeterminado, selecciona el **CodePipeline predeterminado**. La acción accede a los archivos del GitHub repositorio y almacena los artefactos en un archivo ZIP en el almacén de artefactos de Pipeline.
   + 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.

     Si elige esta opción, tendrá que actualizar los permisos de su función de servicio de CodeBuild proyectos, tal y como se muestra en [Añade CodeBuild GitClone permisos para las conexiones a Bitbucket, Enterprise Server o .com GitHub GitHub GitLab](troubleshooting.md#codebuild-role-connections) la siguiente. Para ver un tutorial que muestra cómo utilizar la opción **Clonación completa**, consulte [Tutorial: Utilice un clon completo con una fuente de GitHub canalización](tutorials-github-gitclone.md).

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

## Crear una conexión a GitHub (CLI)
<a name="connections-github-cli"></a>

Puede usar 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`.

**Creación de una conexión**

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 `--provider-type` y `--connection-name` para la conexión. En este ejemplo, el nombre del proveedor de terceros es `GitHub` y el nombre especificado para la conexión es `MyConnection`.

   ```
   aws codestar-connections create-connection --provider-type GitHub --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-4d5d-8878-dfcab0bc441f"
   }
   ```

1. Utilice la consola para completar la conexión. Para obtener más información, consulte [Actualización de una conexión pendiente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html). 

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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```