Apêndice A: ações de origem da GitHub versão 1 - AWS CodePipeline

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Apêndice A: ações de origem da GitHub versão 1

Este apêndice fornece informações sobre a versão 1 da GitHub ação em. CodePipeline

nota

Embora não seja recomendável usar a ação da GitHub versão 1, os pipelines existentes com a ação da GitHub versão 1 continuarão funcionando sem nenhum impacto. Para um pipeline com uma ação de GitHub versão 1, CodePipeline usa tokens OAuth baseados para se conectar ao seu GitHub repositório. Por outro lado, a GitHub ação (versão 2) usa um recurso de conexão para associar AWS recursos ao seu GitHub repositório. O recurso de conexão usa tokens baseados em aplicativos para estabelecer conexões. Para obter mais informações sobre como atualizar seu pipeline para a GitHub ação recomendada que usa uma conexão, consulteAtualizar uma ação de origem da GitHub versão 1 para uma ação de origem da GitHub versão 2. Para obter mais informações sobre o GitHub acesso OAuth baseado em contraste com o GitHub acesso baseado em aplicativos, consulte. https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps

Para fazer a integração GitHub, CodePipeline use um GitHub OAuth aplicativo para seu pipeline. CodePipelineusa webhooks para gerenciar a detecção de alterações em seu pipeline com a ação de origem da GitHub versão 1.

nota

Ao configurar uma ação de origem da GitHub versão 2 no AWS CloudFormation, você não inclui nenhuma informação de GitHub token nem adiciona um recurso de webhook. Você configura um recurso de conexões conforme mostrado em AWS::CodeStarConnections: :Connection no Guia do AWS CloudFormation usuário.

Essa referência contém as seguintes seções para a ação da GitHub versão 1:

Importante

Ao criar CodePipeline webhooks, não use suas próprias credenciais nem reutilize o mesmo token secreto em vários webhooks. Para uma segurança ideal, gere um token secreto exclusivo para cada webhook que você criar. O token secreto é uma string arbitrária que você fornece, GitHub usada para computar e assinar as cargas do webhook enviadas para CodePipeline, a fim de proteger a integridade e a autenticidade das cargas do webhook. Usar suas próprias credenciais ou reutilizar o mesmo token em vários webhooks pode levar a vulnerabilidades de segurança.

nota

Se um token secreto for fornecido, ele será redigido na resposta.

Adicionar uma ação de origem da GitHub versão 1

Você adiciona ações de origem da GitHub versão 1 CodePipeline ao:

  • Usando o CodePipeline console Create pipeline wizard (Crie um pipeline personalizado (console)) ou Editar página de ação para escolher a opção GitHubde provedor. O console cria um webhook que aciona seu pipeline quando a origem é alterada.

  • Usando o CLI para adicionar a configuração de ação para a GitHub ação e criar recursos adicionais da seguinte forma:

    • Exemplo de configuração da ação GitHub em GitHub referência de ação de origem da versão 1 para criar a ação conforme mostrado em Crie um pipeline (CLI).

    • Desabilitação das verificações periódicas e criação da detecção de alterações manualmente, porque o método de detecção de alterações assume como padrão o acionamento do pipeline pesquisando a origem. Você migra seu pipeline de votação para webhooks para GitHub ações da Versão 1.

GitHub referência de ação de origem da versão 1

nota

Embora não seja recomendável usar a ação da GitHub versão 1, os pipelines existentes com a ação da GitHub versão 1 continuarão funcionando sem nenhum impacto. Para um pipeline com uma ação de origem da GitHub GitHub versão 1, CodePipeline usa tokens OAuth baseados para se conectar ao seu GitHub repositório. Por outro lado, a nova GitHub ação (versão 2) usa um recurso de conexão para associar AWS recursos ao seu GitHub repositório. O recurso de conexão usa tokens baseados em aplicativos para estabelecer conexões. Para obter mais informações sobre como atualizar seu pipeline para a GitHub ação recomendada que usa uma conexão, consulteAtualizar uma ação de origem da GitHub versão 1 para uma ação de origem da GitHub versão 2.

Aciona o pipeline quando uma nova confirmação é feita no GitHub repositório e na ramificação configurados.

Para se integrar GitHub, CodePipeline use um OAuth aplicativo ou um token de acesso pessoal para seu pipeline. Se você usa o console para criar ou editar seu pipeline, CodePipeline cria um GitHub webhook que inicia seu pipeline quando ocorre uma alteração no repositório.

Você já deve ter criado uma GitHub conta e um repositório antes de conectar o pipeline por meio de uma GitHub ação.

Se você quiser limitar o acesso aos CodePipeline repositórios, crie uma GitHub conta e conceda à conta acesso somente aos repositórios com os quais você deseja se integrar. CodePipeline Use essa conta ao configurar o uso CodePipeline de GitHub repositórios para estágios de origem em pipelines.

