Actualización de una acción de origen de GitHub (mediante la aplicación OAuth) a una acción de origen de GitHub (mediante la aplicación de GitHub)
En AWS CodePipeline, hay dos versiones compatibles de la acción de origen de GitHub:
-
Se recomienda: la acción de GitHub (mediante la aplicación de GitHub) usa una autenticación basada en la aplicación de Github respaldada por un recurso Acciones de CodeStarSourceConnection para Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com y GitLab autoadministrado. Instala una aplicación de AWS CodeStar Connections en tu organización de GitHub para que pueda administrar el acceso en GitHub.
-
No se recomienda: la acción de GitHub (mediante la aplicación OAuth) usa tokens de OAuth para autenticarse con GitHub y usa un webhook independiente para detectar los cambios. Este ya no es el método recomendado.
nota
Connections no está disponible 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), Medio Oriente (Baréin), Europa (España), Europa (Zúrich), Israel (Tel Aviv) o AWS GovCloud (Oeste de EE. UU.). 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 Acciones de CodeStarSourceConnection para Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com y GitLab autoadministrado.
El uso de la acción de GitHub (mediante la aplicación de GitHub) en lugar de la acción de GitHub (mediante la aplicación OAuth) tiene algunas ventajas importantes:
-
Con las conexiones, CodePipeline ya no requiere aplicaciones de OAuth ni tokens de acceso personal para acceder a su repositorio. Cuando crea una conexión, instala una aplicación de GitHub que administra la autenticación en su repositorio de GitHub y permite permisos a nivel de organización. Debe autorizar los tokens de OAuth como usuario para acceder al repositorio. Para obtener más información sobre el acceso a GitHub basado en OAuth en contraste con el acceso a GitHub basado en aplicaciones, consulte https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps
. -
Cuando administra las acciones de GitHub (mediante la aplicación de GitHub) en la CLI o CloudFormation, ya no tiene que almacenar su token de acceso personal como secreto en Secrets Manager. Ya no es necesario hacer referencia dinámica al secreto almacenado en la configuración de acciones de CodePipeline. 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 Acciones de CodeStarSourceConnection para Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com y GitLab autoadministrado.
-
Cuando crea un recurso de conexión para usarlo con su acción de GitHub (mediante la aplicación de GitHub) en CodePipeline, puede usar el mismo recurso de conexión para asociar otros servicios compatibles, como CodeGuru Reviewer, a su repositorio.
-
En GitHub (mediante la aplicación de GitHub), puede clonar repositorios para acceder a los metadatos de git en las acciones de CodeBuild posteriores, mientras que en Github (mediante la aplicación OAuth) solo puede descargar el origen.
-
Un administrador instala la aplicación en los repositorios de su organización. Ya no tiene que hacer un seguimiento de los tokens de OAuth que dependen de la persona que creó el token.
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.
Puede realizar los pasos de este tema para eliminar su acción de origen de GitHub (mediante la aplicación OAuth) y añadir una acción de origen de GitHub (mediante la aplicación de GitHub) desde la consola de CodePipeline.
Temas
Paso 1: reemplazo de la acción de GitHub (mediante la aplicación OAuth)
Use la página de edición de canalización para reemplazar su acción de GitHub (mediante la aplicación OAuth) por una acción de GitHub (mediante la aplicación de GitHub).
Cómo reemplazar la acción de GitHub (mediante la aplicación OAuth)
-
Inicie sesión en la consola de CodePipeline.
-
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.
-
En Proveedor de la acción, elija GitHub (mediante la aplicación de GitHub).
-
Realice una de las siguientes acciones:
-
En Conexión, si aún no ha creado una conexión con su proveedor, seleccione 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: Crear una conexión a GitHub
Después de elegir crear la conexión, se muestra la página Conectar a GitHub.
Para crear una conexión a GitHub
-
En Configuración de conexión de GitHub, el nombre de su conexión se muestra en Nombre de la conexión.
En Aplicaciones de GitHub, elija la instalación de una aplicación o elija Instalar una aplicación nueva para crear una.
nota
Se instala una aplicación para todas las conexiones a un proveedor en particular. Si ya instaló la aplicación GitHub, elija la aplicación y omita este paso.
-
Si se muestra la página de autorización para GitHub, inicie sesión con sus credenciales y luego elija continuar.
-
En la página de instalación de la aplicación, aparece un mensaje que indica que la aplicación de AWS CodeStar está intentando conectarse a su cuenta de GitHub.
nota
Solo instale la aplicación una vez para cada cuenta de GitHub. Si instaló la aplicación previamente, puede elegir Configure (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.
-
En la página Instalar AWS CodeStar, seleccione Instalar.
-
En la página Conectarse a GitHub, aparece el ID de conexión para la instalación nueva . Elija Conectar.
Paso 3: Guardar la acción de origen de GitHub
Complete las actualizaciones en la página Editar acción para guardar la nueva acción fuente.
Para guardar la acción de origen de GitHub
-
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-namecomo se muestra en este ejemplo:my-account/my-repository -
En Formato del artefacto de salida, debe elegir el formato de los artefactos.
-
Para almacenar artefactos de salida de la acción de GitHub utilizando el método predeterminado, elija CodePipeline predeterminado. La acción obtiene acceso a los archivos del repositorio de GitHub 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 se puede utilizar en acciones de CodeBuild posteriores.
Si elige esta opción, tendrá que añadir los permisos a su rol de servicio CodeBuild, tal y como se muestra en Agrega permisos de GitClone de CodeBuild para las conexiones a Bitbucket, GitHub, GitHub Enterprise Server o Gitlab.com. Para ver un tutorial que muestra cómo utilizar la opción Clonación completa, consulte Tutorial: Usar una clonación completo con un origen de canalización de GitHub.
-
-
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. -
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.