Apéndice A: acciones de origen de la GitHub versión 1 - 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.

Apéndice A: acciones de origen de la GitHub versión 1

Este apéndice proporciona información sobre la versión 1 de la acción en GitHub . CodePipeline

nota

Si bien no recomendamos usar la acción de la GitHub versión 1, las canalizaciones existentes con la acción de la GitHub versión 1 seguirán funcionando sin ningún impacto. En el caso de una canalización con una acción de la GitHub versión 1, CodePipeline usa tokens basados en OAuth para conectarse a tu repositorio. GitHub Por el contrario, la GitHub acción (versión 2) usa un recurso de conexión para asociar AWS los recursos a tu GitHub repositorio. El recurso de conexión usa tokens basados en aplicaciones para conectarse. Para obtener más información sobre cómo actualizar tu canalización a la GitHub acción recomendada que usa una conexión, consultaActualizar una acción de origen de la GitHub versión 1 a una acción de origen de la GitHub versión 2. Para obtener más información sobre el GitHub acceso basado en OAuth y el acceso basado en aplicaciones GitHub , consulte. https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps

Para integrarlo GitHub, CodePipeline usa una aplicación GitHub OAuth para tu canalización. CodePipelineusa webhooks para gestionar la detección de cambios en tu canalización con la acción fuente de la GitHub versión 1.

nota

Cuando configuras una acción fuente en la GitHub versión 2 AWS CloudFormation, no incluyes ninguna información de GitHub token ni agregas un recurso de webhook. Puede configurar un recurso de conexiones como se muestra AWS::CodeStarConnections::Connectionen la Guía del AWS CloudFormation usuario.

Esta referencia contiene las siguientes secciones para la acción de la GitHub versión 1:

Añadir una GitHub acción fuente de la versión 1

Las acciones de origen de GitHub la versión 1 se añaden de la siguiente CodePipeline manera:

  • Utilice el asistente de creación de canalizaciones de la CodePipeline consola (Crear una canalización (consola)) o la página de edición de acciones para elegir la opción GitHubde proveedor. La consola crea un webhook que inicia su canalización cuando cambia la fuente.

  • Usar la CLI para agregar la configuración de la acción GitHub y crear recursos adicionales de la siguiente manera:

    • Utilizar el ejemplo de configuración de acción GitHub en GitHub versión 1, fuente, estructura de acciones (referencia) para crear la acción como se muestra en Crear una canalización (CLI).

    • Se desactivan las comprobaciones periódicas y se crea la detección de cambios de forma manual, ya que el método de detección de cambios consiste de forma predeterminada en iniciar la canalización sondeando la fuente. Para las acciones de la GitHub versión 1, debes migrar tu canal de votación a webhooks.

GitHub versión 1, fuente, estructura de acciones (referencia)

nota

Si bien no recomendamos usar la acción de la GitHub versión 1, las canalizaciones existentes con la acción de la GitHub versión 1 seguirán funcionando sin ningún impacto. En el caso de una canalización con una acción de origen de la GitHub GitHub versión 1, CodePipeline usa tokens basados en OAuth para conectarse a tu repositorio. GitHub Por el contrario, la nueva GitHub acción (versión 2) usa un recurso de conexión para asociar AWS los recursos a tu GitHub repositorio. El recurso de conexión usa tokens basados en aplicaciones para conectarse. Para obtener más información sobre cómo actualizar tu canalización a la GitHub acción recomendada que usa una conexión, consultaActualizar una acción de origen de la GitHub versión 1 a una acción de origen de la GitHub versión 2.

Activa la canalización cuando se realiza una nueva confirmación en el GitHub repositorio y la rama configurados.

Para integrarlo GitHub, CodePipeline usa una aplicación OAuth o un token de acceso personal para tu canalización. Si utilizas la consola para crear o editar tu canalización, CodePipeline crea un GitHub webhook que la inicia cuando se produce un cambio en el repositorio.

Debes haber creado ya una GitHub cuenta y un repositorio antes de conectar la canalización mediante una GitHub acción.

Si quieres limitar el acceso CodePipeline a los repositorios, crea una GitHub cuenta y concédele acceso únicamente a los repositorios con los que desees integrarte. CodePipeline Usa esa cuenta cuando CodePipeline configures el uso de GitHub repositorios como etapas de origen en canalizaciones.

Para obtener más información, consulta la documentación para GitHub desarrolladores en el GitHub sitio web.

Tipo de acción

  • Categoría: Source

  • Propietario: ThirdParty

  • Proveedor: GitHub

  • Versión: 1

Parámetros de configuración

Propietario

Obligatorio: sí

El nombre del GitHub usuario u organización propietario del GitHub repositorio.

Repo

Obligatorio: sí

El nombre del repositorio en el que se van a detectar los cambios de origen.

Rama

Obligatorio: sí

El nombre de la ramificación donde se van a detectar los cambios de origen.

O AuthToken

Obligatorio: sí

