Atualizar uma ação de origem do GitHub (por meio do aplicativo OAuth) para uma ação de origem do GitHub (por meio do aplicativo do GitHub)
No AWS CodePipeline, há duas versões compatíveis da ação de origem do GitHub:
-
Recomendado: a ação do GitHub (por meio do aplicativo do GitHub) usa a autenticação baseada na aplicação do Github com o suporte de um recurso CodeStarSourceConnection para ações gerenciadas do Bitbucket Cloud, do GitHub, do GitHub Enterprise Server, do GitLab.com e do GitLab. Ele instala uma aplicação do AWS CodeStar Connections na organização do GitHub para que você possa gerenciar o acesso no GitHub.
-
Não recomendado: a ação do GitHub (por meio do aplicativo OAuth) usa tokens do OAuth para se autenticar com o GitHub e usa um webhook à parte para detectar alterações. Este método não é mais recomendado.
nota
As conexões não estão disponíveis nas regiões Ásia-Pacífico (Hong Kong), Ásia-Pacífico (Hyderabad), Ásia-Pacífico (Jacarta), Ásia-Pacífico (Melbourne), Ásia-Pacífico (Osaka), África (Cidade do Cabo), Oriente Médio (Bahrein), Oriente Médio (Emirados Árabes Unidos), Europa (Espanha), Europa (Zurique), Israel (Tel Aviv) ou AWS GovCloud (Oeste dos EUA). Para fazer referência a outras ações disponíveis, consulte Integrações de produtos e serviços com o CodePipeline. Para considerações sobre essa ação na região Europa (Milão), consulte a nota em CodeStarSourceConnection para ações gerenciadas do Bitbucket Cloud, do GitHub, do GitHub Enterprise Server, do GitLab.com e do GitLab.
Existem algumas vantagens importantes em usar a ação do GitHub (por meio do aplicativo do GitHub), em vez da ação do GitHub (por meio do aplicativo OAuth):
-
Com conexões, o CodePipeline não precisa mais de aplicações do OAuth nem tokens de acesso pessoal para acessar o repositório. Ao criar uma conexão, você deve instalar uma aplicação do GitHub que gerencie a autenticação no repositório do GitHub e permita permissões em nível de organização. É necessário autorizar tokens do OAuth como usuário para acessar o repositório. Para obter mais informações sobre o acesso ao GitHub baseado no OAuth em contraposição ao acesso ao GitHub baseado em aplicação, consulte https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps
. -
Ao gerenciar ações do GitHub (por meio do aplicativo do GitHub) na CLI ou no CloudFormation, você não precisa mais armazenar o token de acesso pessoal como um segredo no Secrets Manager. Não é mais necessário fazer referência dinamicamente ao segredo armazenado na configuração de ação do CodePipeline. Em vez disso, você adiciona o ARN da conexão à configuração de ação. Para obter um exemplo de configuração de ação, consulte CodeStarSourceConnection para ações gerenciadas do Bitbucket Cloud, do GitHub, do GitHub Enterprise Server, do GitLab.com e do GitLab.
-
Ao criar um recurso de conexão a ser usado com a ação do GitHub (por meio do aplicativo do GitHub) no CodePipeline, você pode usar o mesmo recurso de conexão para associar outros serviços compatíveis, como o CodeGuru Reviewer, ao repositório.
-
No GitHub (por meio do aplicativo do GitHub), você poderá clonar repositórios para acessar os metadados do git em ações subsequentes do CodeBuild e, no GitHub (por meio do aplicativo OAuth), você só pode baixar a origem.
-
Um administrador instala a aplicação nos repositórios da organização. Não é mais necessário rastrear tokens do OAuth que dependam da pessoa que criou o token.
Todas as aplicações instaladas em uma organização têm acesso ao mesmo conjunto de repositórios. Para alterar quem pode acessar cada repositório, modifique a política do IAM para cada conexão. Para ver um exemplo, consulte Exemplo: uma política de restrição de acesso para usar conexões com um repositório especificado.
Você pode usar as etapas neste tópico para excluir a ação de origem do GitHub (por meio do aplicativo OAuth) e adicionar uma ação de origem do GitHub (por meio do aplicativo do GitHub) do console do CodePipeline.
Tópicos
Etapa 1: Substituir a ação do GitHub (por meio do aplicativo OAuth)
Use a página de edição do pipeline para substituir a ação do GitHub (por meio do aplicativo OAuth) por uma ação do GitHub (por meio do aplicativo do GitHub).
Para substituir a ação do GitHub (por meio do aplicativo OAuth)
-
Faça login no console do CodePipeline.
-
Selecione o pipeline e escolha Editar. Selecione Editar estágio no estágio de origem. É exibida uma mensagem recomendando que você atualize a ação.
-
Em Provedor de ação, escolha GitHub (por meio do aplicativo do GitHub).
-
Execute um destes procedimentos:
-
Em Conexão, se você ainda não tiver criado uma conexão com seu provedor, escolha Conectar ao GitHub. Vá para a Etapa 2: Criar uma conexão com o GitHub.
-
Em Conexão, se você já tiver criado uma conexão com seu provedor, escolha a conexão. Vá para a Etapa 3: Salvar a ação de origem para sua conexão.
-
Etapa 2: Criar uma conexão com o GitHub
Depois de optar por criar a conexão, a página Conectar-se ao GitHub é exibida.
Para criar uma conexão com o GitHub
-
Em Configurações de conexão do GitHub, o nome da conexão aparece em Nome da conexão.
Em GitHub apps (Aplicações do GitHub), escolha uma instalação de aplicação ou Install a new app (Instalar uma nova aplicação) para criar uma.
nota
Você instala uma aplicação para todas as suas conexões com um provedor específico. Se você já tiver instalado o aplicativo GitHub, selecione-o e ignore esta etapa.
-
Se a página de autorização do GitHub for exibida, faça login com suas credenciais e opte por continuar.
-
Na página de instalação do aplicativo, uma mensagem mostra que o aplicativo do AWS CodeStar está tentando se conectar à sua conta do GitHub.
nota
A aplicação é instalada apenas uma vez para cada conta do GitHub. Se você instalou a aplicação anteriormente, poderá escolher Configure (Configurar) para prosseguir para uma página de modificação para a instalação da aplicação ou usar o botão Back (Voltar) para retornar ao console.
-
Na página Instalar AWS CodeStar, escolha Instalar.
-
Na página Conectar-se ao GitHub, o ID de conexão da sua nova instalação é exibido. Selecione Conectar.
Etapa 3: Salvar a ação de origem do GitHub
Conclua as atualizações na página Editar ação para salvar a nova ação de origem.
Para salvar a ação de origem do GitHub
-
Em Nome do repositório, escolha o nome do repositório de terceiros. Em Ramificação, insira a ramificação onde deseja que o pipeline detecte alterações de origem.
nota
No Repositório, digite
owner-name/repository-nameconforme mostrado neste exemplo:my-account/my-repository -
Em Formato de artefato de saída, escolha o formato dos seus artefatos.
-
Para armazenar os artefatos de saída da ação do GitHub usando o método padrão, escolha CodePipeline padrão. A ação acessa os arquivos no repositório do GitHub e armazena os artefatos em um arquivo ZIP no armazenamento de artefatos do pipeline.
-
Para armazenar um arquivo JSON que contém uma referência de URL ao repositório para que as ações downstream possam executar comandos Git diretamente, escolha Full clone (Clone completo). Esta opção só pode ser usada por ações downstream do CodeBuild.
Se você escolher essa opção, precisará atualizar as permissões do perfil de serviço do projeto CodeBuild, conforme mostrado em Adicione permissões do CodeBuild GitClone para conexões com o Bitbucket, o GitHub, o GitHub Enterprise Server ou o GitLab.com. Para um tutorial que mostra como usar a opção Clone completo, consulte Tutorial: Usar o clone completo com uma origem de pipeline do GitHub.
-
-
Em Artefatos de saída, é necessário manter o nome do artefato de saída para essa ação, como
SourceArtifact. Escolha Concluído para fechar a página Editar ação. -
Escolha Concluído para fechar a página de edição do estágio. Escolha Salvar para fechar a página de edição do pipeline.