Actualizar una acción de origen GitHub (a través de la OAuth aplicación) a una acción de origen GitHub (a través de GitHub la aplicación) - 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.

Actualizar una acción de origen GitHub (a través de la OAuth aplicación) a una acción de origen GitHub (a través de GitHub la aplicación)

En AWS CodePipeline, hay dos versiones compatibles de la acción GitHub fuente:

  • Recomendado: La acción GitHub (a través de GitHub la aplicación) utiliza una autenticación basada en la aplicación Github respaldada por un recurso. CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com y acciones GitLab autogestionadas Instala una aplicación de AWS CodeStar Connections en tu GitHub organización para que puedas gestionar el acceso a ella. GitHub

  • No se recomienda: la acción GitHub (a través de la OAuth aplicación) utiliza OAuth tokens para autenticarse GitHub y utiliza un webhook independiente para detectar los cambios. Este ya no es el método recomendado.

nota

Las conexiones no están disponibles en las regiones de 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. 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.

Utilizar la acción (mediante la GitHub aplicación) en lugar de la acción GitHub (mediante la GitHub OAuth aplicación) tiene algunas ventajas importantes:

  • Con las conexiones, ya CodePipeline no se necesitan OAuth aplicaciones ni fichas de acceso personal para acceder a tu repositorio. Al crear una conexión, instalas una GitHub aplicación que administra la autenticación en tu GitHub repositorio y permite los permisos a nivel de la organización. Debe autorizar OAuth los tokens como usuario para acceder al repositorio. Para obtener más información sobre el GitHub acceso OAuth basado en comparación con el GitHub acceso basado en aplicaciones, consulte. https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps

  • Cuando gestionas GitHub (a través de la GitHub aplicación) las acciones en la CLI o CloudFormation, ya no tienes que almacenar tu token de acceso personal como secreto en Secrets Manager. Ya no tiene que hacer referencia de forma dinámica al secreto almacenado en la configuración de sus CodePipeline acciones. En su lugar, se agrega el ARN de conexión a la configuración de la acción. Para ver una acción de configuración de ejemplo, consulte CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com y acciones GitLab autogestionadas.

  • Cuando creas un recurso de conexión para usarlo con tu acción GitHub (a través de una GitHub aplicación) CodePipeline, puedes usar el mismo recurso de conexión para asociar otros servicios compatibles, como CodeGuru Reviewer, a tu repositorio.

  • En Github (mediante una GitHub aplicación), puedes clonar repositorios para acceder a los metadatos de git en CodeBuild acciones posteriores, mientras que en Github (mediante una OAuth aplicación) solo puedes descargar la fuente.

  • Un administrador instala la aplicación en los repositorios de su organización. Ya no tienes que rastrear los OAuth tokens que dependen de la persona que los creó.

Todas las aplicaciones instaladas en una organización tienen acceso al mismo conjunto de repositorios. Para cambiar quién puede acceder a cada repositorio, modifique la política de IAM para cada conexión. Para ver un ejemplo, consulte Ejemplo: Una política de ámbito reducido para utilizar conexiones con un repositorio especificado.

Puedes seguir los pasos de este tema para eliminar tu acción fuente GitHub (a través de OAuth la aplicación) y añadir una acción fuente GitHub (a través de la GitHub aplicación) desde la CodePipeline consola.

Paso 1: Sustituye tu GitHub acción (a través de OAuth la aplicación)

Usa la página de edición de la canalización para reemplazar tu acción (a través de OAuth la aplicación) por una GitHub acción GitHub (a través de GitHub la aplicación).

Para reemplazar tu GitHub acción (a través de OAuth la aplicación)
  1. Inicia sesión en la CodePipeline consola.

  2. Seleccione su canalización y, a continuación, elija Editar. Elija Editar etapa en la etapa de fuente. Aparece un mensaje en el que se recomienda actualizar la acción.

  3. En Action provider, selecciona GitHub (a través de GitHub la aplicación).

  4. 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: cree 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

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

Para crear una conexión a GitHub
  1. En la configuración de la GitHub conexión, el nombre de la conexión se muestra en Nombre de la conexión.

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

    nota

    Se instala una aplicación para todas las conexiones a un proveedor en particular. Si ya ha instalado la GitHub aplicación, selecciónela y omita este paso.

  2. Si GitHub aparece la página de autorización, inicie sesión con sus credenciales y, a continuación, elija continuar.

  3. En la página de instalación de la aplicación, aparece un mensaje que indica que la AWS CodeStar aplicación está intentando conectarse a tu GitHub cuenta.

    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.

  4. En la página Instalar AWS CodeStar, seleccione Instalar.

  5. En la GitHub página Conectar a, se muestra el ID de conexión de la nueva instalación. Elija Conectar.

Paso 3: Guarda la acción GitHub de origen

Complete las actualizaciones en la página Editar acción para guardar la nueva acción fuente.

Para guardar la acción GitHub de origen
  1. En Repositorio, introduzca el nombre del repositorio de terceros. En Ramificación, introduzca la ramificación en la que desea que la canalización detecte los cambios de origen.

    nota

    En Repositorio, escriba owner-name/repository-name como se muestra en este ejemplo:

    my-account/my-repository
  2. En 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, elija CodePipeline default. 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 posteriores de CodeBuild .

      Si eliges esta opción, tendrás que actualizar los permisos de tu rol de servicio del CodeBuild proyecto, tal y como se muestra en la siguiente. Añade CodeBuild GitClone permisos para las conexiones a Bitbucket, Enterprise Server o .com GitHub GitHub GitLab 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.

  3. En Artefactos de salida, puede conservar el nombre del artefacto de salida para esta acción, por ejemplo SourceArtifact. Seleccione Listo para cerrar la página Editar acción.

  4. Seleccione Listo para cerrar la página de edición de etapa. Seleccione Guardar para cerrar la página de edición de la canalización.