Representa el token de GitHub autenticación que CodePipeline permite realizar operaciones en el GitHub repositorio. La entrada siempre se muestra como una máscara de cuatro asteriscos. Representa uno de los siguientes valores:

  • Cuando usas la consola para crear la canalización, CodePipeline usa un token de OAuth para registrar la GitHub conexión.

  • Cuando utilices el AWS CLI para crear la canalización, puedes pasar tu token de acceso GitHub personal a este campo. Sustituya los asteriscos (****) por su token de acceso personal copiado de. GitHub Cuando ejecute get-pipeline para ver la configuración de la acción, aparecerá la máscara de cuatro asteriscos de este valor.

  • Cuando utilices una AWS CloudFormation plantilla para crear la canalización, primero debes almacenar el token de forma secreta. AWS Secrets Manager El valor de este campo debe incluirse como una referencia dinámica al secreto almacenado en Secrets Manager, como {{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}.

Para obtener más información sobre los GitHub ámbitos, consulta la referencia de la API GitHub para desarrolladores en el GitHub sitio web.

PollForSourceChanges

Obligatorio: no

PollForSourceChangescontrola si CodePipeline sondea el GitHub repositorio en busca de cambios en la fuente. Le recomendamos que utilice webhooks para detectar cambios de código fuente en su lugar. Para obtener más información acerca de la configuración de webhooks, consulte Migrar los canales de sondeo a webhooks (acciones de origen de la GitHub versión 1) (CLI) o Actualiza las canalizaciones para los eventos push (acciones fuente de la GitHub versión 1) (AWS CloudFormation plantilla).

importante

Si tiene la intención de configurar webhooks, debe establecer PollForSourceChanges en false evitar ejecuciones de canalizaciones duplicadas.

Los valores válidos para este parámetro son:

  • True: Si está configurado, CodePipeline sondea el repositorio para ver si hay cambios en la fuente.

    nota

    Si lo omitesPollForSourceChanges, de CodePipeline forma predeterminada sondea tu repositorio para ver si hay cambios en la fuente. Este comportamiento es el mismo que si PollForSourceChanges se establece en true.

  • False: Si está configurado, CodePipeline no sondea tu repositorio para ver si hay cambios en la fuente. Utilice esta opción si desea configurar un webhook para detectar cambios de código fuente.

Artefactos de entrada

  • Número de artefactos: 0

  • Descripción: los artefactos de entrada no se aplican a este tipo de acción.

Artefactos de salida

  • Número de artefactos: 1

  • Descripción: el artefacto de salida de esta acción es un archivo ZIP que contiene el contenido del repositorio configurado y la ramificación en la confirmación especificada como la revisión de origen para la ejecución de la canalización. Los artefactos generados desde el repositorio son los artefactos de salida de la GitHub acción. El ID de confirmación del código fuente se muestra CodePipeline como la revisión fuente de la ejecución de la canalización activada.

Variables de salida

Cuando se configura, esta acción produce variables a las que se puede hacer referencia mediante la configuración de acción de una acción descendente en la canalización. Esta acción produce variables que se pueden ver como variables de salida, incluso si la acción no tiene un espacio de nombres. Configure una acción con un espacio de nombres para que esas variables estén disponibles para la configuración de las acciones posteriores.

Para obtener más información sobre las variables de CodePipeline, consulteVariables.

CommitId

El ID de GitHub confirmación que activó la ejecución de la canalización. Los ID de confirmación son el volumen de dispositivo raíz completo de la confirmación.

CommitMessage

El mensaje de descripción, si lo hay, asociado a la confirmación que desencadenó la ejecución de la canalización.

CommitUrl

La dirección URL de la confirmación que activó la canalización.

RepositoryName

El nombre del GitHub repositorio en el que se realizó la confirmación que activó la canalización.

BranchName

El nombre de la rama del GitHub repositorio en el que se realizó el cambio de fuente.

AuthorDate

Fecha en la que se creó la confirmación, en formato de marca temporal.

Para obtener más información sobre la diferencia entre un autor y un confirmador en Git, consulte Viewing the Commit History en Pro Git por Scott Chacon y Ben Straub.

CommitterDate

Fecha en la que se ha confirmado la confirmación, en formato de marca temporal.

Para obtener más información sobre la diferencia entre un autor y un confirmador en Git, consulte Viewing the Commit History en Pro Git por Scott Chacon y Ben Straub.

Declaración de acciones (ejemplo de GitHub)

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: ThirdParty Category: Source Provider: GitHub OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: Owner: MyGitHubAccountName Repo: MyGitHubRepositoryName PollForSourceChanges: 'false' Branch: main OAuthToken: '{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}' Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "ThirdParty", "Category": "Source", "Provider": "GitHub" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "Owner": "MyGitHubAccountName", "Repo": "MyGitHubRepositoryName", "PollForSourceChanges": "false", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}" }, "Name": "ApplicationSource" } ] },

Conexión a GitHub (OAuth)

La primera vez que utilices la consola para añadir un GitHub repositorio a una canalización, se te pedirá que autorices el CodePipeline acceso a tus repositorios. El token requiere los siguientes GitHub ámbitos:

  • El ámbito repo, que se utiliza para controlar totalmente la lectura y la extracción artefactos de los repositorios públicos y privados en una canalización.

  • El ámbito admin:repo_hook, que se utiliza para el control total de enlaces de repositorio.

Cuando utilice la CLI o una AWS CloudFormation plantilla, debe proporcionar el valor de un token de acceso personal que ya haya creado GitHub.

Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.