GitHub Conexiones de Enterprise Server - AWS CodePipeline

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 de Enterprise Server

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

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 (Bahré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. 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.

Para añadir una acción de origen a GitHub Enterprise Server CodePipeline, puedes elegir entre las siguientes opciones:

nota

También puede crear una conexión mediante la consola de Herramientas para desarrolladores, en Configuración. Consulte Crear una conexión.

Antes de empezar

  • Debe haber creado una cuenta con GitHub Enterprise Server e instalado la instancia de GitHub Enterprise Server en su infraestructura.

    nota

    Cada VPC solo se puede asociar a un host (instancia de GitHub Enterprise Server) a la vez.

  • Debe haber creado ya un repositorio de código con GitHub Enterprise Server.

Cree una conexión a GitHub Enterprise Server (consola)

Siga estos pasos para usar la CodePipeline consola y añadir una acción de conexión al repositorio de GitHub Enterprise Server.

nota

GitHub Las conexiones de Enterprise Server solo proporcionan acceso a los repositorios propiedad de la cuenta de GitHub Enterprise Server que se utilizó para crear la conexión.

Antes de empezar

Para establecer una conexión de host a GitHub Enterprise Server, debe haber completado los pasos para crear un recurso de host para su conexión. Consulte Administrar hosts para conexiones.

Paso 1: Crear o editar la canalización

Para crear o editar la canalización
  1. Inicie sesión en la CodePipeline consola.

  2. 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 Enterprise Server.

    • 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 Action provider, elija GitHub Enterprise Server.

  3. Realice una de las siguientes acciones siguientes:

    • En Conexión, si aún no ha creado una conexión con su proveedor, elija Connect to GitHub Enterprise Server. Continúe con el paso 2: cree una conexión a GitHub Enterprise Server.

    • 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.

Cree una conexión a GitHub Enterprise Server

Después de elegir crear la conexión, se muestra la página Connect to GitHub Enterprise Server.

importante

AWS CodeConnections no es compatible con la versión 2.22.0 de GitHub Enterprise Server debido a un problema conocido en la versión. Para conectarse, actualice a la versión 2.22.1 o a la última versión disponible.

Para conectarse a Enterprise Server GitHub
  1. En Connection name (Nombre de la conexión), ingrese el nombre para la conexión.

  2. En URL, ingrese el punto de conexión para el servidor.

    nota

    Si la URL proporcionada ya se ha utilizado para configurar un servidor GitHub empresarial para una conexión, se le pedirá que elija el ARN del recurso de host que se creó anteriormente para ese punto final.

  3. Si lanzó su servidor en una Amazon VPC y desea conectarse a su VPC, elija Use a VPC (Utilizar una VPC) y complete lo siguiente.

    1. En VPC ID (ID de la VPC), elija el ID de su VPC. Asegúrese de elegir la VPC para la infraestructura en la que está instalada la instancia de GitHub Enterprise Server o una VPC con acceso a la instancia de GitHub Enterprise Server a través de VPN o Direct Connect.

    2. En Subnet ID (ID de la subred), elija Add (Agregar). En el campo, elija el ID de la subred que desea utilizar para el alojamiento. Puede elegir hasta 10 subredes.

      Asegúrese de elegir la subred para la infraestructura en la que está instalada la instancia de GitHub Enterprise Server o una subred con acceso a la instancia de GitHub Enterprise Server instalada a través de VPN o Direct Connect.

    3. En Security group IDs (ID del grupo de seguridad), elija Add (Agregar). En el campo, elija el grupo de seguridad que desea utilizar para el alojamiento. Puede elegir hasta 10 grupos de seguridad.

      Asegúrese de elegir el grupo de seguridad para la infraestructura en la que está instalada la instancia de GitHub Enterprise Server o un grupo de seguridad con acceso a la instancia de GitHub Enterprise Server instalada a través de VPN o Direct Connect.

    4. Si tiene configurada una VPC privada y ha configurado su instancia de GitHub Enterprise Server para realizar la validación de TLS mediante una entidad de certificación no pública, introduzca su ID de certificado en el certificado TLS. El valor del certificado TLS debe ser la clave pública del certificado.

      Captura de pantalla de la consola que muestra la página de creación de conexiones a GitHub Enterprise Server para las opciones de VPC.
  4. Elija Connect to GitHub Enterprise Server. 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.

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

  6. Si se le solicita, en la página de inicio de sesión GitHub empresarial, inicie sesión con sus credenciales GitHub empresariales.

  7. En la página Crear GitHub aplicación, elige un nombre para la aplicación.

  8. En la página de GitHub autorización, selecciona Autorizar<app-name>.

  9. En la página de instalación de la aplicación, aparece un mensaje que indica que la aplicación del conector está lista para instalarse. Si tiene varias organizaciones, es posible que deba elegir la organización en la que desea instalar la aplicación.

    Elija la configuración del repositorio donde desea instalar la aplicación. Elija Instalar.

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

Paso 3: Guarde la acción fuente de GitHub Enterprise Server

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.

  2. En los activadores de Pipeline, puede añadir activadores si su acción es una CodeConnections acción. Para configurar la configuración de los activadores de canalización y, de forma opcional, filtrar con activadores, consulta más información enFiltra los activadores en las solicitudes de inserción o extracción de código.

  3. 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 de GitHub Enterprise Server mediante el método predeterminado, seleccione CodePipelinedefault. La acción accede a los archivos del repositorio de GitHub Enterprise Server 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.

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

Crear un host y una conexión a GitHub Enterprise Server (CLI)

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 AWS CloudFormation, utilice la consola para editar la conexión y establecer su estadoAVAILABLE.

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

nota

Solo puede crear un host una vez por cuenta de GitHub Enterprise Server. Todas las conexiones a una cuenta específica de GitHub Enterprise Server utilizarán el mismo host.

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.

Para crear un alojamiento
  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 GitHubEnterpriseServer y el punto de conexión es my-instance.dev.

    aws codestar-connections create-host --name MyHost --provider-type GitHubEnterpriseServer --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.

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

Para crear una conexión a GitHub Enterprise Server
  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" }
  2. Utilice la consola para configurar la conexión pendiente.

  3. 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 la configuración de los activadores de canalización para filtrar con activadores, consulte más detalles enFiltra los activadores en las solicitudes de inserción o extracción de código. Por ejemplo, lo siguiente se suma 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" ] } } ] } } ]