Para obter mais informações, consulte a documentação do GitHub desenvolvedor no GitHub site.

Tipo de ação

  • Categoria: Source

  • Proprietário: ThirdParty

  • Fornecedor: GitHub

  • Versão: 1

Parâmetros de configuração

Proprietário

Obrigatório: Sim

O nome do GitHub usuário ou da organização que possui o GitHub repositório.

Repositório

Obrigatório: Sim

O nome do repositório onde as alterações de origem devem ser detectadas.

Ramificação

Obrigatório: Sim

O nome da ramificação onde as alterações de origem devem ser detectadas.

OAuthToken

Obrigatório: Sim

Representa o token de GitHub autenticação que CodePipeline permite realizar operações no seu GitHub repositório. A entrada é sempre exibida como uma máscara de quatro asteriscos. Representa um dos seguintes valores:

  • Quando você usa o console para criar o pipeline, CodePipeline usa um OAuth token para registrar a GitHub conexão.

  • Ao usar o AWS CLI para criar o pipeline, você pode passar seu token de acesso GitHub pessoal nesse campo. Substitua os asteriscos (****) pelo seu token de acesso pessoal copiado de. GitHub Quando get-pipeline é executado para visualizar a configuração da ação, a máscara de quatro asteriscos é exibida para esse valor.

  • Ao usar um AWS CloudFormation modelo para criar o pipeline, primeiro você deve armazenar o token como um segredo AWS Secrets Manager. Inclua o valor desse campo como uma referência dinâmica ao segredo armazenado no Secrets Manager, como {{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}.

Para obter mais informações sobre GitHub escopos, consulte a APIReferência do GitHub desenvolvedor no GitHub site.

PollForSourceChanges

Obrigatório: Não

PollForSourceChangescontrola se CodePipeline pesquisa o GitHub repositório em busca de alterações na fonte. Recomendamos que você use webhooks para detectar alterações na origem. Para obter mais informações sobre como configurar webhooks, consulte Migre pipelines de pesquisa para webhooks (ações de origem da GitHub versão 1) () CLI ou Atualize pipelines para eventos push (ações de origem da GitHub versão 1) (AWS CloudFormation modelo).

Importante

Quando planejar configurar webhooks, você deve definir PollForSourceChanges como false para evitar execuções duplicadas do pipeline.

Os valores válidos para esse parâmetro:

  • True: se definido, CodePipeline pesquisa seu repositório em busca de alterações na fonte.

    nota

    Se você omitirPollForSourceChanges, o CodePipeline padrão é pesquisar seu repositório em busca de alterações na fonte. Esse comportamento é o mesmo de quando o PollForSourceChanges está definido como true.

  • False: se definido, CodePipeline não pesquisa seu repositório em busca de alterações na fonte. Use essa configuração quando você planejar configurar um webhook para detectar alterações na origem.

Input artifacts (Artefatos de entrada)

  • Número de artefatos: 0

  • Descrição: os artefatos de entrada não se aplicam a esse tipo de ação.

Artefatos de saída

  • Número de artefatos: 1

  • Descrição: O artefato de saída dessa ação é um ZIP arquivo que contém o conteúdo do repositório e da ramificação configurados no commit especificado como a revisão de origem para a execução do pipeline. Os artefatos gerados do repositório são os artefatos de saída para a ação. GitHub O ID de confirmação do código-fonte é exibido CodePipeline como a revisão da fonte para a execução do pipeline acionado.

Variáveis de saída

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

Para obter mais informações sobre variáveis em CodePipeline, consulteReferência de variáveis.

CommitId

O ID do GitHub commit que acionou a execução do pipeline. Commit IDs é a totalidade SHA do commit.

CommitMessage

A mensagem da descrição, se houver, associada à confirmação que acionou a execução do pipeline.

CommitUrl

O URL endereço do commit que acionou o pipeline.

RepositoryName

O nome do GitHub repositório em que o commit que acionou o pipeline foi feito.

BranchName

O nome da ramificação do GitHub repositório em que a alteração na fonte foi feita.

AuthorDate

A data em que a confirmação foi criada, no formato de timestamp.

CommitterDate

A data em que a confirmação foi confirmada, no formato de timestamp.

Declaração de ação (exemplo do 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" } ] },

Conectando-se a GitHub (OAuth)

Na primeira vez que você usa o console para adicionar um GitHub repositório a um pipeline, você deverá autorizar o CodePipeline acesso aos seus repositórios. O token requer os seguintes GitHub escopos:

  • O escopo repo, que é usado para se obter o controle total para ler e efetuar pull de artefatos de repositórios públicos e privados para um pipeline.

  • O escopo admin:repo_hook, que é usado para se obter o controle total dos ganchos do repositório.

Ao usar o CLI ou um AWS CloudFormation modelo, você deve fornecer o valor de um token de acesso pessoal que você já criou GitHub.

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.