449
AWS CodeCommit Guia do usuário Versão da API 2015-04-13

AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommitGuia do usuário

Versão da API 2015-04-13

Page 2: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

AWS CodeCommit: Guia do usuárioCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Table of ContentsO que é o CodeCommit? ..................................................................................................................... 1

Apresentação do CodeCommit ..................................................................................................... 1CodeCommit, Git e escolher a direita AWS serviço para as suas necessidades .................................... 2Como o CodeCommit funciona? ................................................................................................... 4Como é CodeCommit diferente do processo de resolução de ficheiros em Amazon S3? ......................... 5Como começo a usar o CodeCommit? .......................................................................................... 6Onde posso saber mais sobre Git? ............................................................................................... 6

Configuração ...................................................................................................................................... 7Ver e gerir as suas credenciais .................................................................................................... 7Configurar utilizando credenciais Git .............................................................................................. 8Configurar utilizando outros métodos ............................................................................................. 8Compatibilidade para CodeCommit, Git e outros componentes ......................................................... 10Para utilizadores HTTPS utilizando credenciais Git ........................................................................ 10

Etapa 1 Configuração inicial para CodeCommit ..................................................................... 10Etapa 2. Instale o Git. ....................................................................................................... 11Etapa 3 Criar credenciais de Git para ligações HTTPS para CodeCommit .................................. 11Etapa 4. Ligar ao CodeCommit consola e clonar o repositório .................................................. 13Próximas etapas ............................................................................................................... 14

Para ligações HTTPS com código de controlo remoto .................................................................... 14Passo 0: Instalar pré-requisitos para o código de controlo git-remoto ......................................... 15Etapa 1 Configuração inicial para CodeCommit ..................................................................... 15Etapa 2. Instalar código de controlo remoto .......................................................................... 17Etapa 3 Ligar ao CodeCommit consola e clonar o repositório ................................................... 18Próximas etapas ............................................................................................................... 19

Para ligações a partir de ferramentas de desenvolvimento .............................................................. 19Integrar o AWS Cloud9 ao AWS CodeCommit ...................................................................... 22Integrar o Visual Studio ao AWS CodeCommit ...................................................................... 25Integrar o Eclipse ao AWS CodeCommit .............................................................................. 29

Para utilizadores SSH que não utilizam o AWS CLI ....................................................................... 33Etapa 1 Associe a sua chave pública ao seu IAM utilizador ..................................................... 34Etapa 2. Adicionar CodeCommit à configuração SSH ............................................................. 34Próximas etapas ............................................................................................................... 35

Para ligações SSH em Linux, macOS, or Unix .............................................................................. 35Etapa 1 Configuração inicial para CodeCommit ..................................................................... 35Etapa 2. Instale o Git. ....................................................................................................... 36Step3: Configurar credenciais em Linux, macOS, or Unix ........................................................ 37Etapa 4. Ligar ao CodeCommit consola e clonar o repositório .................................................. 39Próximas etapas ............................................................................................................... 40

Para ligações SSH no Windows .................................................................................................. 40Etapa 1 Configuração inicial para CodeCommit ..................................................................... 40Etapa 2. Instale o Git. ....................................................................................................... 41SSH e Windows: Configure as chaves públicas e privadas para Git e CodeCommit ..................... 41Etapa 4. Ligar ao CodeCommit consola e clonar o repositório .................................................. 44Próximas etapas ............................................................................................................... 45

Para ligações HTTPS em Linux, macOS, or Unix com o AWS CLI auxiliar de credencial ....................... 45Etapa 1 Configuração inicial para CodeCommit ..................................................................... 45Etapa 2. Instale o Git. ....................................................................................................... 48Etapa 3 Configurar o auxiliar da credencial ........................................................................... 48Etapa 4. Ligar ao CodeCommit consola e clonar o repositório .................................................. 49Próximas etapas ............................................................................................................... 50

Para ligações HTTPS no Windows com o AWS CLI auxiliar de credencial ......................................... 50Etapa 1 Configuração inicial para CodeCommit ..................................................................... 51Etapa 2. Instale o Git. ....................................................................................................... 53Etapa 3 Configurar o auxiliar da credencial ........................................................................... 53

Versão da API 2015-04-13iii

Page 4: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Etapa 4. Ligar ao CodeCommit consola e clonar o repositório .................................................. 55Próximas etapas ............................................................................................................... 55

Conceitos básicos ............................................................................................................................. 56Conceitos básicos de CodeCommit ............................................................................................. 56

Prerequisites .................................................................................................................... 57Etapa 1 Criar uma CodeCommit repositório .......................................................................... 57Etapa 2. Adicionar ficheiros ao seu repositório ...................................................................... 59Etapa 3 Navegue pelos conteúdos do seu repositório ............................................................. 61Etapa 4. Criar e colaborar num pedido de puxar .................................................................... 65Etapa 5. Limpar ................................................................................................................ 69Etapa 6. Próximas etapas .................................................................................................. 69

Como começar com Git e CodeCommit ....................................................................................... 69Etapa 1 Criar uma CodeCommit repositório .......................................................................... 70Etapa 2. Criar uma repo local ............................................................................................. 71Etapa 3 Crie o seu primeiro compromisso ............................................................................ 72Etapa 4. Dê o seu primeiro compromisso ............................................................................. 73Etapa 5. Partilhar o CodeCommit repositório e empurrar e puxar outro compromisso ................... 73Etapa 6. Criar e partilhar uma agência ................................................................................. 75Etapa 7. Criar e partilhar uma etiqueta ................................................................................. 76Etapa 8 Configurar permissões de acesso ............................................................................ 77Etapa 9 Limpar ................................................................................................................. 79

Integrações de produtos e serviços ..................................................................................................... 81Integração com outros AWS serviços ........................................................................................... 81Exemplos de integração da comunidade ...................................................................................... 86

Publicações no blog .......................................................................................................... 86Amostras de código .......................................................................................................... 89

Trabalhar com repositórios ................................................................................................................. 90Criar um repositório do .............................................................................................................. 91

Criar um repositório (consola) ............................................................................................. 91Criar um repositório do AWS CLI) ....................................................................................... 92

Conexão a um repositório .......................................................................................................... 94Pré-requisitos para ligar a um CodeCommit repositório ........................................................... 94Ligar ao CodeCommit repositório clonando o repositório ......................................................... 95Ligue uma repo local ao CodeCommit repositório .................................................................. 96

Partilhar um repositório .............................................................................................................. 97Escolha o protocolo de ligação para partilhar com os seus utilizadores ...................................... 97Criar IAM políticas para o seu repositório ............................................................................. 98Criar um IAM grupo para utilizadores de repositório ............................................................... 99Partilhe as informações de ligação com os seus utilizadores .................................................. 100

Configurar notificações para eventos de repositório ...................................................................... 100Utilizar regras de notificação do repositório ......................................................................... 102Create a notification rule .................................................................................................. 102Alterar ou desativar notificações ........................................................................................ 104Eliminar notificações ........................................................................................................ 105

Marcar um repositório .............................................................................................................. 105Adicionar uma tag a um repositório .................................................................................... 106Visualizar as tags de um repositório .................................................................................. 107Editar tags de um repositório ............................................................................................ 108Remover uma etiqueta de um repositório ............................................................................ 110

Gerenciar triggers para um repositório ........................................................................................ 110Criar o recurso e adicionar permissões para CodeCommit ..................................................... 111Criar um desencadeador para um Amazon SNS tópico ......................................................... 112Criar um desencadeador para um Lambda função ............................................................... 116Criar um trigger para uma função Lambda existente ............................................................. 119Editar acionadores para um repositório ............................................................................... 125Gatilhos de teste para um repositório ................................................................................. 126Eliminar acionadores de um repositório .............................................................................. 128

Versão da API 2015-04-13iv

Page 5: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Associar ou desassociar um repositório com Amazon CodeGuru Reviewer ....................................... 129Associar um repositório com CodeGuru Reviewer ................................................................ 131Desassociar um repositório a partir de CodeGuru Reviewer ................................................... 131

Ver detalhes do repositório ....................................................................................................... 132Ver detalhes do repositório (consola) ................................................................................. 132Ver CodeCommit detalhes do repositório (Git) ..................................................................... 132Ver CodeCommit detalhes do repositório (AWS CLI) ............................................................ 133

Alterar as configurações do repositório ....................................................................................... 136Alterar definições do repositório (consola) ........................................................................... 136Alterar AWS CodeCommit definições do repositório (AWS CLI) .............................................. 137

Sincronizar alterações entre repositórios ..................................................................................... 139Empurrar o compromisso para dois repositórios ........................................................................... 139Configurar o acesso entre contas cruzadas a um repositório utilizando funções ................................. 142

Acesso ao repositório de contas cruzadas: Ações para o administrador em contabilidade ............ 143Acesso ao repositório de contas cruzadas: Ações para o administrador em contabilidade ............ 146Acesso ao repositório de contas cruzadas: Ações para o usuário do repositório na AccountB. ...... 147

Eliminar um repositório ............................................................................................................ 151Eliminar um CodeCommit repositório (consola) .................................................................... 151Eliminar uma repo local ................................................................................................... 152Eliminar um CodeCommit repositório (AWS CLI) .................................................................. 152

Trabalhar com ficheiros .................................................................................................................... 153Procurar ficheiros num repositório .............................................................................................. 154

Procurar um CodeCommit repositório ................................................................................. 154Criar ou adicionar um ficheiro ................................................................................................... 155

Criar ou carregar um ficheiro (consola) ............................................................................... 155Adicionar um arquivoAWS CLI) ......................................................................................... 156Adicionar um ficheiro (Git) ................................................................................................ 157

Editar o conteúdo de um ficheiro ............................................................................................... 157Editar um ficheiro (consola) .............................................................................................. 158Edit ou eliminar um ficheiro (AWS CLI) .............................................................................. 159Editar um ficheiro (Git) ..................................................................................................... 160

Trabalhar com solicitações pull ......................................................................................................... 161Criar uma solicitação pull ......................................................................................................... 163

Criar um pedido de puxar (consola) ................................................................................... 164Criar uma solicitação pullAWS CLI) ................................................................................... 165

Criar uma regra de aprovação .................................................................................................. 166Criar uma regra de aprovação para um pedido de pull (consola) ............................................. 167Criar uma regra de aprovação para um pedido de pull-pull (AWS CLI) ..................................... 169

Visualizar solicitações pull ........................................................................................................ 170Ver pedidos de pull (consola) ........................................................................................... 170Visualizar solicitações pullAWS CLI) .................................................................................. 171

Revisar uma solicitação pull ..................................................................................................... 174Rever um pedido de puxar (consola) ................................................................................. 174Rever pedidos de saída (AWS CLI) ................................................................................... 179

Atualizar uma solicitação pull .................................................................................................... 183Atualizar um pedido de puxar (consola) .............................................................................. 183Atualizar pedidos de pull (AWS CLI) .................................................................................. 183

Editar ou excluir uma regra de aprovação ................................................................................... 185Editar ou eliminar uma regra de aprovação para um pedido de pull (consola) ............................ 185Editar ou eliminar uma regra de aprovação para um pedido de pull-pull (AWS CLI) .................... 187

Substituir regras de aprovação num pedido de puxar .................................................................... 189Substituir regras de aprovação (consola) ............................................................................ 189Substituir regras de aprovação (AWS CLI) .......................................................................... 189

Mesclar uma solicitação pull ..................................................................................................... 190Dividir um pedido de puxar (consola) ................................................................................. 191Mesclar uma solicitação pullAWS CLI) ............................................................................... 194

Resolver conflitos num pedido de puxar ..................................................................................... 198

Versão da API 2015-04-13v

Page 6: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Resolver conflitos num pedido de puxar (consola) ................................................................ 198Resolver conflitos num pedido de puxar (AWS CLI) .............................................................. 200

Fechar uma solicitação pull ...................................................................................................... 206Fechar um pedido de puxar (consola) ................................................................................ 206Fechar uma solicitação pullAWS CLI) ................................................................................. 207

Trabalhar com modelos de regra de aprovação ................................................................................... 208Criar um modelo de regra de aprovação .................................................................................... 210

Criar um modelo de regra de aprovação (consola) ............................................................... 210Criar um modelo de regra de aprovaçãoAWS CLI) ............................................................... 212

Associar um modelo de regra de aprovação com um repositório ..................................................... 214Associar um modelo de regra de aprovação (consola) .......................................................... 214Associar um modelo de regra de aprovação (AWS CLI) ........................................................ 214

Gerenciar modelos de regras de aprovação ................................................................................ 215Gerir modelos de regras de aprovação (consola) ................................................................. 215Gerenciar modelos de regras de aprovaçãoAWS CLI) ........................................................... 216

Desassociar um modelo de regra de aprovação .......................................................................... 219Desassociar um modelo de regra de aprovação (consola) ..................................................... 219Desassociar um modelo de regra de aprovação (AWS CLI) ................................................... 220

Eliminar um modelo de regra de aprovação ................................................................................ 221Eliminar um modelo de regra de aprovação (consola) ........................................................... 221Eliminar um modelo de regra de aprovação (AWS CLI) ......................................................... 221

Trabalhar com empenho .................................................................................................................. 222Criar um compromisso ............................................................................................................. 223

Crie o primeiro compromisso para um repositório utilizando o AWS CLI ................................... 223Criar um compromisso utilizando um cliente Git ................................................................... 224Criar um compromisso utilizando o AWS CLI ...................................................................... 226

Visualizar detalhes da confirmação ............................................................................................ 228Procurar compromisso num repositório ............................................................................... 228Visualizar detalhes da confirmaçãoAWS CLI) ...................................................................... 231Ver detalhes de compromisso (Git) .................................................................................... 235

Comparar confirmações ........................................................................................................... 237Comparar um compromisso com os seus pais ..................................................................... 237Comparação entre dois especificadores de confirmação ........................................................ 239

Comentar sobre uma confirmação ............................................................................................. 241Ver comentários num compromisso num repositório ............................................................. 241Adicionar e responder a comentários num repositório ........................................................... 242Ver, adicionar, atualizar e responder às comunicações (AWS CLI) .......................................... 245

Criar uma etiqueta Git ............................................................................................................. 252Utilize Git para criar uma etiqueta ...................................................................................... 252

Ver detalhes da etiqueta .......................................................................................................... 252Ver detalhes da etiqueta (consola) ..................................................................................... 253Ver detalhes da etiqueta Git (Git) ...................................................................................... 253

Excluir uma tag ....................................................................................................................... 255Utilizar Git para eliminar uma etiqueta Git ........................................................................... 255

Trabalhar com ramificações .............................................................................................................. 257Criar uma ramificação .............................................................................................................. 258

Criar uma filial (consola) .................................................................................................. 258Criar uma filial (Git) ......................................................................................................... 259Criar uma ramificaçãoAWS CLI) ........................................................................................ 259

O limite empurra e encaixa para as filiais ................................................................................... 260Configurar um IAM a política para limitar o limite e a aposta a uma sucursal ............................. 261Aplicar o IAM política para um IAM grupo ou função ............................................................ 262Testar a política .............................................................................................................. 262

Ver detalhes da sucursal .......................................................................................................... 263Ver detalhes da sucursal (consola) .................................................................................... 263Ver detalhes da sucursal (Git) ........................................................................................... 264Ver detalhes da sucursal (AWS CLI) .................................................................................. 264

Versão da API 2015-04-13vi

Page 7: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Comparar e unir ramos ............................................................................................................ 265Comparar uma filial para a sucursal predefinida ................................................................... 266Comparar dois ramos específicos ...................................................................................... 266Unir duas filiais (AWS CLI) ............................................................................................... 267

Alterar definições da sucursal ................................................................................................... 269Alterar o ramo predefinido (consola) .................................................................................. 269Alterar o ramo predefinido (AWS CLI) ................................................................................ 269

Eliminar uma agência .............................................................................................................. 270Eliminar uma filial (consola) .............................................................................................. 270Eliminar um ramo (AWS CLI) ............................................................................................ 270Eliminar uma filial (Git) ..................................................................................................... 271

Trabalhar com preferências do utilizador ............................................................................................ 273Migrar para o CodeCommit .............................................................................................................. 274

Migrar um repositório Git para AWS CodeCommit ........................................................................ 274Passo 0: Configuração necessária para acesso a CodeCommit .............................................. 275Etapa 1 Criar uma CodeCommit repositório ........................................................................ 278Etapa 2. Clonar o repositório e pressionar CodeCommit repositório ......................................... 280Etapa 3 Ver ficheiros em CodeCommit ............................................................................... 281Etapa 4. Partilhar o CodeCommit repositório ....................................................................... 281

Migrar conteúdo para CodeCommit ............................................................................................ 283Passo 0: Configuração necessária para acesso a CodeCommit .............................................. 284Etapa 1 Criar uma CodeCommit repositório ........................................................................ 287Etapa 2. Migrar conteúdo local para o CodeCommit repositório .............................................. 288Etapa 3 Ver ficheiros em CodeCommit ............................................................................... 289Etapa 4. Partilhar o CodeCommit repositório ....................................................................... 289

Migrar um repositório em incrementos ........................................................................................ 291Passo 0: Determine se pretende migrar incrementalmente ..................................................... 291Etapa 1 Instalar pré-requisitos e adicionar CodeCommit repositório como remoto ...................... 292Etapa 2. Criar o script para utilizar para migrar gradualmente ................................................. 293Etapa 3 Executar o script e migrar incrementalmente para CodeCommit .................................. 293Apêndice Guião de amostras incremental-repo-migration.py ...................................... 294

Segurança ...................................................................................................................................... 299Proteção de dados .................................................................................................................. 299

AWS KMS e encriptação .................................................................................................. 300Utilizar credenciais de rotação .......................................................................................... 301

Identity and Access Management .............................................................................................. 304Audience ........................................................................................................................ 305Autenticar com identidades ............................................................................................... 305Gerenciamento do acesso usando políticas ......................................................................... 307Autenticação e controle de acesso .................................................................................... 309Como o AWS CodeCommit funciona com o IAM .................................................................. 352CodeCommitPolíticas baseadas em recursos do .................................................................. 352Autorização baseada em CodeCommit etiquetas .................................................................. 352CodeCommit IAM funções ................................................................................................ 355Exemplos de políticas baseadas em identidade ................................................................... 355Solução de problemas ..................................................................................................... 357

Resiliência .............................................................................................................................. 359Segurança da infraestrutura ...................................................................................................... 359

Monitorar o CodeCommit ................................................................................................................. 361Monitorização CodeCommit eventos .......................................................................................... 361

evento referenceCreated .................................................................................................. 362evento referenceUpdated ................................................................................................. 363evento referenceDeleted .................................................................................................. 363evento unreferencedMergeCommitCreated .......................................................................... 364evento commentOnCommitCreated .................................................................................... 364evento commentOnCommitUpdated ................................................................................... 365evento commentOnPullRequestCreated .............................................................................. 365

Versão da API 2015-04-13vii

Page 8: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

evento commentOnPullRequestUpdated ............................................................................. 366evento pullRequestCreated ............................................................................................... 367evento pullRequestSourceBranchUpdated ........................................................................... 367evento pullRequestStatusChanged ..................................................................................... 368evento pullRequestMergeStatusUpdated ............................................................................. 369Evento approvalRuleTemplateCreated ................................................................................ 369Evento approvalRuleTemplateUpdated ............................................................................... 370Evento approvalRuleTemplateDeleted ................................................................................ 370Evento approvalRuleTemplateAssociatedWithRepository ....................................................... 371Evento approvalRuleTemplateDisassociatedWithRepository ................................................... 372Evento approvalRuleTemplateBatchAssociatedWithRepositories ............................................. 372Evento approvalRuleTemplateBatchDisassociatedFromRepositories ........................................ 373Evento pullRequestApprovalRuleCreated ............................................................................ 373Evento pullRequestApprovalRuleDeleted ............................................................................. 374Evento pullRequestApprovalRuleOverridden ........................................................................ 375Evento pullRequestApprovalStateChanged .......................................................................... 376Evento pullRequestApprovalRuleUpdated ............................................................................ 378reactioncriado evento ....................................................................................................... 379reactionatualizado evento ................................................................................................. 379

Iniciar sessão AWS CodeCommit Chamadas API com AWS CloudTrail ........................................... 380CodeCommitInformações sobre o no CloudTrail ................................................................... 380Compreensão CodeCommit entradas de ficheiro de registo ................................................... 381

AWS CloudFormationRecursos do ..................................................................................................... 387CodeCommitModelos do AWS CloudFormation e ......................................................................... 387Saiba mais sobre o AWS CloudFormation .................................................................................. 387

Solução de problemas ..................................................................................................................... 388Credenciais de resolução de problemas (HTTPS) ........................................................................ 388

Credenciais de Git para AWS CodeCommit: Continuo a ver um pedido de credenciais quandome ligar ao meu CodeCommit repositório no terminal ou linha de comando .............................. 388Credenciais de Git para AWS CodeCommit: Defini credenciais Git, mas o meu sistema não estáa usá-las ........................................................................................................................ 389

Solução de problemas do git-remote-codecommit ......................................................................... 389Vejo um erro: git: 'remote-codecommit' não é um comando git ............................................... 389Vejo um erro: fatal: Não foi possível encontrar o assistente remoto para 'codecommit' ................ 390Erro de clonagem: Não consigo clonar a CodeCommit repositório de um IDE ............................ 390Erro de empurrar ou puxar: Não consigo empurrar ou puxar o compromisso de um IDE para umCodeCommit repositório ................................................................................................... 390

Resolução de problemas de ligações SSH .................................................................................. 391Erro de acesso: A chave pública é carregada com sucesso para IAM mas a ligação falha Linux,macOS, or Unix sistemas ................................................................................................. 391Erro de acesso: A chave pública é carregada com sucesso para IAM e SSH testados com êxitomas a ligação falha nos sistemas Windows ......................................................................... 392Desafio de autenticação: A autenticidade do anfitrião não pode ser estabelecida ao ligar a umCodeCommit repositório ................................................................................................... 392IAM erro: "Formato inválido" ao tentar adicionar uma chave pública a IAM ................................ 395Preciso de aceder CodeCommit repositórios em vários AWS contas com credenciais SSH ......... 395T no Windows: O emulador ou linha de comando do bastih congela ao tentar ligar utilizando SSH . 396

Resolução de problemas do assistente de credencial (HTTPS) ...................................................... 397Recebo um erro de comando não encontrado no Windows ao usar o assistente de credenciais .... 397Sou-me pedido um nome de utilizador quando me ligar a um CodeCommit repositório ................ 398Git para macOS: Configurei o assistente de credencial com sucesso, mas agora tenho acessoao meu repositório (403) .................................................................................................. 398T para Windows: Instalei Git para Windows, mas tenho acesso ao meu repositório (403) ............. 400

Clientes de resolução de problemas .......................................................................................... 402Erro de Git: Erro Falhou o RPC; resultado=56, código HTTP = 200 fatal: A extremidade remotasobe inesperadamente ..................................................................................................... 402Erro de Git: Demasiados comandos de atualização de referência ........................................... 402

Versão da API 2015-04-13viii

Page 9: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Erro de Git: O push através do HTTPS está dividido em algumas versões do Git ....................... 402Erro do Git: "gnutls_handshake() failed" .............................................................................. 403Erro de Git: Git não consegue encontrar o CodeCommit repositório ou não tem permissão paraaceder ao repositório ....................................................................................................... 403T no Windows: Não estão disponíveis métodos de autenticação suportados (publickey) .............. 403

Resolução de problemas com erros de acesso ............................................................................ 404Erro de acesso: Sou-me pedido um nome de utilizador e palavra-passe quando me ligar a umCodeCommit repositório do Windows ................................................................................. 404Erro de acesso: Chave pública negada ao ligar a um CodeCommit repositório .......................... 404Erro de acesso: Mensagem “Taxa excedida” ou “429” quando ligar a um CodeCommit repositório . 405

Resolução de problemas de erros de configuração ...................................................................... 405Erro de configuração: Não é possível configurar AWS CLI credenciais em macOS ..................... 406

Resolução de problemas de erros da consola ............................................................................. 406Erro de acesso: Acesso a chave de encriptação negado para um CodeCommit repositório daconsola ou AWS CLI ....................................................................................................... 405Erro da consola: Não é possível pesquisar o código num CodeCommit repositório da consola ...... 406

Gatilhos de resolução de problemas .......................................................................................... 407Erro de accionamento: Um desencadeador de repositório não funciona quando esperado ........... 407

Activar depuração ................................................................................................................... 407CodeCommitReferência do do ........................................................................................................... 409

Parâmetros de ligação de regiões e Git ...................................................................................... 409Regiões AWS suportadas para CodeCommit ....................................................................... 409Parâmetros de ligação de T .............................................................................................. 410Impressões digitais do servidor para CodeCommit ............................................................... 413

Utilizar AWS CodeCommit com terminais VPC de interface ........................................................... 415Availability ...................................................................................................................... 416Criar parâmetros de avaliação de VPC para CodeCommit ..................................................... 417Criar uma política de VPC endpoint para o CodeCommit ....................................................... 417

Cotas .................................................................................................................................... 418Referência da linha de comando ............................................................................................... 422Comandos de Git básicos ........................................................................................................ 426

Variáveis de configuração ................................................................................................ 426Repositórios remotos ....................................................................................................... 427Commits ........................................................................................................................ 428Branches ....................................................................................................................... 428Tags .............................................................................................................................. 429

Histórico do documento .................................................................................................................... 431Atualizações anteriores ............................................................................................................ 435

AWS Glossary ................................................................................................................................ 440

Versão da API 2015-04-13ix

Page 10: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioApresentação do CodeCommit

O que é o AWS CodeCommit?AWS CodeCommit é um serviço de controlo de versão alojado por Amazon Web Services que pode utilizarpara armazenar e gerir ativos de forma privada (como documentos, código fonte e ficheiros binários) nanuvem. Para informações sobre preços para CodeCommit, consulte Preço.

Note

CodeCommitO está em escopo com muitos programas de conformidade. Para mais detalhessobre AWS e esforços de conformidade, consulte AWS Serviços abrangidos pelo programa deconformidade.Este é um serviço qualificado da HIPAA. Para obter mais informações sobre a AWS, a Lei dePortabilidade e Responsabilidade de Seguro de Saúde de 1996 dos EUA (HIPAA) e o uso dosserviços da AWS para processar, armazenar e transmitir informações de saúde protegidas (PHI),consulte Visão geral da HIPAA.Para obter informações sobre esse serviço e ISO 27001, um padrão de gerenciamento desegurança que especifica melhores práticas de gerenciamento de segurança, consulte ISO 27001Overview (Visão geral de ISO 27001).Para obter informações sobre este serviço e a Norma de Segurança de Dados do Setor deCartões de Pagamento (PCI DSS), consulte Descrição geral do PCI DSS.Para obter informações sobre este serviço e a norma 140-2 do Standard Information ProcessingStandard (FIPS) da Publicação de Processamento de Informações, que especifica os requisitosde segurança para módulos criptográficos que protegem informações sensíveis, consulte Normade Processamento da Informação Federal (FIPS) 140-2 Síntese e Parâmetros de ligação deT (p. 410).

Tópicos• Apresentação do CodeCommit (p. 1)• CodeCommit, Git e escolher a direita AWS serviço para as suas necessidades (p. 2)• Como o CodeCommit funciona? (p. 4)• Como é CodeCommit diferente do processo de resolução de ficheiros em Amazon S3? (p. 5)• Como começo a usar o CodeCommit? (p. 6)• Onde posso saber mais sobre Git? (p. 6)

Apresentação do CodeCommitCodeCommit é um serviço de controlo de fonte seguro, altamente escalável e gerido que aloja repositóriosGit privados. CodeCommit elimina a necessidade de gerir o seu próprio sistema de controlo de fonte ou sepreocupar em escalar a sua infraestrutura. Você pode usar o CodeCommit para armazenar desde códigosate binários. Ele é compatível com a funcionalidade padrão do Git, então funciona perfeitamente com assuas ferramentas baseadas em Git.

Com o CodeCommit, você pode:

• Beneficie de um serviço totalmente gerido alojado por AWS. CodeCommit proporciona uma elevadadisponibilidade e durabilidade de serviços e elimina a sobrecarga administrativa da gestão do seupróprio hardware e software. Não há hardware para provisionar e escalar nem software de servidor parainstalar, configurar e atualizar.

• Guarde o seu código de forma segura. CodeCommit os repositórios são encriptados em repouso e emtrânsito.

• Trabalhe em colaboração com o código. CodeCommit repositórios suportam pedidos de pull, ondeos utilizadores podem rever e comentar as alterações de código de cada um antes de as juntar às

Versão da API 2015-04-131

Page 11: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCodeCommit, Git e escolher a direita

AWS serviço para as suas necessidades

filiais; notificações que enviam automaticamente e-mails aos utilizadores sobre pedidos de extração ecomentários; e mais.

• Dimensione facilmente os projectos de controlo da sua versão. CodeCommit os repositórios podemescalar para satisfazer as suas necessidades de desenvolvimento. O serviço pode lidar com repositórioscom um grande número de arquivos ou ramificações, tamanhos grandes de arquivo e longos históricosde revisão.

• Armazenar tudo, em qualquer altura. CodeCommit não tem limite no tamanho dos seus repositórios ounos tipos de ficheiro que pode guardar.

• Integrar com outro AWS e serviços de terceiros. CodeCommit mantém os seus repositórios perto dosseus outros recursos de produção no AWS Nuvem, que ajuda a aumentar a velocidade e a frequênciado seu ciclo de vida de desenvolvimento. Está integrado com IAM e pode ser utilizado com outros AWSserviços e em paralelo com outros repositórios. Para obter mais informações, consulte Integrações deprodutos e serviços ao AWS CodeCommit (p. 81).

• Migrar arquivos de outros repositórios remotos facilmente. É possível migrar para o CodeCommit dequalquer repositório baseado em Git.

• Utilize as ferramentas Git que já conhece. CodeCommit apoia os comandos Git, assim como os seusAWS CLI comandos e API.

CodeCommit, Git e escolher a direita AWS serviçopara as suas necessidades

Sendo um serviço baseado no Git, o CodeCommit é adequado para a maioria das necessidades decontrole de versão. Não há limites arbitrários no tamanho dos arquivos, tipos de arquivo e tamanho dorepositório. No entanto, há limitações inerentes ao Git que podem afetar negativamente o desempenho dedeterminados tipos de operações, especialmente ao longo do tempo. Pode evitar a potencial degradaçãode CodeCommit desempenho do repositório ao evitar utilizá-lo para casos de utilização em que outrosAWS são mais adequados para a tarefa. Você também pode otimizar o desempenho do Git pararepositórios complexos. Aqui estão alguns casos de uso em que o Git, e, portanto, o CodeCommit, podenão ser a melhor solução para você, ou em que talvez seja necessário executar etapas adicionais paraotimizar para o Git.

Caso de uso Description (Descrição) Outros serviços a seremconsiderados:

Arquivos grandes que sãoalterados com frequência

O Git usa a codificação deltapara armazenar diferençasentre versões de arquivos. Porexemplo, se você alterar algumaspalavras em um documento, oGit armazenará somente essaspalavras alteradas. Se você tiverarquivos ou objetos acima de 5MB com muitas alterações, talvezseja necessário que o Git recrieuma grande cadeia de diferençasdelta. Isso pode consumir umamaior quantidade de recursos decomputação em seu computadorlocal e no CodeCommit, já queesses arquivos crescem ao longodo tempo.

Para aceder a ficheiros grandes,considere Amazon SimpleStorage Service (Amazon S3).Para mais informações, consulteUtilizar o Versioning no Guiado desenvolvedor do AmazonSimple Storage Service.

Versão da API 2015-04-132

Page 12: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCodeCommit, Git e escolher a direita

AWS serviço para as suas necessidades

Caso de uso Description (Descrição) Outros serviços a seremconsiderados:

Database Os repositórios Git crescemao longo do tempo. Comoo versionamento controlatodas as alterações, qualqueralteração aumentará o tamanhodo repositório. Em outraspalavras, à medida que vocêconfirmar dados, mesmo sevocê excluir dados em umaconfirmação, os dados serãoadicionados a um repositório.Conforme a quantidadedados a serem processados etransmitidos aumenta ao longodo tempo, o Git fica lento. Isso éespecialmente prejudicial paraum caso de uso de banco dedados. O Git não foi projetadocomo um banco de dados.

Para criar e usar um bancode dados com desempenhoconsistente, independentementedo tamanho, considere o AmazonDynamoDB. Para obter maisinformações, consulte Guia deconceitos básicos do AmazonDynamoDB.

Trilhas de auditoria Normalmente, as trilhas deauditoria são mantidas porlongos períodos de tempo esão geradas continuamente porprocessos do sistema em umacadência muito frequente. O Gitfoi projetado para armazenarcom segurança o código-fonte gerado por grupos dedesenvolvedores em um ciclode desenvolvimento. Alterarrapidamente os repositórios quearmazenam continuamente asalterações do sistema geradasprogramaticamente causará adegradação do desempenho aolongo do tempo.

Para guardar os percursos deauditoria, considere AmazonSimple Storage Service (AmazonS3).

Para auditar AWS atividade,dependendo do seu caso deutilização, considere utilizarAWS CloudTrail, AWS Config, ouAmazon CloudWatch.

Versão da API 2015-04-133

Page 13: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComo o CodeCommit funciona?

Caso de uso Description (Descrição) Outros serviços a seremconsiderados:

Backups O Git foi projetado para versionaro código-fonte escrito pelosdesenvolvedores. Podepush compromete-se a doisrepositórios remotos (p. 139),incluindo um CodeCommitrepositório, como uma estratégiade cópia de segurança. Noentanto, o Git não foi projetadopara lidar com os backupsdo sistema de arquivos deseu computador, despejos debanco de dados ou conteúdosde backup semelhantes. Issopode fazer com que o sistemafique lento e aumentar o temponecessário para clonar e enviarum repositório.

Para obter informações sobre obackup até ao AWS Nuvem, verCópia de segurança e restauro.

Grande número de ramificaçõesou referências

Quando um cliente Git enviaou extrai dados do repositório,o servidor remoto deveenviar todas as ramificaçõese referências, como tags,mesmo que você só estejainteressado em uma únicaramificação. Se você tivermilhares de ramificações ereferências, poderá levar maistempo para o processamentoe o envio (negociação dopacote) e poderá resultar emresposta aparentemente lentado repositório. Quanto maisramificações e tags você tiver,mais esse processo poderádemorar. Recomendamos usaro CodeCommit, mas exclua asramificações e tags que nãoforem mais necessárias.

Para analisar o número dereferências em um repositóriodo CodeCommit para determinarquais talvez não sejamnecessárias, você pode usar umdos seguintes comandos:

• Linux, macOS, or Unix, ouemulador Bash no Windows:

git ls-remote | wc-l

• Powershell:

git ls-remote | Measure-Object -line

Como o CodeCommit funciona?CodeCommit está familiarizado com os utilizadores de repositórios baseados em Git, mas mesmo aquelesnão familiarizados devem encontrar a transição para CodeCommit relativamente simples. CodeCommitfornece uma consola para a fácil criação de repositórios e a listagem de repositórios e ramos existentes.Em alguns passos simples, os utilizadores podem encontrar informações sobre um repositório e cloná-laspara o computador, criar uma repo local onde podem fazer alterações e, em seguida, pressioná-las para oCodeCommit repositório. Os usuários podem trabalhar a partir da linha de comando nas máquinas locaisou usar um editor baseado em GUI.

Versão da API 2015-04-134

Page 14: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComo é CodeCommit diferente do processode resolução de ficheiros em Amazon S3?

A seguinte figura mostra como utiliza a sua máquina de desenvolvimento, a AWS CLI ou CodeCommitconsola e a CodeCommit serviço para criar e gerir repositórios:

1. Utilize o AWS CLI ou o CodeCommit para criar uma Repositório do CodeCommit.2. A partir da sua máquina de desenvolvimento, utilize Git para executar git clone, especificando o nome

do CodeCommit repositório. Isso cria um repo local que se conecta ao Repositório do CodeCommit.3. Utilize o repo local na sua máquina de desenvolvimento para modificar (adicionar, editar e eliminar)

ficheiros e, em seguida, executar git add para definir os ficheiros modificados localmente. Executar gitcommit para cometer os ficheiros localmente e depois executar git push para enviar os ficheiros paraRepositório do CodeCommit.

4. Baixe alterações de outros usuários. Executar git pull para sincronizar os ficheiros no Repositório doCodeCommit com o seu repo local. Isso garante que você trabalhe com a versão mais recente dosarquivos.

Pode utilizar o AWS CLI ou o CodeCommit para controlar e gerir os seus repositórios.

Como é CodeCommit diferente do processo deresolução de ficheiros em Amazon S3?

CodeCommitO foi otimizado para o desenvolvimento de software em equipe. Ele gerencia lotes dealterações em vários arquivos, o que pode ocorrer em paralelo com as alterações feitas por outrosdesenvolvedores. O versionamento do Amazon S3 oferece suporte à recuperação de versões anerioresdos arquivos, mas não tem como foco os recursos de rastreamento colaborativo de arquivos de que asequipes de desenvolvimento de software precisam.

Versão da API 2015-04-135

Page 15: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComo começo a usar o CodeCommit?

Como começo a usar o CodeCommit?Para começar a usar o CodeCommit:

1. Siga os passos em Configuração (p. 7) para preparar as suas máquinas de desenvolvimento.2. Siga as etapas em um ou mais tutoriais em Conceitos básicos (p. 56).3. Criar (p. 91) projectos de controlo de versão em CodeCommit ou migrar (p. 274) projectos de

controlo de versão para CodeCommit.

Onde posso saber mais sobre Git?Se ainda não o souber, deve aprender a utilizar Git (p. 426). Veja alguns recursos úteis:

• Git pro, uma versão online do Git pro livro. Escrito por Scott Chacon. Publicado pela Apress.• Imersão em T, uma visita guiada que o acompanha através dos fundamentos da utilização da Git.

Publicado pela Neo Innovation, Inc.• Referência Git, uma referência rápida online que também pode ser usada como um tutorial Git mais

aprofundado. Publicado pela equipe do GitHub.• Folha de Cheat Git com sintaxe de comando Git básica. Publicado pela equipe do GitHub.• Git Pocket Guide. Escrito por Richard E. Silverman. Publicado pela O'Reilly Media, Inc.

Versão da API 2015-04-136

Page 16: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer e gerir as suas credenciais

Configuração do AWS CodeCommitPode iniciar sessão no Console de gerenciamento da AWS e carregar, adicionar ou editar umficheiro (p. 153) diretamente a um repositório AWS CodeCommit consola. Esta é uma maneira rápida defazer uma alteração. No entanto, se você quiser trabalhar com vários arquivos, arquivos em ramificações,e assim por diante, considere configurar o computador local para trabalhar com repositórios. A maneiramais fácil de configurar o CodeCommit é configurando credenciais do Git de HTTPS para o AWSCodeCommit. Esse método de autenticação HTTPS:

• Usa um nome de usuário e uma senha estáticos.• Funciona com todos os sistemas operacionais aos quais o oferece suporte.CodeCommit.• É compatível com ambientes de desenvolvimento integrados (IDEs) e outras ferramentas de

desenvolvimento com suporte para credenciais do Git.

Você pode usar outros métodos, se não quiser ou não puder usar credenciais do Git por motivosoperacionais. Por exemplo, se você acessar repositórios do CodeCommit usando acesso federado,credenciais temporárias ou um provedor de identidade da web, não poderá usar credenciais do Git.Recomendamos que configure o seu computador local utilizando o git-remote-codecommit comando.Revise essas opções cuidadosamente, a fim de decidir qual método alternativo funciona melhor para você.

• Configurar utilizando credenciais Git (p. 8)• Configurar utilizando outros métodos (p. 8)• Compatibilidade para CodeCommit, Git e outros componentes (p. 10)

Para obter informações sobre a utilização CodeCommit e Amazon Virtual Private Cloud, consulte UtilizarAWS CodeCommit com terminais VPC de interface (p. 415).

Ver e gerir as suas credenciaisPode ver e gerir o seu CodeCommit credenciais do AWS a consola através de As minhas credenciais desegurança.

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. Na barra de navegação no canto superior direito, escolha o seu nome de utilizador e escolha Asminhas credenciais de segurança.

Versão da API 2015-04-137

Page 17: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioConfigurar utilizando credenciais Git

3. Escolha o AWS CodeCommit credenciais separador.

Configurar utilizando credenciais GitCom conexões HTTPS e credenciais do Git, você gera um nome de usuário e uma senha estáticos noIAM. Essas credenciais são usadas com o Git e qualquer outra ferramenta de terceiros com suporte paraa autenticação usando o nome de usuário e a senha do Git. Esse método tem suporte da maioria dasIDEs e das ferramentas de desenvolvimento. É o método de conexão mais simples e fácil de usar com oCodeCommit.

• Para utilizadores HTTPS utilizando credenciais Git (p. 10): siga estas instruções para configurarconexões entre seu computador local e os repositórios do CodeCommit usando credenciais do Git.

• Para ligações a partir de ferramentas de desenvolvimento (p. 19): siga estas diretrizes para configurarconexões entre seu IDE ou outras ferramentas de desenvolvimento e repositórios do CodeCommitusando credenciais do Git. As IDEs com suporte para credenciais do Git incluem (mas não são limitadasa) Visual Studio, Eclipse, Xcode e IntelliJ.

Configurar utilizando outros métodosPode utilizar o protocolo SSH em vez de HTTPS para ligar ao seu CodeCommit repositório. Com conexõesSSH, você cria arquivos de chave pública e privada em sua máquina local que o Git e o CodeCommitusam para a autenticação SSH. Associa a chave pública ao seu IAM utilizador. e a chave privada éarmazenada na sua máquina local. Como o SSH requer a criação e o gerenciamento manuais de arquivosde chave pública e privada, as credenciais do Git talvez sejam mais simples e fáceis de usar com oCodeCommit.

Diferente das credenciais do Git, a configuração da conexão SSH varia de acordo com o sistemaoperacional de seu computador local.

• Para utilizadores SSH que não utilizam o AWS CLI (p. 33): siga estas instruções resumidas sevocê já tiver um par de chaves pública e privada e estiver familiarizado com conexões SSH em seucomputador local.

Versão da API 2015-04-138

Page 18: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioConfigurar utilizando outros métodos

• Para ligações SSH em Linux, macOS, or Unix (p. 35): Siga estas instruções para uma demonstraçãopasso a passo da criação de um par de chaves público-privadas e de configurar ligações em Linux,macOS, or Unix sistemas operativos.

• Para ligações SSH no Windows (p. 40): siga estas instruções para obter orientação passo a passosobre a criação de um par de chaves pública e privada e a configuração de conexões em sistemasoperacionais Windows.

Se estiver a ligar a CodeCommit e AWS utilizando o acesso federado, um fornecedor de identidade oucredenciais temporárias, ou se não quiser configurar IAM utilizadores ou credenciais de Git para IAMutilizadores, pode configurar ligações para CodeCommit repositórios de duas formas:

• Instale e use git-remote-codecommit (recomendado).• Instale e use o assistente de credenciais incluído na AWS CLI.

Ambos os métodos suportam o acesso CodeCommit repositórios sem necessidade de IAM utilizador,o que significa que pode estabelecer ligação aos repositórios utilizando acesso federado e credenciaistemporárias. O utilitário git-remote-codecommit é a abordagem recomendada. Ele estende o Git e écompatível com uma variedade de versões do Git e assistentes de credenciais. No entanto, nem todas ascontas suportam o formato URL do clone utilizado por git-remote-codecommit. Poderá ter de clonarmanualmente repositórios para o seu computador local antes de poder trabalhar com eles no seu IDE.

• Siga as instruções em Passos de configuração para ligações HTTPS para o código AWS Repositórioscom código de controlo remoto (p. 14) instalar e configurar git-remote-codecommit no Windows,Linux, macOS, or Unix.

O assistente de credencial incluído no AWS CLI permite que Git use HTTPS e uma versãocriptograficamente assinada do seu IAM credenciais do utilizador ou Amazon EC2 função de instânciasempre que Git precisar de autenticar com AWS interagir com CodeCommit repositórios. Alguns sistemasoperacionais e versões do Git têm seus próprios assistentes de credenciais, que entram em conflito como assistente de credenciais incluído na AWS CLI. Eles podem causar problemas de conectividade doCodeCommit.

• Para ligações HTTPS em Linux, macOS, or Unix com o AWS CLI auxiliar de credencial (p. 45): Sigaestas instruções para uma demonstração passo a passo da instalação e configuração do auxiliar dacredencial em Linux, macOS, or Unix sistemas.

• Para ligações HTTPS no Windows com o AWS CLI auxiliar de credencial (p. 50): siga estasinstruções para obter orientação passo a passo sobre a instalação e a configuração do assistente decredenciais em sistemas Windows.

Se estiver a ligar a um CodeCommit repositório alojado noutro AWS pode configurar o acesso e configurarligações utilizando funções, políticas e o auxiliar de credencial incluído no AWS CLI.

• Configurar o acesso entre contas cruzadas a um AWS CodeCommit repositório utilizandofunções (p. 142): Siga estas instruções para uma apresentação passo a passo da configuração doacesso entre contas cruzadas num só AWS conta aos utilizadores num IAM grupo noutro AWS conta.

Versão da API 2015-04-139

Page 19: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCompatibilidade para CodeCommit,

Git e outros componentes

Compatibilidade para CodeCommit, Git e outroscomponentes

Ao trabalhar com o CodeCommit, use o Git. Outros programas também podem ser usados. A tabelaa seguir fornece as orientações mais recente sobre compatibilidade de versão. Como melhor prática,recomendamos que você use as versões mais recentes do Git e de outros softwares.

Informações de compatibilidade da versão para o código de codecaAWS

Componente Versão

Git CodeCommit é compatível com o Git versões 1.7.9ou posterior. Recomendamos o uso de uma versãorecente do Git.

Curl CodeCommit requer cURL 7.33 e posterior.No entanto, há um problema conhecido como HTTPS e a atualização do curl 7.41.0. Paraobter mais informações, consulte Solução deproblemas (p. 388).

Pião (git-remote-codecommit apenas) git-remote-codecommit requer a versão 3 eposterior.

Pip (git-remote-codecommit apenas) git-remote-codecommit requer a versão 9.0.3 eposterior.

Configuração para utilizadores HTTPS utilizandocredenciais Git

A forma mais simples de configurar ligações para AWS CodeCommit repositórios é configurar ascredenciais Git para CodeCommit no IAM consola e, em seguida, utilize essas credenciais para ligaçõesHTTPS. Você também pode usar essas mesmas credenciais com qualquer ferramenta de terceiros ouambiente de desenvolvimento individual (IDE) que seja compatível com autenticação HTTPS usando umnome do usuário e uma senha estáticos. Para ver exemplos, consulte Para ligações a partir de ferramentasde desenvolvimento (p. 19).

Note

Se você tiver configurado anteriormente o seu computador local para usar o auxiliar decredenciais para o CodeCommit, edite o arquivo .gitconfig para remover as informações doauxiliar de credenciais do arquivo antes de usar credenciais do Git. Se o seu computador estiverexecutando macOS, pode ser necessário limpar as credenciais armazenadas em cachê doAcesso às Chaves.

Etapa 1 Configuração inicial para CodeCommitSiga estes passos para configurar um AWS conta, criar IAM utilizador e configurar o acesso aCodeCommit.

Como criar e configurar um usuário do IAM para acessar o CodeCommit

1. Criar um AWS conta indo http://aws.amazon.com e escolher Registo.

Versão da API 2015-04-1310

Page 20: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Instale o Git.

2. Criar um IAM utilizador ou utilize um existente, no seu AWS conta. Certifique-se de que tem umaID chave de acesso e uma chave de acesso secreta associada a esse IAM utilizador. Para maisinformações, consulte Criar uma IAM Utilizador na sua AWS Conta.

Note

CodeCommitO requer o AWS Key Management Service. Se estiver a utilizar um IAMutilizador, certifique-se de que não existem políticas ligadas ao utilizador que recusemexpressamente o AWS KMS ações necessárias por CodeCommit. Para obter maisinformações, consulte AWS KMS e encriptação (p. 300).

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

4. No IAM consola, no painel de navegação, escolha Utilizadores, e depois escolha o IAM utilizador quepretende configurar para CodeCommit acesso.

5. No Permissões , escolha Adicionar permissões.6. Em Conceder permissões, escolha Anexe directamente as políticas existentes.7. Na lista de políticas, selecione AWSCodeCommitPowerUser ou outra política gerida para CodeCommit

acesso. Para obter mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317).

Depois de selecionar a política que pretende anexar, escolha Seguinte: Revisão para rever a lista depolíticas para anexar ao IAM utilizador. Se a lista estiver correta, escolha Adicionar permissões.

Para mais informações sobre CodeCommit políticas geridas e partilha de acesso a repositórios comoutros grupos e utilizadores, consulte Partilhar um repositório (p. 97) e Autenticação e controle deacesso para o AWS CodeCommit (p. 309).

Se quiser utilizar AWS CLI comandos com CodeCommit, instale o AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Etapa 2. Instale o Git.Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git Downloads.

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recurso podeafetar o modo como ele funciona com o CodeCommit. Se você tiver problemas com uma versãoespecífica do Git e do CodeCommit, reveja as informações em Solução de problemas (p. 388).

Etapa 3 Criar credenciais de Git para ligações HTTPSpara CodeCommitDepois de instalar o Git, crie credenciais do Git para seu usuário do IAM no IAM. Para mais informações,consulte Utilize as Credenciais Git e HTTPS com AWS CodeCommit no IAM Guia do utilizador.

Para configurar as credenciais do Git em HTTPS para o CodeCommit

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

Versão da API 2015-04-1311

Page 21: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Criar credenciais de Git paraligações HTTPS para CodeCommit

Lembre-se de se conectar como o usuário específico do IAM que criará e usará as credenciais do Gitnas conexões com o CodeCommit.

2. No IAM consola, no painel de navegação, escolha Utilizadores, e a partir da lista de utilizadores,escolha o seu IAM utilizador.

Note

Pode ver e gerir directamente o seu CodeCommit credenciais em As minhas credenciais desegurança. Para obter mais informações, consulte Ver e gerir as suas credenciais (p. 7).

3. Na página de detalhes do utilizador, escolha o Credenciais de segurança e em Credenciais de GitHTTPS para AWS CodeCommit, escolha Gerar.

Note

Você não pode escolher seu próprio nome do usuário ou senha para as credenciais do Git.Para mais informações, consulte Utilize as Credenciais Git e HTTPS com CodeCommit.

4. Copiar o nome de utilizador e a palavra-passe que IAM gerado para si, mostrando, copiando e,em seguida, colando esta informação num ficheiro seguro no computador local ou selecionandoCredenciais de download para transferir estas informações como um ficheiro.CSV. Essas informaçõessão necessárias para você se conectar ao CodeCommit.

Depois de guardar as suas credenciais, escolha Fechar.

Versão da API 2015-04-1312

Page 22: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Ligar ao CodeCommitconsola e clonar o repositório

Important

Essa é a única chance de salvar o nome do usuário e a senha. Se você não salvá-los, poderácopiar o nome do usuário do console do IAM, mas não poderá pesquisar a senha. Vocêdeverá reiniciar a senha e salvá-la.

Etapa 4. Ligar ao CodeCommit consola e clonar orepositórioSe um administrador já enviou para você o nome e os detalhes de conexão do repositório do CodeCommit,ignore esta etapa e clone o repositório diretamente.

Para ligar a um CodeCommit repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos de uma região da AWS. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. Escolha na lista o repositório ao qual deseja se conectar. Escolha Clone URL (Clonar URL) e escolhao protocolo que você deseja usar ao clonar ou se conectar ao repositório. Isso copia a URL do clone.

• Copie o URL HTTPS se você estiver usando credenciais do Git com seu usuário do IAM ou oauxiliar de credenciais incluído na AWS CLI.

• Copie o URL HTTPS (GRC) se estiver usando o comando git-remote-codecommit no computadorlocal.

• Copie o URL SSH se você estiver usando um par de chaves públicas e privadas SSH com seuusuário do IAM.

Note

Se você vir uma página Welcome (Bem-vindo), em vez de uma lista de repositórios, nãohaverá repositórios associados à sua conta da AWS na região da AWS onde você estáconectado. Para criar um repositório, consulte the section called “Criar um repositório do” (p. 91) ou siga as etapas no tutorial Como começar com Git e CodeCommit (p. 69).

4. Abra um terminal, uma linha de comando ou um shell do Git. Execute o comando git clone com oURL do clone HTTPS copiado para clonar o repositório. Por exemplo, para excluir um repositóriodenominado : MyDemoRepo para uma repo local nomeada my-demo-repo no Leste dos EUA (Ohio)Região:

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Na primeira vez em que se conectar, será solicitado que você forneça o nome do usuário e a senha dorepositório. Dependendo da configuração do seu computador local, a solicitação pode se originar deum sistema de gerenciamento de credenciais do sistema operacional (por exemplo, Acesso às Chavesdo macOS), de um utilitário de gerenciamento de credenciais da sua versão do Git (por exemplo,o gerenciador de credenciais do Git incluído no Git para Windows), do seu IDE ou do próprio Git.Insira o nome do usuário e a senha gerados para as credenciais do Git no IAM (os que você criou emEtapa 3 Criar credenciais de Git para ligações HTTPS para CodeCommit (p. 11)). Dependendo dosistema operacional e de outros softwares, essas informações podem ser salvas para você em umarmazenamento de credenciais ou um utilitário de gerenciamento de credenciais. Dessa forma, você

Versão da API 2015-04-1313

Page 23: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPróximas etapas

não deverá ser solicitado novamente, a menos que altere a senha, desative as credenciais do Git ouexclua as credenciais do Git no IAM.

Se você não tiver um armazenamento de credenciais ou um utilitário de gerenciamento de credenciaisconfigurado no seu computador local, instale um. Para mais informações sobre Git e como gere ascredenciais, consulte Armazenamento de credenciais na documentação Git.

Para mais informações, consulte Ligar ao CodeCommit repositório clonando o repositório (p. 95) eCriar um compromisso (p. 223).

Próximas etapasVocê concluiu os pré-requisitos. Siga estas etapas em Conceitos básicos de CodeCommit (p. 56) paracomeçar a usar o CodeCommit.

Para aprender a criar e pressionar o seu primeiro compromisso, consulte Criar uma confirmação no AWSCodeCommit (p. 223). Se for novo na Git, pode também querer rever a informação em Onde posso sabermais sobre Git? (p. 6) e Como começar com Git e AWS CodeCommit (p. 69).

Passos de configuração para ligações HTTPS paraAWS CodeCommit com código de controlo git-remote

Se quiser ligar a CodeCommit utilizando uma conta raiz, acesso federado ou credenciais temporárias,deve configurar o acesso utilizando git-remote-codecommit. Este utilitário fornece um método simplespara empurrar e puxar o código de CodeCommit repositórios ao estender Git. É o método recomendadopara oferecer suporte a conexões feitas com acesso federado, provedores de identidade e credenciaistemporárias. Em vez de criar um usuário do IAM, você pode usar identidades existentes do AWS DirectoryService, do diretório de usuário da sua empresa ou de um provedor de identidades da Web. Estes sãoconhecidos como usuários federados. A AWS atribui uma função a um usuário federado quando oacesso é solicitado por meio de um provedor de identidades. Para obter mais informações sobre usuáriosfederados, consulte Usuários federados e funções no Guia do usuário do IAM.

Também pode utilizar git-remote-codecommit com um IAM utilizador. Ao contrário de outros métodos deconexão HTTPS, git-remote-codecommit não requer a configuração de credenciais do Git para o usuário.

Note

Algumas contas não suportam o formato URL do clone utilizado por git-remote-codecommit.Poderá ter de clonar manualmente repositórios para o seu computador local antes de podertrabalhar com eles no seu IDE preferido. Para obter mais informações, consulte Solução deproblemas do git-remote-codecommit e do AWS CodeCommit (p. 389).

Estes procedimentos são escritos com o pressuposto de que tem um AWS conta, criaram pelo menos umrepositório em CodeCommit, e utilize um IAM utilizador com uma política gerida ao ligar a CodeCommitrepositórios. Para obter informações sobre como configurar o acesso para usuários federados e outrostipos de credenciais rotativas, consulte A ligar a AWS CodeCommit repositórios com credenciaisrotativas (p. 301).

Tópicos• Passo 0: Instalar pré-requisitos para o código de controlo git-remoto (p. 15)

Versão da API 2015-04-1314

Page 24: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPasso 0: Instalar pré-requisitos para

o código de controlo git-remoto

• Etapa 1 Configuração inicial para CodeCommit (p. 15)• Etapa 2. Instalar código de controlo remoto (p. 17)• Etapa 3 Ligar ao CodeCommit consola e clonar o repositório (p. 18)• Próximas etapas (p. 19)

Passo 0: Instalar pré-requisitos para o código decontrolo git-remotoPara utilizar git-remote-codecommit, é necessário instalar alguns pré-requisitos no computador local.Dentre elas estão:

• Python (versão 3 ou posterior) e seu gerenciador de pacotes, pip, se eles ainda não estivereminstalados. Para transferir e instalar a versão mais recente do Python, visite site Python.

• Git

Note

Ao instalar o Python no Windows, não se esqueça de escolher a opção para adicionar o Pythonao caminho.

git-remote-codecommit requer o pip versão 9.0.3 ou posterior. Para verificar sua versão do pip, abra umterminal ou a linha de comando e execute o seguinte comando:

pip --version

É possível executar os dois comandos a seguir para atualizar sua versão do pip para a versão maisrecente:

curl -O https://bootstrap.pypa.io/get-pip.pypython3 get-pip.py --user

Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git Downloads.

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recurso podeafetar o modo como ele funciona com o CodeCommit. Se você tiver problemas com uma versãoespecífica do Git e do CodeCommit, reveja as informações em Solução de problemas (p. 388).

Etapa 1 Configuração inicial para CodeCommitSiga estas etapas para criar um usuário do IAM, configurá-lo com as políticas apropriadas, obter umachave de acesso e uma chave secreta e instalar e configurar a AWS CLI.

Como criar e configurar um usuário do IAM para acessar o CodeCommit

1. Criar um AWS conta indo http://aws.amazon.com e escolher Registo.

Versão da API 2015-04-1315

Page 25: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Configuração inicial para CodeCommit

2. Criar um IAM utilizador ou utilize um existente, no seu AWS conta. Certifique-se de que tem umaID chave de acesso e uma chave de acesso secreta associada a esse IAM utilizador. Para maisinformações, consulte Criar uma IAM Utilizador na sua AWS Conta.

Note

CodeCommitO requer o AWS Key Management Service. Se estiver a utilizar um IAMutilizador, certifique-se de que não existem políticas ligadas ao utilizador que recusemexpressamente o AWS KMS ações necessárias por CodeCommit. Para obter maisinformações, consulte AWS KMS e encriptação (p. 300).

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

4. No IAM consola, no painel de navegação, escolha Utilizadores, e depois escolha o IAM utilizador quepretende configurar para CodeCommit acesso.

5. No Permissões , escolha Adicionar permissões.6. Em Conceder permissões, escolha Anexe directamente as políticas existentes.7. Na lista de políticas, selecione AWSCodeCommitPowerUser ou outra política gerida para CodeCommit

acesso. Para obter mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317).

Depois de selecionar a política que pretende anexar, escolha Seguinte: Revisão para rever a lista depolíticas para anexar ao IAM utilizador. Se a lista estiver correta, escolha Adicionar permissões.

Para mais informações sobre CodeCommit políticas geridas e partilha de acesso a repositórios comoutros grupos e utilizadores, consulte Partilhar um repositório (p. 97) e Autenticação e controle deacesso para o AWS CodeCommit (p. 309).

Como instalar e configurar o AWS CLI

1. Na sua máquina local, baixe e instale o AWS CLI. Esse é um pré-requisito para interagir com oCodeCommit a partir da linha de comando. Para mais informações, consulte Configurar o AWSInterface da linha de comando.

Note

CodeCommitO AWS CLI trabalha somente com as versões da 1.7.38 e posterior. Comoprática recomendada, instale ou atualize a AWS CLI para a versão mais recente disponível.Para determinar qual a versão do AWS CLI instalou, execute o aws --version comando.Para atualizar uma versão mais antiga do AWS CLI para a versão mais recente, consulteInstalar o AWS Command Line Interface.

2. Execute este comando para verificar o CodeCommit comandos para o AWS CLI estão instalados:

aws codecommit help

Este comando deve devolver uma lista de CodeCommit comandos.3. Configurar o AWS CLI com um perfil utilizando o configure como se segue:

aws configure

Quando solicitado, especifique o AWS chave de acesso e AWS chave de acesso secreta do IAMutilizador para utilizar com CodeCommit. Além disso, certifique-se de que especifica a região AWSonde o repositório existe, como us-east-2. Quando solicitado para o formato de saída predefinido,especifique json. Por exemplo:

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press Enter

Versão da API 2015-04-1316

Page 26: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Instalar código de controlo remoto

AWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Para obter mais informações sobre como criar e configurar perfis para usar com a AWS CLI, consulteo seguinte:

• Perfis nomeados• Utilizar um IAM Função no AWS CLI• Comando set• A ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301)

Para se conectar a um repositório ou um recurso em outra região da AWS, é necessário reconfigurar aAWS CLI com o nome da região padrão. Os nomes de região padrão compatíveis com o CodeCommitincluem:

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1

Para obter mais informações sobre o CodeCommit e as regiões da AWS, consulte Parâmetros deligação de regiões e Git (p. 409). Para mais informações sobre IAM, teclas de acesso e teclassecretas, consulte Como obtenho credenciais? e Gerir chaves de acesso para IAM Utilizadores. Paramais informações sobre o AWS CLI e perfis, consulte Perfis nomeados.

Etapa 2. Instalar código de controlo remotoSiga estas etapas para instalar o git-remote-codecommit.Versão da API 2015-04-13

17

Page 27: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Ligar ao CodeCommit consola e clonar o repositório

Como instalar git-remote-codecommit

1. No terminal ou na linha de comando, execute o seguinte comando:

pip install git-remote-codecommit

Note

Dependendo do sistema operacional e da configuração, talvez seja necessário executar estecomando com permissões elevadas, como sudo:

sudo pip install git-remote-codecommit

2. Monitore o processo de instalação até que você veja uma mensagem de êxito semelhante à seguinte:

Successfully built git-remote-codecommit

Etapa 3 Ligar ao CodeCommit consola e clonar orepositórioSe um administrador já tiver enviado o URL do clone a utilizar com git-remote-codecommit para oCodeCommit repositório, pode ignorar a ligação à consola e clonar o repositório directamente.

Para ligar a um CodeCommit repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos de uma região da AWS. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. Escolha na lista o repositório ao qual deseja se conectar. Escolha Clone URL (Clonar URL) e escolhao protocolo que você deseja usar ao clonar ou se conectar ao repositório. Isso copia a URL do clone.

• Copie o URL HTTPS se você estiver usando credenciais do Git com seu usuário do IAM ou oauxiliar de credenciais incluído na AWS CLI.

• Copie o URL HTTPS (GRC) se estiver usando o comando git-remote-codecommit no computadorlocal.

• Copie o URL SSH se você estiver usando um par de chaves públicas e privadas SSH com seuusuário do IAM.

Note

Se você vir uma página Welcome (Bem-vindo), em vez de uma lista de repositórios, nãohaverá repositórios associados à sua conta da AWS na região da AWS onde você estáconectado. Para criar um repositório, consulte the section called “Criar um repositório do” (p. 91) ou siga as etapas no tutorial Como começar com Git e CodeCommit (p. 69).

4. No terminal ou prompt de comandos, clone o repositório com o git clone comando. Use o URL HTTPSgit-remote-codecommit copiado e o nome do perfil da AWS CLI, se você criou um perfil nomeado. Sevocê não especificar um perfil, o comando assumirá o perfil padrão. O repositório local é criado emum subdiretório do diretório onde o comando é executado. Por exemplo, para excluir um repositóriodenominado : MyDemoRepo para uma repo local nomeada my-demo-repo:

Versão da API 2015-04-1318

Page 28: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPróximas etapas

git clone codecommit://MyDemoRepo my-demo-repo

Para clonar o mesmo repositório utilizando um perfil designado CodeCommitProfile:

git clone codecommit://CodeCommitProfile@MyDemoRepo my-demo-repo

Para clonar um repositório numa região AWS diferente daquela configurada no seu perfil, inclua oAWS Nome da região. Por exemplo, .

git clone codecommit::ap-northeast-1://MyDemoRepo my-demo-repo

Próximas etapasVocê concluiu os pré-requisitos. Siga estas etapas em Conceitos básicos de CodeCommit (p. 56) paracomeçar a usar o CodeCommit.

Para aprender a criar e pressionar o seu primeiro compromisso, consulte Criar uma confirmação no AWSCodeCommit (p. 223). Se for novo na Git, pode também querer rever a informação em Onde posso sabermais sobre Git? (p. 6) e Como começar com Git e AWS CodeCommit (p. 69).

Configurar ligações de ferramentas dedesenvolvimento utilizando credenciais Git

Depois de configurar as credenciais Git para AWS CodeCommit no IAM consola, pode utilizar essascredenciais com qualquer ferramenta de desenvolvimento que suporte as credenciais de Git. Por exemplo,pode configurar o acesso ao seu CodeCommit repositório em AWS Cloud9, Visual Studio, Eclipse, Xcode,intellij ou qualquer ambiente de desenvolvimento integrado (IDE) que integre as credenciais Git. Depois deconfigurar o acesso, você poderá editar seu código, confirmar suas alterações e enviar diretamente do IDEou de outra ferramenta de desenvolvimento.

Note

Se você acessar repositórios do CodeCommit usando acesso federado, credenciais temporáriasou um provedor de identidade web, não será possível usar credenciais do Git. Recomendamosque configure o seu computador local utilizando o git-remote-codecommit comando. Noentanto, nem todas as exposições são totalmente compatíveis com auxiliares de Git remote, taiscomo git-remote-codecommit. Se encontrar problemas, consulte Solução de problemas do git-remote-codecommit e do AWS CodeCommit (p. 389).

Tópicos• Integrar o AWS Cloud9 ao AWS CodeCommit (p. 22)• Integrar o Visual Studio ao AWS CodeCommit (p. 25)• Integrar o Eclipse ao AWS CodeCommit (p. 29)

Quando solicitado pelo seu IDE ou ferramenta de desenvolvimento para o nome de utilizador e palavra-passe utilizados para ligar ao CodeCommit repositório, forneça as credenciais Git para Nome de utilizadore Palavra-passe criou em IAM. Por exemplo, se for solicitado que forneça um nome de usuário e umasenha no Eclipse, você deve fornecer suas credenciais do Git da seguinte forma:

Versão da API 2015-04-1319

Page 29: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPara ligações a partir de ferramentas de desenvolvimento

Para obter mais informações sobre regiões e endpoints da AWS para o CodeCommit, consulte Parâmetrosde ligação de regiões e Git (p. 409).

Você também pode ver um prompt do seu sistema operacional para armazenar seu nome de usuário esenha. Por exemplo, no Windows, você forneceria suas credenciais do Git da seguinte maneira:

Para obter informações sobre como configurar credenciais do Git para determinado programa de softwareou ferramenta de desenvolvimento, consulte a documentação do produto.

O seguinte não é uma lista abrangente de IDEs. Os links são fornecidos exclusivamente para ajudá-loa saber mais sobre essas ferramentas. A AWS não se responsabiliza pelo conteúdo de nenhum dessestópicos.

• AWS Cloud9 (p. 22)

Versão da API 2015-04-1320

Page 30: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPara ligações a partir de ferramentas de desenvolvimento

• Visual Studio

Como alternativa, instale o AWS Toolkit for Visual Studio. Para obter mais informações, consulte Integraro Visual Studio ao AWS CodeCommit (p. 25).

• EGit with Eclipse

Como alternativa, instale o AWS Toolkit for Eclipse. Para obter mais informações, consulte Integrar oEclipse ao AWS CodeCommit (p. 29).

Versão da API 2015-04-1321

Page 31: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o AWS Cloud9 ao AWS CodeCommit

• IntelliJ

• XCode

Integrar o AWS Cloud9 ao AWS CodeCommitPode usar AWS Cloud9 para fazer alterações de código num CodeCommit repositório. AWS Cloud9contém uma coleção de ferramentas que pode utilizar para escrever código e criar, executar, testar,depurar e libertar software. Você pode clonar repositórios existentes, criar repositórios, confirmar eenviar alterações de código por push para um repositório e muito mais, tudo isso no ambiente dedesenvolvimento do AWS Cloud9 EC2. O AWS Cloud9 O ambiente de desenvolvimento EC2 é geralmentepré-configurado com o AWS CLI, um Amazon EC2 e a Git, por isso, na maioria dos casos, pode executaralguns comandos simples e começar a interagir com o seu repositório.

Para utilizar AWS Cloud9 com CodeCommit, precisa do seguinte:

• Um ambiente de desenvolvimento AWS Cloud9 EC2 sendo executado no Amazon Linux.• O AWS Cloud9 aberto em um navegador da web.• Um IAM utilizador com um dos CodeCommit políticas geridas e um dos AWS Cloud9 políticas geridas

aplicadas ao mesmo.

Para mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317) e Compreender e obter as suas credenciais de segurança.

Versão da API 2015-04-1322

Page 32: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o AWS Cloud9 ao AWS CodeCommit

Tópicos• Etapa 1 Criar um AWS Cloud9 ambiente de desenvolvimento (p. 23)• Etapa 2. Configurar o AWS CLI assistente de credenciais no seu AWS Cloud9 Ambiente de

desenvolvimento EC2 (p. 24)• Etapa 3 Clonar a CodeCommit repositório no seu AWS Cloud9 Ambiente de desenvolvimento

EC2 (p. 25)• Próximas etapas (p. 25)

Etapa 1 Criar um AWS Cloud9 ambiente de desenvolvimentoAWS Cloud9O Amazon EC2 hospeda seu ambiente de desenvolvimento em uma instância do . Esta éa forma mais fácil de integrar, porque pode usar o AWS de credenciais temporárias para a instância deligação ao seu CodeCommit repositório. Se você deseja usar seu próprio servidor, consulte o Guia dousuário do AWS Cloud9.

Para criar um AWS Cloud9 ambiente

1. Iniciar sessão em AWS como o IAM o utilizador que configurou e abre o AWS Cloud9 consola.2. No AWS Cloud9 consola, escolher Criar ambiente.3. Em Passo 1: Ambiente do nome, introduza um nome e descrição opcional para o ambiente e, em

seguida, escolha Passo seguinte.4. Em Passo 2: Configurar definições, configure o seu ambiente como se segue:

• Em Tipo de ambiente, escolha Criar uma nova instância para ambiente (EC2).• Em Tipo de instância, escolha o tipo de instância apropriado para o seu ambiente de

desenvolvimento. Por exemplo, se você está apenas explorar o serviço, pode escolher o padrão det2.micro. Se você pretende usar este ambiente para trabalho de desenvolvimento, escolha um tipode instância maior.

• Aceite as outras predefinições a menos que tenha motivos para escolher de outra forma (porexemplo, a sua organização utiliza um VPC específico ou o seu AWS conta não tem nenhum vpcsconfigurado) e, em seguida, escolha Passo seguinte.

5. Em Passo 3: Revisão, reveja as suas definições. Escolher Passo anterior se pretender fazeralterações. Se não, escolha Criar ambiente.

A criação de um ambiente e a conexão a ele pela primeira vez leva vários minutos. Se parecerdemorar um pouco tempo, consulte Resolução de problemas no AWS Cloud9 Guia do utilizador.

6. Após a conexão com o ambiente, verifique se o Git já está instalado e se é uma versão compatível,executando o comando git --version na janela do terminal.

Versão da API 2015-04-1323

Page 33: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o AWS Cloud9 ao AWS CodeCommit

Se o Git não está instalado, ou se não é uma versão compatível, instale uma versão compatível.CodeCommit é compatível com o Git versões 1.7.9 ou posterior. Recomendamos o uso de uma versãorecente do Git. Para instalar Git, recomendamos websites como Downloads de Git.

Tip

Dependendo do sistema operativo do seu ambiente, poderá utilizar o yum com o sudopara instalar atualizações, incluindo Git. Por exemplo, uma sequência de comandosadministrativos poderá se parecer com os seguintes três comandos:

sudo yum -y updatesudo yum -y install gitgit --version

7. Configure um nome de utilizador e um e-mail a associar ao seu Git ao executar o configuração gitcomando. Por exemplo, .

git config --global user.name "Mary Major" git config --global user.email [email protected]

Etapa 2. Configurar o AWS CLI assistente de credenciais no seuAWS Cloud9 Ambiente de desenvolvimento EC2Depois de ter criado um AWS Cloud9 pode configurar o AWS CLI auxiliar de credenciais para gerir ascredenciais para ligações ao seu CodeCommit repositório. O AWS Cloud9 ambiente de desenvolvimentovem com AWS geridas de forma temporária associada ao seu IAM utilizador. Utiliza estas credenciais como AWS CLI assistente de credencial.

1. Abra a janela do terminal e execute o seguinte comando para verificar se a AWS CLI está instalada:

aws --version

Se for bem-sucedido, este comando retornará a versão da instalada no momento.AWS CLI. Paraatualizar uma versão mais antiga do AWS CLI para a versão mais recente, consulte Instalar o AWSCommand Line Interface.

2. No terminal, execute os seguintes comandos para configurar o auxiliar de credenciais da AWS CLIpara conexões HTTPS:

git config --global credential.helper '!aws codecommit credential-helper $@'git config --global credential.UseHttpPath true

Tip

O auxiliar de credenciais usa a função de instância padrão do Amazon EC2 para o ambientede desenvolvimento. Se pretender utilizar o ambiente de desenvolvimento para ligar osrepositórios que não estão alojados CodeCommit, configurando ligações SSH para essesrepositórios ou configurando um local .gitconfig ficheiro para utilizar um sistemade gestão de credenciais alternativo quando se liga a outros repositórios. Para maisinformações, consulte Ferramentas Git - Armazenamento de credenciais no website Git.

Versão da API 2015-04-1324

Page 34: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o Visual Studio ao AWS CodeCommit

Etapa 3 Clonar a CodeCommit repositório no seu AWS Cloud9Ambiente de desenvolvimento EC2Depois de ter configurado o AWS CLI assistente de credenciais, pode clonar o seu CodeCommitrepositório para o. Em seguida, pode começar a trabalhar com o código.

1. No terminal, execute o comando git clone especificando a URL do clone HTTPS do repositório quevocê deseja clonar. Por exemplo, se quiser clonar um repositório nomeado MyDemoRepo no Lestedos EUA (Ohio) Região, introduziria:

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Tip

Pode encontrar o URL do clone para o seu repositório no CodeCommit consola escolhendoURL do clone.

2. Quando a clonagem for concluída, na navegação lateral, expanda a pasta do seu repositório eselecione o arquivo que deseja abrir para edição. Em alternativa, escolha Ficheiro e depois escolhaNovo ficheiro para criar um ficheiro.

3. Quando você finalizar a edição ou a criação de arquivos, na janela do terminal, altere os diretóriospara o repositório clonado e, em seguida, confirme e faça push de suas alterações. Por exemplo, seadicionou um novo ficheiro com o nome MyFile.py:

cd MyDemoRepogit commit -a MyFile.pygit commit -m "Added a new file with some code improvements"git push

Próximas etapasPara mais informações, consulte o AWS Cloud9 Guia do utilizador. Para obter mais informações sobrecomo usar o Git com o CodeCommit, consulte Como começar com Git e AWS CodeCommit (p. 69).

Integrar o Visual Studio ao AWS CodeCommitPode usar Visual Studio para fazer alterações de código num CodeCommit repositório. O AWS Toolkitfor Visual Studio agora inclui funcionalidades que fazem com que o trabalho CodeCommit mais fácil emais conveniente ao trabalhar no Visual Studio Team Explorer. O Toolkit for Visual Studio a integraçãofoi concebida para trabalhar com credenciais Git e um IAM utilizador. Você pode clonar repositóriosexistentes, criar repositórios, confirmar e enviar alterações de código por push para um repositório e muitomais.

Important

O Toolkit for Visual Studio está disponível apenas para instalação em sistemas operacionaisWindows.

Se usou o Toolkit for Visual Studio antes, já está familiarizado com a configuração AWS perfis decredencial que contêm uma chave de acesso e chave secreta. Os perfis da credencial são utilizadosno Toolkit for Visual Studio para ativar chamadas para AWS de marketing (por exemplo, para AmazonS3 para listar baldes ou para CodeCommit para listar repositórios). Para extrair e enviar o código a umrepositório do CodeCommit, você também precisa de credenciais do Git. Se você não tiver credenciais doGit, o Toolkit for Visual Studio poderá gerar e aplicar essas credenciais para você. Isso pode poupar muitotempo.

Versão da API 2015-04-1325

Page 35: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o Visual Studio ao AWS CodeCommit

Para utilizar Visual Studio com CodeCommit, precisa do seguinte:

• Um usuário do IAM com um conjunto válido de credenciais (uma chave de acesso e uma chave secreta)configuradas para isso. Esse usuário do IAM também deve ter:

Um dos CodeCommit políticas geridas e o IAMSelfManageServiceSpecificCredentials política geridaaplicada ao mesmo.

-OU-

Se o IAM o utilizador já tem credenciais Git configuradas, uma das CodeCommit políticas geridas oupermissões equivalentes.

Para mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317) e Compreender e obter as suas credenciais de segurança.

• O AWS Toolkit for Visual Studio instalado no computador em que você instalou o Visual Studio. Paramais informações, consulte Configurar o AWS Toolkit for Visual Studio.

Tópicos• Etapa 1 Obtenha um acseg ke secret kpara ynosso IAM user (p. 26)• Etapa 2. Instalar AWS Toolkit for Visual Studio e connect para CodeCommit (p. 27)• Clonar a CodeCommit repositório de Visual Studio (p. 28)• Criar uma CodeCommit repositório de Visual Studio (p. 28)• Trabalhar com CodeCommit repositories (p. 29)

Etapa 1 Obtenha um acseg ke secret kpara ynosso IAM userSe ainda não tiver um perfil de credencial configurado no computador onde Visual Studio é instalado,pode configurar uma com o AWS CLI e o comando de configuração dos aws. Como alternativa, você podeseguir as etapas deste procedimento para criar e fazer download das suas credenciais. Forneça-as aoToolkit for Visual Studio quando solicitado.

As chaves de acesso consistem em um ID de chave de acesso e uma chave de acesso secreta, quesão usados para assinar as solicitações programáticas que você faz à AWS. Se você não tiver chavesde acesso, poderá criá-las no Console de gerenciamento da AWS. Como melhores práticas, não utilizechaves de acesso Usuário raiz da conta da AWS para nenhuma tarefa para a qual não seja necessário.Em vez disso, crie um novo usuário do IAM com chaves de acesso para você mesmo.

A única ocasião em que você poderá visualizar ou fazer download da chave de acesso secreta é quandovocê criar as chaves. Não será possível recuperá-las posteriormente. No entanto, você pode criar novaschaves de acesso a qualquer momento. Você também deve ter permissões para realizar as ações do IAMnecessárias. Para obter mais informações, consulte Permissões necessárias para acessar os recursos doIAM no Guia do usuário do IAM.

Para criar chaves de acesso para um usuário do IAM

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No painel de navegação, escolha Users (Usuários).3. Escolha o nome do usuário cujas chaves de acesso você deseja criar e a guia Security credentials

(Credenciais de segurança).4. Na seção Access keys (Chaves de acesso), escolha Create access key (Criar chave de acesso).5. Para visualizar a nova chave de acesso, escolha Show (Mostrar). Você não terá mais acesso à chave

de acesso secreta depois que essa caixa de diálogo for fechada. Suas credenciais terão a seguinteaparência:

Versão da API 2015-04-1326

Page 36: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o Visual Studio ao AWS CodeCommit

• ID de chave de acesso: AKIAIOSFODNN7EXAMPLE• Chave de acesso secreta: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

6. Para baixar o par de chaves, escolha Baixar arquivo .csv. Armazene as chaves em um lugar seguro.Você não terá mais acesso à chave de acesso secreta depois que essa caixa de diálogo for fechada.

Mantenha a confidencialidade das chaves para proteger sua conta da AWS e nunca envie-as por e-mail. Não compartilhe as chaves fora da sua organização, mesmo se uma pesquisa parecer vir daAWS ou da Amazon.com. Alguém que legitimamente represente a Amazon jamais pedirá a você suachave secreta.

7. Depois de baixar do arquivo .csv, selecione Close (Fechar). Quando você cria uma chave de acesso,o par de chaves é ativo por padrão, e você pode usar o par imediatamente.

Tópicos relacionados

• O que é o IAM? no Guia do usuário do IAM• Credenciais de segurança da AWS no AWS General Reference

Etapa 2. Instalar AWS Toolkit for Visual Studio e connect paraCodeCommitO Toolkit for Visual Studio é um pacote de software que você pode adicionar ao Visual Studio. Depois deinstalá-lo, você pode se conectar ao CodeCommit a partir do Team Explorer no Visual Studio.

Para instalar o Toolkit for Visual Studio com o AWS CodeCommit módulo e configurar o acesso aoseu repositório de projetos

1. Instale o Visual Studio no computador local se você ainda não tiver uma versão compatível instalada.2. Transfira e instale o Toolkit for Visual Studio e guarde o ficheiro numa pasta ou directório local. Inicie o

assistente de instalação, abrindo o arquivo. Quando solicitado no Como começar com o AWS Toolkitfor Visual Studio , introduza ou importe o seu AWS credenciais (a sua chave de acesso e chavesecreta) e, em seguida, escolha Guardar e fechar.

3. Em Visual Studio, abrir Explorador de equipas. Em Prestadores de Serviços Alojados, encontrar AWSCodeCommit, e depois escolha Ligar.

4. Execute um destes procedimentos:

• Se você tiver um perfil de credencial único já configurado no seu computador, o Toolkit for VisualStudio o aplicará automaticamente. Nenhuma ação é necessária. O painel de conexão do AWSCodeCommit aparece no Team Explorer.

• Se você tiver mais de um perfil de credencial configurado no seu computador, será solicitado aescolher aquele que deseja usar. Escolha o perfil associado ao IAM utilizador que usará para ligar aCodeCommit repositórios e, em seguida, escolha OK.

• Se você não tiver um perfil configurado, uma caixa de diálogo será exibida e solicitará suascredenciais de segurança da AWS (sua chave de acesso e chave secreta). Introduza ou importe-ose escolha OK.

Versão da API 2015-04-1327

Page 37: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o Visual Studio ao AWS CodeCommit

Depois de se conectar com um perfil, o painel de conexão do AWS CodeCommit aparecerá no TeamExplorer com opções para clonar, criar ou sair. Escolher Clonar clones já existentes CodeCommit no seucomputador local, para que possa começar a trabalhar no código. Essa é a opção mais utilizada.

Se não tiver repositórios ou quiser criar um repositório, escolha Criar. Para obter mais informações,consulte Criar uma CodeCommit repositório de Visual Studio (p. 28).

Clonar a CodeCommit repositório de Visual StudioDepois de se conectar ao CodeCommit, você pode clonar um repositório para um repositório local no seucomputador. Em seguida, pode começar a trabalhar com o código.

1. Em Gerir ligações, escolha Clonar. Em Região, escolha o AWS Região onde o repositório foi criadoem CodeCommit. Escolha o repositório do seu projecto e a pasta no seu computador local ondepretende clonar o repositório e, em seguida, escolha OK.

2. Se lhe for pedido para criar credenciais de Git, escolha Sim. O toolkit tenta criar credenciais em seunome. Tem de ter o IAMSelfManageServiceSpecificCredentials aplicado ao seu IAM utilizador ou aspermissões equivalentes. Quando solicitado, salve o arquivo de credenciais em um local seguro. Essaé a única oportunidade que você terá de salvar essas credenciais do Git.

Se o conjunto de ferramentas não puder criar credenciais de Git em seu nome ou se escolher Não,tem de criar e fornecer as suas próprias credenciais de Git. Para obter mais informações, consultePara utilizadores HTTPS utilizando credenciais Git (p. 10) ou siga as instruções online.

3. Quando tiver concluído a clonagem do projeto, você estará pronto para começar a editar o código noVisual Studio e confirmar e enviar suas alterações por push ao repositório do projeto no CodeCommit.

Criar uma CodeCommit repositório de Visual StudioPode criar CodeCommit repositórios de Visual Studio com o Toolkit for Visual Studio. Como parte dacriação do repositório, você também o clona em um repositório local no seu computador, para podercomeçar a trabalhar com ele imediatamente.

1. Em Gerir ligações, escolha Criar.2. Em Região, escolha o AWS Região onde pretende criar o repositório. CodeCommit os repositórios são

organizados pela região AWS.3. Em Nome, introduza um nome para este repositório. Os nomes do repositório devem ser únicos dentro

de um AWS conta. Existem limites de caractere e comprimento. Para obter mais informações, consulteCotas (p. 418). Em Descrição, introduza uma descrição opcional para este repositório. Isso ajuda osoutros a entender a função do repositório e ajuda a diferenciá-lo de outros repositórios na região.

4. Em Clonar em, introduza ou procure a pasta ou diretório onde pretende clonar este repositório no seucomputador local. Visual Studio clones automaticamente o repositório depois de criado e cria o repolocal na localização escolhida.

5. Quando estiver satisfeito com as suas escolhas, escolha OK.6. Se lhe for pedido para criar credenciais de Git, escolha Sim. O toolkit tenta criar credenciais em seu

nome. Tem de ter o IAMSelfManageServiceSpecificCredentials aplicado ao seu IAM utilizador ou aspermissões equivalentes. Quando solicitado, salve o arquivo de credenciais em um local seguro. Essaé a única oportunidade que você terá de salvar essas credenciais do Git.

Se o conjunto de ferramentas não puder criar credenciais de Git em seu nome ou se escolher Não,tem de criar e fornecer as suas próprias credenciais de Git. Para obter mais informações, consultePara utilizadores HTTPS utilizando credenciais Git (p. 10) ou siga as instruções online.

Versão da API 2015-04-1328

Page 38: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o Eclipse ao AWS CodeCommit

Trabalhar com CodeCommit repositoriesDepois de ter ligado a CodeCommit, pode ver uma lista de repositórios associados ao seu AWS conta.É possível navegar pelo conteúdo desses repositórios no Visual Studio. Abra o menu de contexto dorepositório em que está interessado e escolha Procurar na Consola.

Operações de Git em Visual Studio para CodeCommit os repositórios funcionam exactamente como fazempor qualquer outro repositório baseado em Git. Você pode fazer alterações no código, adicionar arquivos ecriar confirmações locais. Quando estiver pronto para partilhar, utilize o Sincronizar no Team Explorer paradar asas ao seu compromisso CodeCommit repositório. Porque as suas credenciais Git para o seu IAM outilizador já está armazenado localmente e associado à sua ligação AWS perfil de credencial, não lhe serápedido que os forneça novamente quando premir CodeCommit.

Para obter mais informações sobre como trabalhar com o Toolkit for Visual Studio, consulte o Guia dousuário do AWS Toolkit for Visual Studio.

Integrar o Eclipse ao AWS CodeCommitPode utilizar Eclipse para efectuar alterações de código num CodeCommit repositório. O Toolkit forEclipse a integração foi concebida para trabalhar com credenciais Git e um IAM utilizador. Você podeclonar repositórios existentes, criar repositórios, confirmar e enviar alterações de código por push para umrepositório e muito mais.

Para utilizar Toolkit for Eclipse com CodeCommit, precisa do seguinte:

• Eclipse instalado no seu computador local.• Um usuário do IAM com um conjunto válido de credenciais (uma chave de acesso e uma chave secreta)

configuradas para isso. Esse usuário do IAM também deve ter:

Um dos CodeCommit políticas geridas e o IAMSelfManageServiceSpecificCredentials política geridaaplicada ao mesmo.

-OU-

Se o IAM o utilizador já tem credenciais Git configuradas, uma das CodeCommit políticas geridas oupermissões equivalentes.

Para mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317) e Compreender e obter as suas credenciais de segurança.

• Um conjunto ativo de credenciais do Git configurado para o usuário no IAM. Para obtermais informações, consulte Etapa 3 Criar credenciais de Git para ligações HTTPS paraCodeCommit (p. 11).

Tópicos• Etapa 1 Obtenha um acseg ke secret kpara ynosso IAM user (p. 29)• Etapa 2. Instalar AWS Toolkit for Eclipse e connect para CodeCommit (p. 30)• Clonar a CodeCommit repositório do Eclipse (p. 31)• Criar uma CodeCommit repositório do Eclipse (p. 32)• Trabalhar com CodeCommit repositories (p. 33)

Etapa 1 Obtenha um acseg ke secret kpara ynosso IAM userSe ainda não tiver um perfil de credencial configurado no computador onde o Eclipse está instalado, podeconfigurar uma com o AWS CLI e o comando de configuração dos aws. Como alternativa, você pode

Versão da API 2015-04-1329

Page 39: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o Eclipse ao AWS CodeCommit

seguir as etapas deste procedimento para criar e fazer download das suas credenciais. Forneça-as aoToolkit for Eclipse quando solicitado.

As chaves de acesso consistem em um ID de chave de acesso e uma chave de acesso secreta, quesão usados para assinar as solicitações programáticas que você faz à AWS. Se você não tiver chavesde acesso, poderá criá-las no Console de gerenciamento da AWS. Como melhores práticas, não utilizechaves de acesso Usuário raiz da conta da AWS para nenhuma tarefa para a qual não seja necessário.Em vez disso, crie um novo usuário do IAM com chaves de acesso para você mesmo.

A única ocasião em que você poderá visualizar ou fazer download da chave de acesso secreta é quandovocê criar as chaves. Não será possível recuperá-las posteriormente. No entanto, você pode criar novaschaves de acesso a qualquer momento. Você também deve ter permissões para realizar as ações do IAMnecessárias. Para obter mais informações, consulte Permissões necessárias para acessar os recursos doIAM no Guia do usuário do IAM.

Para criar chaves de acesso para um usuário do IAM

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No painel de navegação, escolha Users (Usuários).3. Escolha o nome do usuário cujas chaves de acesso você deseja criar e a guia Security credentials

(Credenciais de segurança).4. Na seção Access keys (Chaves de acesso), escolha Create access key (Criar chave de acesso).5. Para visualizar a nova chave de acesso, escolha Show (Mostrar). Você não terá mais acesso à chave

de acesso secreta depois que essa caixa de diálogo for fechada. Suas credenciais terão a seguinteaparência:

• ID de chave de acesso: AKIAIOSFODNN7EXAMPLE• Chave de acesso secreta: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

6. Para baixar o par de chaves, escolha Baixar arquivo .csv. Armazene as chaves em um lugar seguro.Você não terá mais acesso à chave de acesso secreta depois que essa caixa de diálogo for fechada.

Mantenha a confidencialidade das chaves para proteger sua conta da AWS e nunca envie-as por e-mail. Não compartilhe as chaves fora da sua organização, mesmo se uma pesquisa parecer vir daAWS ou da Amazon.com. Alguém que legitimamente represente a Amazon jamais pedirá a você suachave secreta.

7. Depois de baixar do arquivo .csv, selecione Close (Fechar). Quando você cria uma chave de acesso,o par de chaves é ativo por padrão, e você pode usar o par imediatamente.

Tópicos relacionados

• O que é o IAM? no Guia do usuário do IAM• Credenciais de segurança da AWS no AWS General Reference

Etapa 2. Instalar AWS Toolkit for Eclipse e connect paraCodeCommitO Toolkit for Eclipse é um pacote de software que você pode adicionar ao Eclipse. Depois de o terinstalado e configurado com o seu AWS perfil de credencial, pode ligar-se a CodeCommit do AWSExplorer em Eclipse.

Versão da API 2015-04-1330

Page 40: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o Eclipse ao AWS CodeCommit

Para instalar o Toolkit for Eclipse com o AWS CodeCommit módulo e configurar o acesso ao seurepositório de projetos

1. Instale o Toolkit for Eclipse no computador local se você ainda não tiver uma versão compatívelinstalada. Se precisar de atualizar a sua versão de Toolkit for Eclipse, siga as instruções emConfigurar o kit de ferramentas.

2. No Eclipse, siga a experiência mais firme ou abra Preferências no sistema de menu Eclipse (o localvaria consoante a sua versão e sistema operativo) e escolha AWS Kit de ferramentas.

3. Execute um destes procedimentos:

• Se você estiver seguindo a experiência de primeira execução, forneça suas credenciais desegurança da AWS quando solicitado a configurar seu perfil de credencial.

• Se estiver a configurar em Preferências e tenha um perfil de credencial já configurado nocomputador, escolha-o de Perfil predefinido.

• Se estiver a configurar em Preferências e não vê o perfil que pretende utilizar ou se a lista estivervazia, escolha Adicionar perfil. Em Detalhes do perfil, introduza um nome para o perfil e ascredenciais para o IAM utilizador (chave de acesso e chave secreta) ou, em alternativa, introduza alocalização do ficheiro de credenciais.

• Se estiver a configurar em Preferências e não tem um perfil configurado, utilize as ligações pararegistar uma conta ou gerir os seus AWS credenciais de segurança.

4. Em Eclipse, expanda o Kit de ferramentas AWS e escolha Código de codificação AWS. Escolha seuperfil de credencial e insira o nome do usuário e a senha para as suas credenciais do Git ou importe-os do arquivo .csv. Escolher Aplicar, e depois escolha OK.

Depois de se conectar com um perfil, o painel de conexão do AWS CodeCommit aparecerá no TeamExplorer com opções para clonar, criar ou sair. Escolher Clonar clones já existentes CodeCommit no seucomputador local, para que possa começar a trabalhar no código. Essa é a opção mais utilizada.

Se não tiver repositórios ou quiser criar um repositório, escolha Criar.

Clonar a CodeCommit repositório do EclipseDepois de configurar suas credenciais, você poderá clonar um repositório em um repositório local em seucomputador, fazendo seu check-out no Eclipse. Em seguida, pode começar a trabalhar com o código.

Versão da API 2015-04-1331

Page 41: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegrar o Eclipse ao AWS CodeCommit

1. Em Eclipse, aberto Explorador AWS. Para obter informações sobre onde encontrá-lo, consulte Comoaceder AWS Explorador. Expandir AWS CodeCommit, e escolha o CodeCommit repositório ondepretende trabalhar em. Você pode ver o histórico de confirmações e outros detalhes do repositório, oque pode ajudá-lo a determinar se este é o repositório e a ramificação que deseja clonar.

Note

Se você não visualizar seu repositório, escolha o ícone de sinalizador para abrir o menu deregiões da AWS e escolha a região da AWS na qual o repositório foi criado.

2. Escolher Check-out, e siga as instruções para clonar o repositório no computador local.3. Quando tiver concluído a clonagem do projeto, você estará pronto para começar a editar o código

no Eclipse e a preparar, confirmar e enviar suas alterações por push ao repositório do projeto noCodeCommit.

Criar uma CodeCommit repositório do EclipseVocê pode criar repositórios do CodeCommit a partir do Eclipse com o Toolkit for Eclipse. Como parteda criação do repositório, você também o clona em um repositório local no seu computador, para podercomeçar a trabalhar com ele imediatamente.

1. No Explorador do AWS, clique com o botão direito do rato Código de codificação AWS, e depoisescolha Criar repositório.

Note

Os repositórios são específicos para a região. Antes de criar o repositório, certifique-se de terselecionado a região da AWS correta. Não é possível escolher a região da AWS depois deiniciar o processo de criação do repositório.

Versão da API 2015-04-1332

Page 42: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPara utilizadores SSH que não utilizam o AWS CLI

2. Em Nome do repositório, introduza um nome para este repositório. Os nomes do repositório devemser únicos dentro de um AWS conta. Existem limites de caractere e comprimento. Para obter maisinformações, consulte Cotas (p. 418). Em Descrição do repositório, introduza uma descriçãoopcional para este repositório. Isso ajuda os outros a entender a função desse repositório e ajuda adiferenciá-lo de outros repositórios na região. Escolher OK.

3. No Explorador do AWS, expandir AWS CodeCommit, e depois escolha o CodeCommit repositórioque acabou de criar. Você verá que esse repositório não tem um histórico de confirmação. EscolherCheck-out, e siga as instruções para clonar o repositório no computador local.

Trabalhar com CodeCommit repositoriesDepois de ter ligado a CodeCommit, pode ver uma lista de repositórios associados à sua conta, por AWSRegião, no AWS Explorer. Escolha o menu de sinalizador para alterar a região.

Note

CodeCommitÉ possível que o não esteja disponível em todas as regiões da AWS compatíveiscom o Toolkit for Eclipse.

Em Toolkit for Eclipse, pode navegar no conteúdo destes repositórios do Navegação e Explorador depacotes vistas. Para abrir um arquivo, escolha-o na lista.

Operações de Git em Toolkit for Eclipse para CodeCommit os repositórios funcionam exactamente comofazem por qualquer outro repositório baseado em Git. Você pode fazer alterações no código, adicionararquivos e criar confirmações locais. Quando estiver pronto para partilhar, utilize o Estadiamento deGit para pressionar o seu compromisso CodeCommit repositório. Se você não tiver configurado suasinformações de autor e responsável pela confirmação em um perfil do Git, poderá fazer isso antes deconfirmar e enviar. Porque as suas credenciais Git para o seu IAM o utilizador já está armazenadolocalmente e associado à sua ligação AWS perfil de credencial, não lhe será pedido que os forneçanovamente quando premir CodeCommit.

Para obter mais informações sobre como trabalhar com o Toolkit for Eclipse, consulte o Guia de conceitosbásicos do AWS Toolkit for Eclipse.

Configuração para utilizadores SSH que nãoutilizam o AWS CLI

Se quiser usar conexões SSH para seu repositório, você poderá conectar-se ao AWS CodeCommitsem instalar a AWS CLI. O AWS CLI inclui comandos que são úteis quando utiliza e gere CodeCommitrepositórios, mas não é necessário para a configuração inicial.

Este tópico supõe que:

• Configurou um IAM utilizador com as políticas ou permissões necessárias para CodeCommit e o teclasde entretenimento política gerida ou permissões equivalentes necessárias para carregar as teclas.Para obter mais informações, consulte Utilizar políticas baseadas em identidade (IAM Políticas) paraCodeCommit (p. 315).

• Você já possui ou sabe criar um par de chaves públicas/privadas. É altamente recomendável que vocêuse uma senha confiável para a sua chave SSH.

• Você está familiarizado com SSH, o cliente do Git e seus arquivos de configuração.• Se estiver usando o Windows, você tem um utilitário de linha de comando instalado, como o Git Bash,

que emula o shell bash.

Versão da API 2015-04-1333

Page 43: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Associe a sua chave pública ao seu IAM utilizador

Se precisar de mais orientações, siga as instruções em Para ligações SSH em Linux, macOS, orUnix (p. 35) ou Para ligações SSH no Windows (p. 40).

Tópicos• Etapa 1 Associe a sua chave pública ao seu IAM utilizador (p. 34)• Etapa 2. Adicionar CodeCommit à configuração SSH (p. 34)• Próximas etapas (p. 35)

Etapa 1 Associe a sua chave pública ao seu IAMutilizador1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://

console.aws.amazon.com/iam/.2. No IAM consola, no painel de navegação, escolha Utilizadores, e a partir da lista de utilizadores,

escolha o seu IAM utilizador.3. No Credenciais de segurança , escolha Carregar chave pública SSH.4. Cole o conteúdo da sua chave pública SSH no campo e escolha Carregar chave SSH.

Tip

Os par de chaves públicas/privadas deve ser SSH-2 RSA, em formato OpenSSH, e conter2.048 bits. A chave é semelhante a esta:

ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@ip-192-0-2-137

IAMO só aceita chaves públicas em formato OpenSSH. Se você fornecer a chave pública emoutro formato, verá uma mensagem de erro informando que o formato da chave é inválido.

5. Copie a ID chave SSH (por exemplo, APKAEIBAERJR2EXAMPLE) e feche a consola.

Etapa 2. Adicionar CodeCommit à configuração SSH1. No terminal (Linux, macOS, or Unix) ou no emulador de bash (Windows), edite o arquivo de

configuração de SSH digitando cat>> ~/.ssh/config:

Host git-codecommit.*.amazonaws.comUser Your-SSH-Key-ID, such as APKAEIBAERJR2EXAMPLEIdentityFile Your-Private-Key-File, such as ~/.ssh/codecommit_rsa or ~/.ssh/id_rsa

Versão da API 2015-04-1334

Page 44: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPróximas etapas

Tip

Se houver mais de uma configuração de SSH, não se esqueça de incluir as linhas em brancoantes e depois do conteúdo. Guarde o ficheiro premindo Ctrl e d em simultâneo.

2. Execute o seguinte comando para testar a sua configuração de SSH:

ssh git-codecommit.us-east-2.amazonaws.com

Insira a senha do arquivo da chave SSH quando solicitado. Se tudo for configurado corretamente,você verá a seguinte mensagem de êxito:

You have successfully authenticated over SSH. You can use Git to interact with CodeCommit. Interactive shells are not supported. Connection to git-codecommit.us-east-2.amazonaws.com closed by remote host.

Próximas etapasVocê concluiu os pré-requisitos. Siga estas etapas em Conceitos básicos de CodeCommit (p. 56) paracomeçar a usar o CodeCommit.

Para se conectar a um repositório, siga as etapas em Conexão a um repositório (p. 94). Para criar umrepositório, siga as etapas em Criar um repositório do (p. 91).

Passos de configuração para ligações SSH paraAWS CodeCommit repositórios em Linux, macOS,or Unix

Antes de poder ligar a CodeCommit pela primeira vez, tem de completar alguns passos de configuraçãoinicial. Depois de configurar o seu computador e o seu perfil AWS, pode estabelecer uma ligação aCodeCommit repositório e clonar esse repositório no computador (também conhecido como criação deuma repo local). Se não estiver familiarizado com o Git, revise as informações em Onde posso saber maissobre Git? (p. 6).

Tópicos• Etapa 1 Configuração inicial para CodeCommit (p. 35)• Etapa 2. Instale o Git. (p. 36)• Step3: Configurar credenciais em Linux, macOS, or Unix (p. 37)• Etapa 4. Ligar ao CodeCommit consola e clonar o repositório (p. 39)• Próximas etapas (p. 40)

Etapa 1 Configuração inicial para CodeCommitSiga estes passos para configurar um AWS conta, criar IAM utilizador e configurar o acesso aCodeCommit.

Versão da API 2015-04-1335

Page 45: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Instale o Git.

Como criar e configurar um usuário do IAM para acessar o CodeCommit

1. Criar um AWS conta indo http://aws.amazon.com e escolher Registo.2. Criar um IAM utilizador ou utilize um existente, no seu AWS conta. Certifique-se de que tem uma

ID chave de acesso e uma chave de acesso secreta associada a esse IAM utilizador. Para maisinformações, consulte Criar uma IAM Utilizador na sua AWS Conta.

Note

CodeCommitO requer o AWS Key Management Service. Se estiver a utilizar um IAMutilizador, certifique-se de que não existem políticas ligadas ao utilizador que recusemexpressamente o AWS KMS ações necessárias por CodeCommit. Para obter maisinformações, consulte AWS KMS e encriptação (p. 300).

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

4. No IAM consola, no painel de navegação, escolha Utilizadores, e depois escolha o IAM utilizador quepretende configurar para CodeCommit acesso.

5. No Permissões , escolha Adicionar permissões.6. Em Conceder permissões, escolha Anexe directamente as políticas existentes.7. Na lista de políticas, selecione AWSCodeCommitPowerUser ou outra política gerida para CodeCommit

acesso. Para obter mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317).

Depois de selecionar a política que pretende anexar, escolha Seguinte: Revisão para rever a lista depolíticas para anexar ao IAM utilizador. Se a lista estiver correta, escolha Adicionar permissões.

Para mais informações sobre CodeCommit políticas geridas e partilha de acesso a repositórios comoutros grupos e utilizadores, consulte Partilhar um repositório (p. 97) e Autenticação e controle deacesso para o AWS CodeCommit (p. 309).

Note

Se quiser utilizar AWS CLI comandos com CodeCommit, instale o AWS CLI. Para obter maisinformações, consulte Referência da linha de comando (p. 422).

Etapa 2. Instale o Git.Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git Downloads.

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recurso podeafetar o modo como ele funciona com o CodeCommit. Se você tiver problemas com uma versãoespecífica do Git e do CodeCommit, reveja as informações em Solução de problemas (p. 388).

Versão da API 2015-04-1336

Page 46: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioStep3: Configurar credenciais em Linux, macOS, or Unix

Step3: Configurar credenciais em Linux, macOS, orUnixSSH e Linux, macOS, or Unix: Configure as chaves públicas eprivadas para Git e CodeCommitPara configurar as chaves públicas e privadas para Git e CodeCommit

1. No terminal da sua máquina local, execute o comando ssh-keygen e siga as orientações para salvar oarquivo no diretório .ssh do seu perfil.

Note

Verifique com o administrador do sistema onde os arquivos de chave devem serarmazenados e qual padrão de nomeação de arquivos deve ser usado.

Por exemplo, .

$ ssh-keygen

Generating public/private rsa key pair.Enter file in which to save the key (/home/user-name/.ssh/id_rsa): Type /home/your-user-name/.ssh/ and a file name here, for example /home/your-user-name/.ssh/codecommit_rsa

Enter passphrase (empty for no passphrase): <Type a passphrase, and then press Enter>Enter same passphrase again: <Type the passphrase again, and then press Enter>

Your identification has been saved in /home/user-name/.ssh/codecommit_rsa.Your public key has been saved in /home/user-name/.ssh/codecommit_rsa.pub.The key fingerprint is:45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14 user-name@client-nameThe key's randomart image is:+--[ RSA 2048]----+| E.+.o*.++|| .o .=.=o.|| . .. *. +|| ..o . +..|| So . . . || . || || || |+-----------------+

Isso gera .

• A . codecommit_rsa ficheiro, que é o ficheiro de chave privada.• A . codecommit_rsa.arquivo, que é o ficheiro de chave pública.

2. Execute o seguinte comando para apresentar o valor do ficheiro de chave pública(codecommit_rsa.pub

cat ~/.ssh/codecommit_rsa.pub

Copie o valor. Ele é similar ao seguinte:

ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB

Versão da API 2015-04-1337

Page 47: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioStep3: Configurar credenciais em Linux, macOS, or Unix

gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@ip-192-0-2-137

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

Note

Pode ver e gerir directamente o seu CodeCommit credenciais em As minhas credenciais desegurança. Para obter mais informações, consulte Ver e gerir as suas credenciais (p. 7).

4. No IAM consola, no painel de navegação, escolha Utilizadores, e a partir da lista de utilizadores,escolha o seu IAM utilizador.

5. Na página de detalhes do utilizador, escolha o Credenciais de segurança e, em seguida, escolhaCarregar chave pública SSH.

6. Cole o conteúdo da sua chave pública SSH no campo e escolha Carregar chave pública SSH.7. Copiar ou guardar as informações em ID chave SSH (por exemplo, APKAEIBAERJR2EXAMPLE).

Note

Se você tiver feito upload de mais de um ID de chave SSH, as chaves serão listadas emordem alfabética por ID da chave, não por data de upload. Verifique se você copiou o ID dachave que está associado à data de upload correta.

8. Na sua máquina local, utilize um editor de texto para criar um ficheiro de configuração no directório~/.ssh e, em seguida, adicione as seguintes linhas ao ficheiro, onde o valor para User é a ID de chaveSSH que copiou anteriormente:

Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa

Note

Se deu ao seu ficheiro de chave privada um nome diferente de codecommit_rsa, certifique-se de que o utiliza aqui.Pode configurar o acesso SSH a repositórios em vários AWS contas. Para mais informações,consulte Resolução de problemas de ligações SSH para AWS CodeCommit (p. 391).

Salve e nomeie o arquivo como config.9. No terminal, execute o seguinte comando para alterar as permissões do arquivo de configuração:

chmod 600 config

10. Execute o seguinte comando para testar a sua configuração de SSH:

ssh git-codecommit.us-east-2.amazonaws.com

Você será solicitado a confirmar a conexão, pois git-codecommit.us-east-2.amazonaws.com ainda não está incluído no seu arquivo de hosts conhecido.Versão da API 2015-04-13

38

Page 48: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Ligar ao CodeCommitconsola e clonar o repositório

A impressão digital do servidor do CodeCommit é exibida como parte da verificação(a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e para MD5 ou 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ para SHA256).

Note

As impressões digitais do servidor do CodeCommit são exclusivas para cada região daAWS. Para visualizar as impressões digitais do servidor de uma região da AWS, consulteImpressões digitais do servidor para CodeCommit (p. 413).

Após confirmar a conexão, aparecerão a confirmação de que você adicionou o servidor ao seuarquivo hosts conhecido e uma mensagem de conexão bem-sucedida. Se não vir uma mensagem desucesso, verifique se guardou o config no directório ~/.ssh do IAM utilizador que configurou paraaceder a CodeCommit, e que especificou o ficheiro de chave privada correcto.

Para obter informações para o ajudar a resolver problemas, execute o ssh com o -v parâmetro:

ssh -v git-codecommit.us-east-2.amazonaws.com

Para obter informações para ajudar a solucionar problemas de conexão, consulte Resolução deproblemas de ligações SSH para AWS CodeCommit (p. 391).

Etapa 4. Ligar ao CodeCommit consola e clonar orepositórioSe um administrador já lhe tiver enviado o nome e os detalhes de ligação para o CodeCommit repositório,pode ignorar este passo e clonar o repositóriodiretamente.

Para ligar a um CodeCommit repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos de uma região da AWS. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. Escolha na lista o repositório ao qual deseja se conectar. Escolha Clone URL (Clonar URL) e escolhao protocolo que você deseja usar ao clonar ou se conectar ao repositório. Isso copia a URL do clone.

• Copie o URL HTTPS se você estiver usando credenciais do Git com seu usuário do IAM ou oauxiliar de credenciais incluído na AWS CLI.

• Copie o URL HTTPS (GRC) se estiver usando o comando git-remote-codecommit no computadorlocal.

• Copie o URL SSH se você estiver usando um par de chaves públicas e privadas SSH com seuusuário do IAM.

Note

Se você vir uma página Welcome (Bem-vindo), em vez de uma lista de repositórios, nãohaverá repositórios associados à sua conta da AWS na região da AWS onde você estáconectado. Para criar um repositório, consulte the section called “Criar um repositório do” (p. 91) ou siga as etapas no tutorial Como começar com Git e CodeCommit (p. 69).

4. Abra um terminal. No diretório /tmp, execute o comando git clone com o URL SSH que você copioupara clonar o repositório. Por exemplo, para excluir um repositório denominado : MyDemoRepo parauma repo local nomeada my-demo-repo no Leste dos EUA (Ohio) Região:Versão da API 2015-04-13

39

Page 49: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPróximas etapas

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Note

Se você testou a sua conexão com êxito, mas o comando do clone falhar, talvez você nãotenha o acesso necessário ao arquivo de configuração ou talvez outra configuração estejaem conflito com ele. Tente se conectar novamente e inclua o ID da chave SSH no comandodessa vez. Por exemplo, .

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Para obter mais informações, consulte Erro de acesso: A chave pública é carregada comsucesso para IAM mas a ligação falha Linux, macOS, or Unix sistemas (p. 391).

Para obter mais informações sobre como conectar-se a repositórios, consulte Ligar ao CodeCommitrepositório clonando o repositório (p. 95).

Próximas etapasVocê concluiu os pré-requisitos. Siga estas etapas em Conceitos básicos de CodeCommit (p. 56) paracomeçar a usar o CodeCommit.

Passos de configuração para ligações SSH paraAWS CodeCommit repositórios no Windows

Antes de poder ligar a AWS CodeCommit pela primeira vez, tem de completar alguns passos deconfiguração inicial. Depois de configurar o seu computador e o seu perfil AWS, pode estabelecer umaligação a CodeCommit repositório e clonar esse repositório no computador (também conhecido comocriação de uma repo local). Se não estiver familiarizado com o Git, revise as informações em Onde possosaber mais sobre Git? (p. 6).

Tópicos• Etapa 1 Configuração inicial para CodeCommit (p. 40)• Etapa 2. Instale o Git. (p. 41)• SSH e Windows: Configure as chaves públicas e privadas para Git e CodeCommit (p. 41)• Etapa 4. Ligar ao CodeCommit consola e clonar o repositório (p. 44)• Próximas etapas (p. 45)

Etapa 1 Configuração inicial para CodeCommitSiga estes passos para configurar um AWS conta, criar IAM utilizador e configurar o acesso aCodeCommit.

Como criar e configurar um usuário do IAM para acessar o CodeCommit

1. Criar um AWS conta indo http://aws.amazon.com e escolher Registo.

Versão da API 2015-04-1340

Page 50: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Instale o Git.

2. Criar um IAM utilizador ou utilize um existente, no seu AWS conta. Certifique-se de que tem umaID chave de acesso e uma chave de acesso secreta associada a esse IAM utilizador. Para maisinformações, consulte Criar uma IAM Utilizador na sua AWS Conta.

Note

CodeCommitO requer o AWS Key Management Service. Se estiver a utilizar um IAMutilizador, certifique-se de que não existem políticas ligadas ao utilizador que recusemexpressamente o AWS KMS ações necessárias por CodeCommit. Para obter maisinformações, consulte AWS KMS e encriptação (p. 300).

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

4. No IAM consola, no painel de navegação, escolha Utilizadores, e depois escolha o IAM utilizador quepretende configurar para CodeCommit acesso.

5. No Permissões , escolha Adicionar permissões.6. Em Conceder permissões, escolha Anexe directamente as políticas existentes.7. Na lista de políticas, selecione AWSCodeCommitPowerUser ou outra política gerida para CodeCommit

acesso. Para obter mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317).

Depois de selecionar a política que pretende anexar, escolha Seguinte: Revisão para rever a lista depolíticas para anexar ao IAM utilizador. Se a lista estiver correta, escolha Adicionar permissões.

Para mais informações sobre CodeCommit políticas geridas e partilha de acesso a repositórios comoutros grupos e utilizadores, consulte Partilhar um repositório (p. 97) e Autenticação e controle deacesso para o AWS CodeCommit (p. 309).

Note

Se quiser utilizar AWS CLI comandos com CodeCommit, instale o AWS CLI. Para obter maisinformações, consulte Referência da linha de comando (p. 422).

Etapa 2. Instale o Git.Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git Downloads.

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recurso podeafetar o modo como ele funciona com o CodeCommit. Se você tiver problemas com uma versãoespecífica do Git e do CodeCommit, reveja as informações em Solução de problemas (p. 388).

Se a versão do Git que você instalou não incluir um emulador de Bash, como o Git Bash, instale um. Useesse emulador em vez da linha de comando do Windows ao configurar conexões SSH.

SSH e Windows: Configure as chaves públicas eprivadas para Git e CodeCommitPara configurar as chaves públicas e privadas para Git e CodeCommit

1. Abra o emulador de Bash.

Versão da API 2015-04-1341

Page 51: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioSSH e Windows: Configure as chaves

públicas e privadas para Git e CodeCommit

Note

Talvez seja necessário executar o emulador com permissões administrativas.

No emulador, execute o comando ssh-keygen e siga as instruções para salvar o arquivo nodiretório .ssh do seu perfil.

Por exemplo, .

$ ssh-keygen

Generating public/private rsa key pair.Enter file in which to save the key (/drive/Users/user-name/.ssh/id_rsa): Type a file name here, for example /c/Users/user-name/.ssh/codecommit_rsa

Enter passphrase (empty for no passphrase): <Type a passphrase, and then press Enter>Enter same passphrase again: <Type the passphrase again, and then press Enter>

Your identification has been saved in drive/Users/user-name/.ssh/codecommit_rsa.Your public key has been saved in drive/Users/user-name/.ssh/codecommit_rsa.pub.The key fingerprint is:45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14 user-name@client-nameThe key's randomart image is:+--[ RSA 2048]----+| E.+.o*.++|| .o .=.=o.|| . .. *. +|| ..o . +..|| So . . . || . || || || |+-----------------+

Isso gera .

• A . codecommit_rsa ficheiro, que é o ficheiro de chave privada.• A . codecommit_rsa.arquivo, que é o ficheiro de chave pública.

2. Execute os seguintes comandos para apresentar o valor do ficheiro de chave pública(codecommit_rsa.pub

cd .sshnotepad codecommit_rsa.pub

Copie o conteúdo do arquivo e, em seguida, feche o Bloco de Notas sem salvar. O conteúdo doarquivo é semelhante ao seguinte:

ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@computer-name

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

Versão da API 2015-04-1342

Page 52: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioSSH e Windows: Configure as chaves

públicas e privadas para Git e CodeCommit

Note

Pode ver e gerir directamente o seu CodeCommit credenciais em As minhas credenciais desegurança. Para obter mais informações, consulte Ver e gerir as suas credenciais (p. 7).

4. No IAM consola, no painel de navegação, escolha Utilizadores, e a partir da lista de utilizadores,escolha o seu IAM utilizador.

5. Na página de detalhes do utilizador, escolha o Credenciais de segurança e, em seguida, escolhaCarregar chave pública SSH.

6. Cole o conteúdo da sua chave pública SSH no campo e escolha Carregar chave pública SSH.7. Copiar ou guardar as informações em ID chave SSH (por exemplo, APKAEIBAERJR2EXAMPLE).

Note

Se você tiver feito upload de mais de um ID de chave SSH, as chaves serão listadas emordem alfabética por ID da chave, não por data de upload. Verifique se você copiou o ID dachave que está associado à data de upload correta.

8. No emulador de Bash, execute os seguintes comandos para criar um arquivo de configuração nodiretório ~/.ssh ou edite-o, caso já exista um:

notepad ~/.ssh/config

9. Adicione as seguintes linhas ao ficheiro, onde o valor para User é a ID de chave SSH que copiouanteriormente e o valor para IdentityFile o caminho e o nome do ficheiro de chave privada:

Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa

Note

Se deu ao seu ficheiro de chave privada um nome diferente de codecommit_rsa, certifique-se de que o utiliza aqui.Pode configurar o acesso SSH a repositórios em vários AWS contas. Para mais informações,consulte Resolução de problemas de ligações SSH para AWS CodeCommit (p. 391).

Salve o arquivo como config (não config.txt) e feche o Bloco de Notas.

Important

O nome do arquivo deve ser config sem extensão de arquivo. Caso contrário, as conexõesSSH falharão.

10. Execute o seguinte comando para testar a sua configuração de SSH:

ssh git-codecommit.us-east-2.amazonaws.com

Você será solicitado a confirmar a conexão, pois git-codecommit.us-east-2.amazonaws.com ainda não está incluído no seu arquivo de hosts conhecido.A impressão digital do servidor do CodeCommit é exibida como parte da verificação(a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e para MD5 ou 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ para SHA256).

Versão da API 2015-04-1343

Page 53: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Ligar ao CodeCommitconsola e clonar o repositório

Note

As impressões digitais do servidor do CodeCommit são exclusivas para cada região daAWS. Para visualizar as impressões digitais do servidor de uma região da AWS, consulteImpressões digitais do servidor para CodeCommit (p. 413).

Após confirmar a conexão, aparecerão a confirmação de que você adicionou o servidor ao seuarquivo hosts conhecido e uma mensagem de conexão bem-sucedida. Se não vir uma mensagemde sucesso, verifique se guardou o config no directório ~/.ssh do IAM utilizador que configuroupara aceder a CodeCommit, que o config não tem extensão de ficheiro (por exemplo, não deve sernomeado config.txt) e que especificou o ficheiro de chave privada correcto (codecommit_rsa!, notcodecommit_rsa.pub

Para obter informações para o ajudar a resolver problemas, execute o ssh com o -v parâmetro:

ssh -v git-codecommit.us-east-2.amazonaws.com

Para obter informações para ajudar a solucionar problemas de conexão, consulte Resolução deproblemas de ligações SSH para AWS CodeCommit (p. 391).

Etapa 4. Ligar ao CodeCommit consola e clonar orepositórioSe um administrador já lhe tiver enviado o nome e os detalhes de ligação para o CodeCommit repositório,pode ignorar este passo e clonar o repositório diretamente.

Para ligar a um CodeCommit repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos de uma região da AWS. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. Escolha na lista o repositório ao qual deseja se conectar. Escolha Clone URL (Clonar URL) e escolhao protocolo que você deseja usar ao clonar ou se conectar ao repositório. Isso copia a URL do clone.

• Copie o URL HTTPS se você estiver usando credenciais do Git com seu usuário do IAM ou oauxiliar de credenciais incluído na AWS CLI.

• Copie o URL HTTPS (GRC) se estiver usando o comando git-remote-codecommit no computadorlocal.

• Copie o URL SSH se você estiver usando um par de chaves públicas e privadas SSH com seuusuário do IAM.

Note

Se você vir uma página Welcome (Bem-vindo), em vez de uma lista de repositórios, nãohaverá repositórios associados à sua conta da AWS na região da AWS onde você estáconectado. Para criar um repositório, consulte the section called “Criar um repositório do” (p. 91) ou siga as etapas no tutorial Como começar com Git e CodeCommit (p. 69).

4. No emulador Bash, execute o comando git clone com o URL SSH copiado para clonar o repositório.Esse comando cria o repositório local em um subdiretório do diretório onde o comando é executado.Por exemplo, para excluir um repositório denominado : MyDemoRepo para uma repo local nomeadamy-demo-repo no Leste dos EUA (Ohio) Região:

Versão da API 2015-04-1344

Page 54: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPróximas etapas

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Em alternativa, abra um comando de comando e utilize o URL e a ID de chave SSH para a chavepública que carregou para IAM, execute o git clone comando. O repositório local é criado em umsubdiretório do diretório onde o comando é executado. Por exemplo, para excluir um repositóriodenominado : MyDemoRepo para uma repo local nomeada my-demo-repo:

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Para mais informações, consulte Ligar ao CodeCommit repositório clonando o repositório (p. 95) eCriar um compromisso (p. 223).

Próximas etapasVocê concluiu os pré-requisitos. Siga estas etapas em Conceitos básicos de CodeCommit (p. 56) paracomeçar a usar o CodeCommit.

Passos de configuração para ligações HTTPS paraAWS CodeCommit repositórios em Linux, macOS,or Unix com o AWS CLI auxiliar de credencial

Antes de você se conectar ao AWS CodeCommit pela primeira vez, deve concluir as etapas deconfiguração inicial. Para a maioria dos usuários, isso pode ser feito mais facilmente seguindo as etapasem Para utilizadores HTTPS utilizando credenciais Git (p. 10). Contudo, se você deseja se conectarao CodeCommit usando uma conta raiz, acesso federado ou credenciais temporárias, deverá usar oassistente de credenciais incluído na AWS CLI.

Note

Embora o auxiliar de credencial seja um método suportado para a ligação a CodeCommitutilizando o acesso federado, um fornecedor de identidade ou credenciais temporárias, o métodorecomendado é instalar e utilizar o git-remote-codecommit utilidade. Para obter mais informações,consulte Passos de configuração para ligações HTTPS para AWS CodeCommit com código decontrolo git-remote (p. 14).

Tópicos• Etapa 1 Configuração inicial para CodeCommit (p. 45)• Etapa 2. Instale o Git. (p. 48)• Etapa 3 Configurar o auxiliar da credencial (p. 48)• Etapa 4. Ligar ao CodeCommit consola e clonar o repositório (p. 49)• Próximas etapas (p. 50)

Etapa 1 Configuração inicial para CodeCommitSiga estes passos para configurar um AWS criar e configurar um IAM utilizador e instalar o AWS CLI.

Versão da API 2015-04-1345

Page 55: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Configuração inicial para CodeCommit

Como criar e configurar um usuário do IAM para acessar o CodeCommit

1. Criar um AWS conta indo http://aws.amazon.com e escolher Registo.2. Criar um IAM utilizador ou utilize um existente, no seu AWS conta. Certifique-se de que tem uma

ID chave de acesso e uma chave de acesso secreta associada a esse IAM utilizador. Para maisinformações, consulte Criar uma IAM Utilizador na sua AWS Conta.

Note

CodeCommitO requer o AWS Key Management Service. Se estiver a utilizar um IAMutilizador, certifique-se de que não existem políticas ligadas ao utilizador que recusemexpressamente o AWS KMS ações necessárias por CodeCommit. Para obter maisinformações, consulte AWS KMS e encriptação (p. 300).

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

4. No IAM consola, no painel de navegação, escolha Utilizadores, e depois escolha o IAM utilizador quepretende configurar para CodeCommit acesso.

5. No Permissões , escolha Adicionar permissões.6. Em Conceder permissões, escolha Anexe directamente as políticas existentes.7. Na lista de políticas, selecione AWSCodeCommitPowerUser ou outra política gerida para CodeCommit

acesso. Para obter mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317).

Depois de selecionar a política que pretende anexar, escolha Seguinte: Revisão para rever a lista depolíticas para anexar ao IAM utilizador. Se a lista estiver correta, escolha Adicionar permissões.

Para mais informações sobre CodeCommit políticas geridas e partilha de acesso a repositórios comoutros grupos e utilizadores, consulte Partilhar um repositório (p. 97) e Autenticação e controle deacesso para o AWS CodeCommit (p. 309).

Como instalar e configurar o AWS CLI

1. Na sua máquina local, baixe e instale o AWS CLI. Esse é um pré-requisito para interagir com oCodeCommit a partir da linha de comando. Para mais informações, consulte Configurar o AWSInterface da linha de comando.

Note

CodeCommitO AWS CLI trabalha somente com as versões da 1.7.38 e posterior. Comoprática recomendada, instale ou atualize a AWS CLI para a versão mais recente disponível.Para determinar qual a versão do AWS CLI instalou, execute o aws --version comando.Para atualizar uma versão mais antiga do AWS CLI para a versão mais recente, consulteInstalar o AWS Command Line Interface.

2. Execute este comando para verificar o CodeCommit comandos para o AWS CLI estão instalados:

aws codecommit help

Este comando deve devolver uma lista de CodeCommit comandos.3. Configurar o AWS CLI com um perfil utilizando o configure como se segue:

aws configure

Quando solicitado, especifique o AWS chave de acesso e AWS chave de acesso secreta do IAMutilizador para utilizar com CodeCommit. Além disso, certifique-se de que especifica a região AWSVersão da API 2015-04-13

46

Page 56: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Configuração inicial para CodeCommit

onde o repositório existe, como us-east-2. Quando solicitado para o formato de saída predefinido,especifique json. Por exemplo:

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Para obter mais informações sobre como criar e configurar perfis para usar com a AWS CLI, consulteo seguinte:

• Perfis nomeados• Utilizar um IAM Função no AWS CLI• Comando set• A ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301)

Para se conectar a um repositório ou um recurso em outra região da AWS, é necessário reconfigurar aAWS CLI com o nome da região padrão. Os nomes de região padrão compatíveis com o CodeCommitincluem:

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1

Para obter mais informações sobre o CodeCommit e as regiões da AWS, consulte Parâmetros deligação de regiões e Git (p. 409). Para mais informações sobre IAM, teclas de acesso e teclassecretas, consulte Como obtenho credenciais? e Gerir chaves de acesso para IAM Utilizadores. Paramais informações sobre o AWS CLI e perfis, consulte Perfis nomeados.

Versão da API 2015-04-1347

Page 57: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Instale o Git.

Etapa 2. Instale o Git.Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git Downloads.Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recurso podeafetar o modo como ele funciona com o CodeCommit. Se você tiver problemas com uma versãoespecífica do Git e do CodeCommit, reveja as informações em Solução de problemas (p. 388).

Etapa 3 Configurar o auxiliar da credencial1. A partir do terminal, utilize Git para executar git config, especificando a utilização do auxiliar de

credencial Git com o AWS perfil da credencial e permitir ao auxiliar da credencial Git enviar o caminhopara repositórios:

git config --global credential.helper '!aws codecommit credential-helper $@'git config --global credential.UseHttpPath true

Tip

O assistente de credencial utiliza a predefinição AWS perfil da credencial ou Amazon EC2função de instância. Pode especificar um perfil a utilizar, como CodeCommitProfile, secriou um AWS perfil de credencial a utilizar com CodeCommit:

git config --global credential.helper '!aws --profile CodeCommitProfile codecommit credential-helper $@'

Se o nome do seu perfil contém espaços, não se esqueça de colocá-lo entre aspas (").É possível configurar perfis por repositório em vez de globalmente, usando --local, em vezde --global.

O auxiliar de credenciais do Git escreve o seguinte valor para ~/.gitconfig:

[credential] helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true

Important

Se quiser utilizar um IAM utilizador na mesma máquina local para CodeCommit, tem deexecutar o git config outra vez e especifique um AWS perfil de credencial.

2. Executar git config --global --edit para verificar se o valor precedente foi escrito para ~/.gitconfig.Se for bem-sucedido, deve ver o valor precedente (para além dos valores que podem já existir noficheiro de configuração Git global). Para sair, normalmente, você digita :q e pressiona Enter.

Se você tiver problemas depois de configurar seu auxiliar de credencial, consulte Solução deproblemas (p. 388).

Important

Se você está usando macOS, use as seguintes etapas para garantir que o auxiliar decredenciais esteja configurado corretamente.

Versão da API 2015-04-1348

Page 58: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Ligar ao CodeCommitconsola e clonar o repositório

3. Se estiver a utilizar macOS, utilize HTTPS para ligar a um CodeCommit repositório (p. 94).Depois de se conectar a um repositório do CodeCommit com HTTPS pela primeira vez, o acessosubsequente falhará após cerca de 15 minutos. A versão padrão do Git no macOS usa o utilitárioAcesso às Chaves para armazenar credenciais. Como medida de segurança, a senha gerada peloacesso ao seu repositório do CodeCommit é temporária, de modo que as credenciais armazenadasno conjunto de chaves param de funcionar após cerca de 15 minutos. Para impedir que essascredenciais expiradas sejam usadas, você deve:

• Instalar uma versão do Git que não utilize o conjunto de chaves por padrão; ou• Configurar o utilitário de Acesso à Corrente para não fornecer credenciais para CodeCommit

repositórios.

1. Abra o utilitário Acesso às Chaves. (Você pode usar o Finder para localizá-lo.)2. Pesquisar por git-codecommit.us-east-2.amazonaws.com. Realce a linha, abra o menu de

contexto ou clique com o botão direito do rato e escolha Obter informações.3. Escolha o Controlo de acesso separador.4. Em Confirmar antes de permitir o acesso, escolha git-credential-osxkeychain, e depois

seleccione o sinal de menos para removê-lo da lista.

Note

Após remover git-credential-osxkeychain da lista, você verá uma mensagem pop-up sempre que executar um comando do Git. Escolher Recusar para continuar. Se vocêachar os pop-ups um incômodo, aqui estão outras opções:• Conecte-se ao CodeCommit usando SSH em vez de HTTPS. Para obter mais

informações, consulte Para ligações SSH em Linux, macOS, or Unix (p. 35).• No utilitário Keychain Access, no Controlo de acesso separador para git-codecommit.us-east-2.amazonaws.com, escolha o Permitir que todas asaplicações acedam a este item (o acesso a este item não é restrito) opção. Isso impedeos pop-ups, mas as credenciais expirarão eventualmente (em média, em cerca de 15minutos) e você verá uma mensagem de erro 403. Quando isso ocorrer, você deveráexcluir o item do conjunto de chaves para restaurar a funcionalidade.

• Para obter mais informações, consulte Git para macOS: Configurei o assistente decredencial com sucesso, mas agora tenho acesso ao meu repositório (403) (p. 398).

Etapa 4. Ligar ao CodeCommit consola e clonar orepositórioSe um administrador já enviou para você o nome e os detalhes de conexão do repositório do CodeCommit,ignore esta etapa e clone o repositório diretamente.

Para ligar a um CodeCommit repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos de uma região da AWS. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. Escolha na lista o repositório ao qual deseja se conectar. Escolha Clone URL (Clonar URL) e escolhao protocolo que você deseja usar ao clonar ou se conectar ao repositório. Isso copia a URL do clone.

• Copie o URL HTTPS se você estiver usando credenciais do Git com seu usuário do IAM ou oauxiliar de credenciais incluído na AWS CLI.

Versão da API 2015-04-1349

Page 59: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPróximas etapas

• Copie o URL HTTPS (GRC) se estiver usando o comando git-remote-codecommit no computadorlocal.

• Copie o URL SSH se você estiver usando um par de chaves públicas e privadas SSH com seuusuário do IAM.

Note

Se você vir uma página Welcome (Bem-vindo), em vez de uma lista de repositórios, nãohaverá repositórios associados à sua conta da AWS na região da AWS onde você estáconectado. Para criar um repositório, consulte the section called “Criar um repositório do” (p. 91) ou siga as etapas no tutorial Como começar com Git e CodeCommit (p. 69).

4. Abrir um terminal e executar o git clone com o URL HTTPS copiado. Por exemplo, para excluir umrepositório denominado : MyDemoRepo para uma repo local nomeada my-demo-repo no Leste dosEUA (Ohio) Região:

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Próximas etapasVocê concluiu os pré-requisitos. Siga estas etapas em Conceitos básicos de CodeCommit (p. 56) paracomeçar a usar o CodeCommit.

Passos de configuração para ligações HTTPS paraAWS CodeCommit repositórios no Windows com oAWS CLI auxiliar de credencial

Antes de você se conectar ao AWS CodeCommit pela primeira vez, deve concluir as etapas deconfiguração inicial. Para a maioria dos usuários, isso pode ser feito mais facilmente seguindo as etapasem Para utilizadores HTTPS utilizando credenciais Git (p. 10). Contudo, se você deseja se conectarao CodeCommit usando uma conta raiz, acesso federado ou credenciais temporárias, deverá usar oassistente de credenciais incluído na AWS CLI.

Note

Embora o auxiliar de credencial seja um método suportado para a ligação a CodeCommitutilizando o acesso federado, um fornecedor de identidade ou credenciais temporárias, o métodorecomendado é instalar e utilizar o git-remote-codecommit utilidade. Para obter mais informações,consulte Passos de configuração para ligações HTTPS para AWS CodeCommit com código decontrolo git-remote (p. 14).

Este tópico orienta-o através dos passos para instalar o AWS CLI, configure o seu computador e o perfilAWS, ligue-se a um CodeCommit repositório e clonar esse repositório para o seu computador, tambémconhecido como criar uma repo local. Se não estiver familiarizado com o Git, revise as informações emOnde posso saber mais sobre Git? (p. 6).

Tópicos• Etapa 1 Configuração inicial para CodeCommit (p. 51)• Etapa 2. Instale o Git. (p. 53)

Versão da API 2015-04-1350

Page 60: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Configuração inicial para CodeCommit

• Etapa 3 Configurar o auxiliar da credencial (p. 53)• Etapa 4. Ligar ao CodeCommit consola e clonar o repositório (p. 55)• Próximas etapas (p. 55)

Etapa 1 Configuração inicial para CodeCommitSiga estes passos para configurar um AWS criar e configurar um IAM utilizador e instalar o AWS CLI. OAWS CLI inclui um auxiliar de credencial que configura para ligações HTTPS para o seu CodeCommitrepositórios.

Como criar e configurar um usuário do IAM para acessar o CodeCommit

1. Criar um AWS conta indo http://aws.amazon.com e escolher Registo.2. Criar um IAM utilizador ou utilize um existente, no seu AWS conta. Certifique-se de que tem uma

ID chave de acesso e uma chave de acesso secreta associada a esse IAM utilizador. Para maisinformações, consulte Criar uma IAM Utilizador na sua AWS Conta.

Note

CodeCommitO requer o AWS Key Management Service. Se estiver a utilizar um IAMutilizador, certifique-se de que não existem políticas ligadas ao utilizador que recusemexpressamente o AWS KMS ações necessárias por CodeCommit. Para obter maisinformações, consulte AWS KMS e encriptação (p. 300).

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

4. No IAM consola, no painel de navegação, escolha Utilizadores, e depois escolha o IAM utilizador quepretende configurar para CodeCommit acesso.

5. No Permissões , escolha Adicionar permissões.6. Em Conceder permissões, escolha Anexe directamente as políticas existentes.7. Na lista de políticas, selecione AWSCodeCommitPowerUser ou outra política gerida para CodeCommit

acesso. Para obter mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317).

Depois de selecionar a política que pretende anexar, escolha Seguinte: Revisão para rever a lista depolíticas para anexar ao IAM utilizador. Se a lista estiver correta, escolha Adicionar permissões.

Para mais informações sobre CodeCommit políticas geridas e partilha de acesso a repositórios comoutros grupos e utilizadores, consulte Partilhar um repositório (p. 97) e Autenticação e controle deacesso para o AWS CodeCommit (p. 309).

Como instalar e configurar o AWS CLI

1. Na sua máquina local, baixe e instale o AWS CLI. Esse é um pré-requisito para interagir com oCodeCommit a partir da linha de comando. Para mais informações, consulte Configurar o AWSInterface da linha de comando.

Note

CodeCommitO AWS CLI trabalha somente com as versões da 1.7.38 e posterior. Comoprática recomendada, instale ou atualize a AWS CLI para a versão mais recente disponível.Para determinar qual a versão do AWS CLI instalou, execute o aws --version comando.Para atualizar uma versão mais antiga do AWS CLI para a versão mais recente, consulteInstalar o AWS Command Line Interface.

2. Execute este comando para verificar o CodeCommit comandos para o AWS CLI estão instalados:

Versão da API 2015-04-1351

Page 61: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Configuração inicial para CodeCommit

aws codecommit help

Este comando deve devolver uma lista de CodeCommit comandos.3. Configurar o AWS CLI com um perfil utilizando o configure como se segue:

aws configure

Quando solicitado, especifique o AWS chave de acesso e AWS chave de acesso secreta do IAMutilizador para utilizar com CodeCommit. Além disso, certifique-se de que especifica a região AWSonde o repositório existe, como us-east-2. Quando solicitado para o formato de saída predefinido,especifique json. Por exemplo:

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Para obter mais informações sobre como criar e configurar perfis para usar com a AWS CLI, consulteo seguinte:

• Perfis nomeados• Utilizar um IAM Função no AWS CLI• Comando set• A ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301)

Para se conectar a um repositório ou um recurso em outra região da AWS, é necessário reconfigurar aAWS CLI com o nome da região padrão. Os nomes de região padrão compatíveis com o CodeCommitincluem:

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1

Versão da API 2015-04-1352

Page 62: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Instale o Git.

• me-south-1• cn-north-1• cn-northwest-1

Para obter mais informações sobre o CodeCommit e as regiões da AWS, consulte Parâmetros deligação de regiões e Git (p. 409). Para mais informações sobre IAM, teclas de acesso e teclassecretas, consulte Como obtenho credenciais? e Gerir chaves de acesso para IAM Utilizadores. Paramais informações sobre o AWS CLI e perfis, consulte Perfis nomeados.

Etapa 2. Instale o Git.Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git for Windows. Se você usar esse link para instalar o Git,poderá aceitar todas as configurações padrão de instalação, exceto as seguintes:

• Quando solicitado durante a etapa Adjusting your PATH environment (Ajuste do ambiente de PATH),selecione a opção para usar o Git do prompt de comando do Windows.

• (Opcional) Se você pretende usar HTTPS com o auxiliar de credenciais incluído na AWS CLI emvez de configurar credenciais do Git para o CodeCommit, na página Configuring extra options(Configurar opções adicionais), certifique-se de que a opção Enable Git Credential Manager (Habilitaro Git Credential Manager) esteja desmarcada. O Git Credential Manager só será compatível com oCodeCommit se os usuários do IAM configurarem as credenciais do Git. Para obter mais informações,consulte Para utilizadores HTTPS utilizando credenciais Git (p. 10) e T para Windows: Instalei Gitpara Windows, mas tenho acesso ao meu repositório (403) (p. 400).

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recurso podeafetar o modo como ele funciona com o CodeCommit. Se você tiver problemas com uma versãoespecífica do Git e do CodeCommit, reveja as informações em Solução de problemas (p. 388).

Etapa 3 Configurar o auxiliar da credencialA AWS CLI inclui um assistente de credenciais do Git que pode ser usado com o CodeCommit. Oassistente de credencial Git requer um AWS perfil de credencial, que armazena uma cópia de IAMutilizador AWS ID de chave de acesso e AWS chave de acesso secreto (juntamente com o nomepredefinido da região AWS e o formato de saída predefinido). O assistente de credenciais do Git usa essasinformações para a autenticação automática no CodeCommit, de modo que você não precisará inseriressas informações sempre que usar o Git para interagir com o CodeCommit.

1. Abra um prompt de comando e use o Git para executar git config especificando o uso do assistente decredenciais do Git com o perfil de credenciais da AWS, o que permite que o assistente de credenciaisdo Git envie o caminho para os repositórios:

git config --global credential.helper "!aws codecommit credential-helper $@"git config --global credential.UseHttpPath true

O assistente de credenciais do Git grava o seguinte no arquivo .gitconfig:

[credential]

Versão da API 2015-04-1353

Page 63: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Configurar o auxiliar da credencial

helper = !aws codecommit credential-helper $@ UseHttpPath = true

Important

• Se você estiver usando um emulador de Bash em vez da linha de comando do Windows,deve usar aspas simples em vez de aspas duplas.

• O assistente de credencial utiliza a predefinição AWS perfil ou Amazon EC2 função deinstância. Se criou um AWS perfil de credencial a utilizar, como CodeCommitProfile,pode modificar o comando da seguinte forma para o utilizar:

git config --global credential.helper "!aws codecommit credential-helper --profile CodeCommitProfile $@"

Isso grava o seguinte no arquivo .gitconfig:

[credential] helper = !aws codecommit credential-helper --profile=CodeCommitProfile $@ UseHttpPath = true

• Se o nome do seu perfil tiver espaços, será necessário editar o arquivo .gitconfig depois deexecutar esse comando para inseri-lo em aspas simples ('). Caso contrário, o assistente decredenciais não funcionará.

• Se a instalação do Git para Windows incluir o utilitário Git Credential Manager, você veráerros 403 ou solicitações para fornecer credenciais no utilitário Credential Manager apósas primeiras tentativas de conexão. A maneira mais confiável de resolver esse problemaé desinstalar e reinstalar o Git para Windows sem a opção do utilitário Git CredentialManager, pois ele não é compatível com o CodeCommit. Se quiser manter o utilitário doGestor de Credenciais Git, tem de realizar os passos de configuração adicionais paratambém utilizar CodeCommit, incluindo modificar manualmente o ficheiro.gitconfig paraespecificar a utilização do assistente de credencial para AWS CodeCommit ao ligar aCodeCommit. Exclua todas as credenciais armazenadas do utilitário Credential Manager(o utilitário pode ser encontrado no Painel de Controle). Depois de remover todas ascredenciais armazenadas, adicione o seguinte ao seu arquivo .gitconfig, salve-o e tente seconectar novamente a partir de uma nova janela do prompt de comando:

[credential "https://git-codecommit.us-east-2.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

[credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

Também pode ter de reconfigurar o seu git config definições especificando --system em vezde --global ou --local antes de todas as ligações trabalharem como esperado.

• Se quiser utilizar diferentes IAM utilizadores na mesma máquina local para CodeCommit,deve especificar git config --local em vez de git config --globale executar a configuraçãopara cada AWS perfil de credencial.

2. Executar git config --global --edit para verificar se os valores precedentes foram escritos noficheiro.gitconfig para o seu perfil de utilizador (por predefinição, %HOME%\.gitconfig ou drive:\Users\UserName\.gitconfig). Se houver êxito, você verá os valores anterior (além de valoresque já possam existir no arquivo de configuração global do Git). Para sair, normalmente, você digita:q e pressiona Enter.

Versão da API 2015-04-1354

Page 64: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Ligar ao CodeCommitconsola e clonar o repositório

Etapa 4. Ligar ao CodeCommit consola e clonar orepositórioSe um administrador já enviou para você o nome e os detalhes de conexão do repositório do CodeCommit,ignore esta etapa e clone o repositório diretamente.

Para ligar a um CodeCommit repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos de uma região da AWS. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. Escolha na lista o repositório ao qual deseja se conectar. Escolha Clone URL (Clonar URL) e escolhao protocolo que você deseja usar ao clonar ou se conectar ao repositório. Isso copia a URL do clone.

• Copie o URL HTTPS se você estiver usando credenciais do Git com seu usuário do IAM ou oauxiliar de credenciais incluído na AWS CLI.

• Copie o URL HTTPS (GRC) se estiver usando o comando git-remote-codecommit no computadorlocal.

• Copie o URL SSH se você estiver usando um par de chaves públicas e privadas SSH com seuusuário do IAM.

Note

Se você vir uma página Welcome (Bem-vindo), em vez de uma lista de repositórios, nãohaverá repositórios associados à sua conta da AWS na região da AWS onde você estáconectado. Para criar um repositório, consulte the section called “Criar um repositório do” (p. 91) ou siga as etapas no tutorial Como começar com Git e CodeCommit (p. 69).

4. Abrir uma instrução de comando executar o git clone comando com o URL HTTPS copiado. Orepositório local é criado em um subdiretório do diretório onde o comando é executado. Por exemplo,para excluir um repositório denominado : MyDemoRepo para uma repo local nomeada my-demo-repono Leste dos EUA (Ohio) Região:

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Em algumas versões do Windows, poderá ser exibida uma mensagem pop-up solicitando seu nomede usuário e sua senha. Esse é o sistema de gerenciamento de credenciais interno do Windows, masele não é compatível com o assistente de credenciais do AWS CodeCommit. Escolher Cancelar.

Próximas etapasVocê concluiu os pré-requisitos. Siga estas etapas em Conceitos básicos de CodeCommit (p. 56) paracomeçar a usar o CodeCommit.

Versão da API 2015-04-1355

Page 65: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioConceitos básicos de CodeCommit

Conceitos básicosA forma mais fácil de começar a usar o CodeCommit é seguir as etapas em Conceitos básicos deCodeCommit (p. 56). Se você não estiver familiarizado com o Git e o CodeCommit, também considereseguir as etapas em Como começar com Git e CodeCommit (p. 69). Isto ajuda-o a familiarizar-secom CodeCommit e as noções básicas da utilização da Git quando interagimos com o seu CodeCommitrepositórios.

Também pode seguir o tutorial em Passagem de Pipeline Simples com CodePipeline e CodeCommit paraaprender a utilizar o seu CodeCommit como parte de uma linha de fornecimento contínua.

Os tutoriais nesta secção são escritos com o pressuposto de que completou o pré-requisitos econfiguração (p. 7), incluindo:

• Atribuir permissões ao IAM utilizador.• Configuração do gerenciamento de credenciais para conexões HTTPS ou SSH na máquina local que

está sendo usada para este tutorial.• Configure a AWS CLI se você quiser usar a linha de comando ou o terminal para todas as operações,

incluindo a criação do repositório.

Tópicos• Conceitos básicos de AWS CodeCommit (p. 56)• Como começar com Git e AWS CodeCommit (p. 69)

Conceitos básicos de AWS CodeCommitEste tutorial mostra-lhe como utilizar alguma tecla CodeCommit funcionalidades. Primeiro, crie umrepositório e confirme algumas alterações nele. Depois disso, procure os arquivos e visualize asalterações. Também é possível criar uma solicitação pull para que outras pessoas possam analisar ecomentar as alterações em seu código.

Se você não está familiarizado com o Git, considere concluir Como começar com Git eCodeCommit (p. 69) também. Após concluir estes tutoriais, é necessário ter prática suficiente paracomeçar a usar o CodeCommit para os seus próprios projetos e em ambientes de equipe.

O CodeCommit a consola inclui informações úteis num painel expansível que pode abrir a partir do ícone

de informação ( ) ou qualquer Informações na página. Você pode fechar esse painel a qualquermomento.

Versão da API 2015-04-1356

Page 66: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPrerequisites

O console do CodeCommit também fornece uma maneira de pesquisar rapidamente seus recursos, comorepositórios, projetos de compilação, aplicativos de implantação e pipelines. Escolher Ir para recurso ouprima o botão / e, em seguida, escreva o nome do recurso. Qualquer correspondência aparecerá na lista.As pesquisas diferenciam letras maiúsculas de minúsculas. Você só pode ver recursos para os quais tempermissão para visualizar. Para obter mais informações, consulte Visualizar recursos no console (p. 316).

PrerequisitesAntes de começar, tem de completar o pré-requisitos e configuração (p. 7) incluindo:

• Atribuir permissões ao IAM utilizador.• Configuração de gerenciamento de credenciais para conexões HTTPS ou SSH na máquina local que

você usar para este tutorial.• Configure a AWS CLI se você quiser usar a linha de comando ou o terminal para todas as operações,

incluindo a criação do repositório.

Tópicos• Etapa 1 Criar uma CodeCommit repositório (p. 57)• Etapa 2. Adicionar ficheiros ao seu repositório (p. 59)• Etapa 3 Navegue pelos conteúdos do seu repositório (p. 61)• Etapa 4. Criar e colaborar num pedido de puxar (p. 65)• Etapa 5. Limpar (p. 69)• Etapa 6. Próximas etapas (p. 69)

Etapa 1 Criar uma CodeCommit repositórioVocê pode usar o console do CodeCommit para criar um Repositório do CodeCommit. Se você já tem umrepositório que deseja usar para este tutorial, ignore esta etapa.

Versão da API 2015-04-1357

Page 67: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Criar uma CodeCommit repositório

Note

Dependendo do uso, você poderá ser cobrado por criar ou acessar um repositório. Para obtermais informações, consulte Definição de preços na página de informações do produto doCodeCommit.

Para criar o Repositório do CodeCommit

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Use o seletor da região para escolher a região da AWS onde você deseja criar o repositório. Para

obter mais informações, consulte Parâmetros de ligação de regiões e Git (p. 409).3. No Repositórios página, escolher Criar repositório.4. No Criar repositório página, em Nome do repositório, introduza um nome para o seu repositório (por

exemplo, MyDemoRepo).

Note

Os nomes de repositório diferenciam letras maiúsculas de minúsculas e não podem ter maisde 100 caracteres. Para mais informações, consulte Limites (p. 421).

5. (Opcional) Em Descrição, introduza uma descrição (por exemplo, My demonstrationrepository). Isso pode ajudar você e outros usuários a identificar a finalidade do repositório.

6. (Opcional) Escolha Adicionar etiqueta para adicionar uma ou mais etiquetas de repositório (umaetiqueta de atributo personalizada que o ajuda a organizar e a gerir o seu AWS recursos) parao seu repositório. Para obter mais informações, consulte Repositórios de etiquetagem em AWSCodeCommit (p. 105).

7. (Opcional) Selecione Ativar Amazon CodeGuru Reviewer para Java se este repositório contivercódigo Java, e quiser CodeGuru Reviewer analisar esse código Java. CodeGuru Reviewer utilizamúltiplos modelos de aprendizagem de máquinas para encontrar defeitos de código Java e parasugerir automaticamente melhorias e correções em pedidos de pull-pull. Para obter mais informações,consulte Guia do usuário do Amazon CodeGuru Reviewer.

8. Escolher Criar.

Versão da API 2015-04-1358

Page 68: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Adicionar ficheiros ao seu repositório

Note

Se você usar outro nome que não seja MyDemoRepo para o repositório, use-o nas etapasrestantes deste tutorial.

Quando o repositório abrir, verá informações sobre como adicionar ficheiros directamente a partir doCodeCommit consola.

Etapa 2. Adicionar ficheiros ao seu repositórioVocê pode adicionar arquivos ao repositório da seguinte forma:

• Criar um ficheiro no CodeCommit consola.• Carregar um ficheiro do computador local utilizando o CodeCommit consola.• Utilizar um cliente Git para clonar o repositório no seu computador local e, em seguida, adicionar,

comprometer e carregar ficheiros para o CodeCommit repositório.

A maneira mais simples de começar a usar é abrir o console do CodeCommit e adicionar um arquivo.

Como adicionar um arquivo a um repositório

1. Na barra de navegação para o repositório, escolha Código.

Versão da API 2015-04-1359

Page 69: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Adicionar ficheiros ao seu repositório

2. Escolher Adicionar ficheiro, e depois escolha se pretende criar um ficheiro ou carregar um ficheiro apartir do seu computador. Este tutorial mostra como realizar as duas ações.

3. Para adicionar um arquivo, faça o seguinte:

a. Na lista suspensa de ramificações, escolha a ramificação onde deseja adicionar o arquivo. Aramificação padrão é selecionada automaticamente para você. No exemplo apresentado aqui,o ramo predefinido é nomeado masterSe você deseja adicionar o arquivo a outra ramificação,escolha uma ramificação diferente.

b. Em Nome do ficheiro, introduza um nome para o ficheiro. No editor de código, insira o código doarquivo.

c. Em Nome do autor, introduza o nome que pretende que seja apresentado a outros utilizadores dorepositório.

d. Em Endereço de e-mail, introduza um endereço de e-mail.e. (Opcional) Em Mensagem de compromisso, introduza uma breve mensagem. Embora seja

opcional, recomendamos que você adicione uma mensagem de confirmação para ajudar osmembros da equipe a entender porque o arquivo foi adicionado. Se você não inserir umamensagem de confirmação, uma mensagem padrão será usada.

f. Escolher Comprometer alterações.

Para fazer upload de um arquivo, faça o seguinte:

• Se você estiver fazendo upload de um arquivo, escolha o arquivo desejado.

• Em Nome do autor, introduza o nome que pretende que seja apresentado a outros utilizadores dorepositório.

• Em Endereço de e-mail, introduza um endereço de e-mail.• (Opcional) Em Mensagem de compromisso, introduza uma breve mensagem. Embora seja opcional,

recomendamos que você adicione uma mensagem de confirmação para ajudar os membrosda equipe a entender porque o arquivo foi adicionado. Se você não inserir uma mensagem deconfirmação, uma mensagem padrão será usada.

• Escolher Comprometer alterações.

Para obter mais informações, consulte Trabalhar com ficheiros em AWS CodeCommitrepositórios (p. 153).

Versão da API 2015-04-1360

Page 70: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Navegue pelos conteúdos do seu repositório

Para utilizar um cliente Git para clonar o repositório, instale Git no seu computador local e, em seguida,clone o CodeCommit repositório. Adicione alguns arquivos ao repositório e envie-os para o repositóriodo CodeCommit por push. Para uma introdução detalhada, experimente o Como começar com Git eCodeCommit (p. 69). Se estiver familiarizado com Git, mas não tem a certeza de como fazê-lo com umCodeCommit repositório, pode ver exemplos e instruções em Criar um compromisso (p. 223), Etapa 2.Criar uma repo local (p. 71), ou Conexão a um repositório (p. 94).

Depois de adicionar alguns arquivos ao repositório do CodeCommit, será possível visualizá-los no console.

Etapa 3 Navegue pelos conteúdos do seu repositórioÉ possível usar o console do CodeCommit para analisar os arquivos em um repositório ou para lerrapidamente os conteúdos de um arquivo. Isso ajuda a determinar qual ramificação deve ter o check-outfeito ou se você deseja criar uma cópia local de um repositório.

Como navegar no repositório

1. Desde Repositórios, escolha MyDemoRepo.2. A página exibe o conteúdo na ramificação padrão do repositório. Para visualizar outra ramificação ou

visualizar o código em uma tag específica, escolha a ramificação ou tag que deseja visualizar na lista.Na captura de ecrã seguinte, a vista está definida para mestre ramo.

3. Para visualizar os conteúdos de um arquivo no seu repositório, escolha o arquivo na lista. Para alterara cor do código exibido, escolha o ícone de configurações.

Versão da API 2015-04-1361

Page 71: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Navegue pelos conteúdos do seu repositório

Para obter mais informações, consulte Procurar ficheiros num repositório (p. 154).4. Para procurar o histórico de compromisso do repositório, escolha Compromisso. O console exibe o

histórico de confirmações da ramificação padrão, em ordem cronológica inversa. Revise os detalhesde confirmações por autor, data e muito mais.

5. Para ver o histórico de compromisso por agência (p. 257) ou por Etiqueta de Git (p. 252), escolhaa sucursal ou a etiqueta que pretende visualizar na lista.

6. Para visualizar as diferenças entre uma confirmação e sua confirmação pai, escolha o ID deconfirmação abreviado. Pode escolher como as alterações são apresentadas, incluindo mostrar ouocultar alterações ao espaço branco e se pretende ver as alterações em linha (Unificado vista) ou ladoa lado (Dividir ver).

Note

Suas preferências para visualizar código e outras configurações do console são salvas comocookies do navegador sempre que você as altera. Para obter mais informações, consulteTrabalhar com preferências do utilizador (p. 273).

Versão da API 2015-04-1362

Page 72: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Navegue pelos conteúdos do seu repositório

7. Para ver todos os comentários em uma confirmação, escolha a confirmação e, em seguida, role pelasalterações para visualizá-las em linha. Você também pode adicionar seus próprios comentários eresponder aos comentários feitos por outros.

Para obter mais informações, consulte Comentar sobre uma confirmação (p. 241).8. Para ver as diferenças entre os dois especialistas em compromisso, incluindo etiquetas, ramos e

Ids de compromisso, no painel de navegação, escolha Compromisso, e depois escolha Compararcompromisso.

Versão da API 2015-04-1363

Page 73: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Navegue pelos conteúdos do seu repositório

Para mais informações, consulte Procurar o histórico de compromisso de um repositório (p. 228) eComparar confirmações (p. 237).

9. Em Compromisso, escolha o Ver o visualizador separador.

O gráfico de confirmações será exibido, com a linha de assunto de cada confirmação mostradapróxima ao seu respectivo ponto no gráfico. A exibição da linha de assunto é limitada a 80 caracteres.

Versão da API 2015-04-1364

Page 74: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Criar e colaborar num pedido de puxar

10. Para ver mais detalhes sobre uma confirmação, escolha o ID abreviado da confirmação. Pararenderizar o gráfico de uma confirmação específica, escolha este ponto no gráfico. Para obter maisinformações, consulte Ver um gráfico do histórico de compromissos de um repositório (p. 229).

Etapa 4. Criar e colaborar num pedido de puxarAo trabalhar em um repositório com outros usuários, é possível colaborar no código e revisar alterações.É possível criar uma solicitação pull para que outros usuários possam revisar e comentar suas alteraçõesde código em uma ramificação. Também é possível criar uma ou mais regras de aprovação da solicitaçãopull. Por exemplo, é possível criar uma regra de aprovação que exija que pelo menos dois outros usuáriosaprovem a solicitação pull para que possa ser mesclada. Depois que a solicitação pull for aprovada, vocêpoderá mesclar essas alterações à ramificação de destino. Se você configurar notificações para seurepositório, os usuários do repositório poderão receber e-mails sobre eventos do repositório (por exemplo,para solicitações pull ou quando alguém fizer comentários sobre o código). Para obter mais informações,consulte Configurar notificações para eventos num AWS CodeCommit repositório (p. 100).

Important

Antes de criar uma solicitação pull, você deve criar uma ramificação que contenha asalterações de código que deseja rever. Para obter mais informações, consulte Criar umaramificação (p. 258).

Como criar e colaborar em uma solicitação pull

1. No painel de navegação, escolha Pedidos de pull.2. Em Pedido de pull, escolha Criar pedido de pull.

Tip

Também pode criar pedidos de saída de Ramos e Código.

Em Criar pedido de pull, em Fonte, escolha o ramo que contém as alterações que pretende rever. EmDestino, escolha a sucursal onde pretende que o código revisto seja intercalado quando o pedido depull for fechado. Escolher Comparar.

3. Reveja os detalhes da mesclagem e as alterações para confirmar que a solicitação pull contém asalterações e confirmações que você deseja analisar. Se sim, em Título, introduza um título para estarevisão. Este é o título que aparece na lista de solicitações pull para o repositório. Em Descrição,introduza detalhes sobre o que é esta revisão e quaisquer outras informações úteis para os revisores.Escolher Criar.

Versão da API 2015-04-1365

Page 75: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Criar e colaborar num pedido de puxar

4. Sua solicitação pull aparece na lista de solicitações pull para o repositório. Você pode filtrar a exibiçãopara mostrar apenas solicitações abertas, solicitações fechadas, solicitações que você criou e muitomais.

5. Pode adicionar uma regra de aprovação ao seu pedido de pull-pull para garantir que determinadascondições são cumpridas antes de poder ser fundida. Para adicionar uma regra de aprovação àsolicitação pull, escolha a solicitação pull na lista. No Aprovações , escolha Criar regra de aprovação.

6. Em Nome da regra, dê a regra um nome descritivo. Por exemplo, se pretender que duas pessoasaprovem um pedido de pull-pull antes de poder ser combinado, pode nomear a regra Requiretwo approvals before merge. Em Número de aprovações necessárias, enter 2, o número quepretende. O padrão é 1. Escolher Enviar. Para saber mais sobre regras de aprovação e membros dogrupo de aprovações, consulte Criar uma regra de aprovação para um pedido de pull-pull (p. 166).

7. Se você tiver configurado notificações para o seu repositório e optou por notificar os usuários sobreeventos de solicitação pull, os usuários receberão e-mails sobre sua nova solicitação pull. Os usuáriospodem visualizar as alterações e comentar em linhas específicas do código, em arquivos e nasolicitação pull propriamente dita. Também podem responder a comentários com texto e emojis.Se necessário, você pode inserir as alterações na ramificação da solicitação pull, o que atualiza asolicitação pull.

Versão da API 2015-04-1366

Page 76: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Criar e colaborar num pedido de puxar

8. Se estiver satisfeito com as alterações feitas no pedido, escolha Aprovar. É possível optar por aprovaruma solicitação pull mesmo que nenhuma regra de aprovação esteja configurada para ela. Issofornece um registro claro de que você revisou a solicitação pull e sua aprovação das alterações.Também é possível optar por revogar sua aprovação se mudar de ideia.

Note

Não é possível aprovar uma solicitação pull se você a criou.9. Quando todas as alterações de código forem analisadas e aceitas apropriadamente, na solicitação

pull, siga um destes procedimentos:

• Se quiser fechar o pedido de puxar sem fundir ramos, escolha Fechar pedido de fecho.• Se quiser fundir as filiais e fechar o pedido de pull-pull, escolha Fundir. Será possível escolher entre

as estratégias de mesclagem disponíveis para seu código, que dependem das diferenças entre asramificações de origem e de destino, e a opção de excluir automaticamente a ramificação de origem

Versão da API 2015-04-1367

Page 77: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Criar e colaborar num pedido de puxar

depois que a mesclagem for concluída. Depois de ter feito as suas escolhas, escolha Dividir pedidode pull para concluir a intercalação.

• Se houver conflitos de mesclagem nas ramificações que não possam ser resolvidosautomaticamente, será possível tentar resolvê-los no console do CodeCommit ou usar o cliente localdo Git para mesclar as ramificações e enviar a mesclagem. Para obter mais informações, consulteResolver conflitos num pedido de puxar num AWS CodeCommit repositório (p. 198).

Note

Você sempre pode mesclar as ramificações manualmente, incluindo ramificações desolicitação pull, usando o comando git merge no repositório local e enviando as alteraçõespor push.

Para mais informações, consulte Trabalhar com solicitações pull (p. 161) e Trabalhar com modelos deregra de aprovação (p. 208).

Versão da API 2015-04-1368

Page 78: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 5. Limpar

Etapa 5. LimparSe já não precisar do CodeCommit repositório, deve eliminar o Repositório do CodeCommit eoutros recursos que utilizou neste exercício para que não continue a ser cobrado pelo espaço dearmazenamento.

Important

Esta ação não pode ser desfeita. Após excluir esse repositório, você não poderá mais cloná-lopara nenhum repo local ou repositório compartilhado. Também não será mais possível extrairdados do repositório ou enviar dados para ele, nem executar operações do Git de nenhum repolocal ou repositório compartilhado.Se você tiver configurado notificações para seu repositório, a exclusão do repositório tambémexclui a regra do Eventos do Amazon CloudWatch criada para o repositório. Porém, isso nãoexclui o tópico do Amazon SNS usado como destino para essa regra.Se configurar os acionadores para o seu repositório, eliminar o repositório não elimina o AmazonSNS tópicos ou Lambda funções que configurou como alvos desses activadores. Lembre-se deexcluir esses recursos se não forem necessários. Para obter mais informações, consulte Eliminaracionadores de um repositório (p. 128).

Como excluir o Repositório do CodeCommit

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório que pretende eliminar. Se você tiver seguido a convenção de

nomenclatura deste tópico, ele será chamado MyDemoRepo.3. No painel de navegação, escolha Definições.4. No Definições página, em Eliminar repositório, escolha Eliminar repositório.5. Tipo delete, e depois escolha Eliminar. O repositório será excluído permanentemente.

Etapa 6. Próximas etapasAgora que você se familiarizou com o CodeCommit e alguns dos seus recursos, considere fazer oseguinte:

• Se for novo na Git e CodeCommit ou pretende rever exemplos de utilização da Git com CodeCommit,continue para Como começar com Git e CodeCommit (p. 69) tutorial.

• Se quiser trabalhar com outras pessoas em um repositório do CodeCommit, consulte Partilhar umrepositório (p. 97). (Se você deseja compartilhar seu repositório com os usuários em outra conta daAWS, consulte Configurar o acesso entre contas cruzadas a um AWS CodeCommit repositório utilizandofunções (p. 142).)

• Para migrar um repositório para o CodeCommit, siga as etapas em Migrar para oCodeCommit (p. 274).

• Se pretender adicionar o seu repositório a um canal de entregas contínuo, siga os passos em Passagemde pipeline simples.

• Para saber mais sobre produtos e serviços que se integram ao CodeCommit, incluindo exemplos dacomunidade, consulte Integrações de produtos e serviços (p. 81).

Como começar com Git e AWS CodeCommitSe o Git e o CodeCommit forem novidade para você, este tutorial o ajudará a aprender alguns comandossimples para começar a usá-los. Se você já está familiarizado com o Git, pode pular este tutorial e ir paraConceitos básicos de CodeCommit (p. 56).

Versão da API 2015-04-1369

Page 79: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Criar uma CodeCommit repositório

Neste tutorial, você vai criar um repositório que representa uma cópia local do Repositório doCodeCommit, ao qual faremos referência como um . repo local.

Depois de criar o repo local, você fará algumas alterações nele. Em seguida, enviará (push) suasalterações ao Repositório do CodeCommit.

Você também simulará um ambiente de equipe em que dois usuários confirmam de modo independentealterações em seus repo local e fazem o push dessas alterações para o Repositório do CodeCommit. Osutilizadores, então, levantam as alterações do Repositório do CodeCommit a sua própria repo local paraver as alterações que o outro utilizador fez.

Você também criará ramificações e tags, além de gerenciar algumas permissões de acesso no Repositóriodo CodeCommit.

Depois de concluir este tutorial, você terá praticado o suficiente com os principais conceitos do Git e doCodeCommit para usá-los em seus próprios projetos.

Concluir o pré-requisitos e configuração (p. 7), incluindo:

• Atribuir permissões ao IAM utilizador.• Configurar para ligar utilizando HTTPS (p. 10), SSH, ou git-remote-codecommit (p. 14). Para mais

informações sobre estas opções, consulte Configuração do AWS CodeCommit (p. 7).• Configure o AWS CLI se você quer usar a linha de comando ou o terminal para todas as operações,

incluindo a criação do repositório.

Tópicos• Etapa 1 Criar uma CodeCommit repositório (p. 70)• Etapa 2. Criar uma repo local (p. 71)• Etapa 3 Crie o seu primeiro compromisso (p. 72)• Etapa 4. Dê o seu primeiro compromisso (p. 73)• Etapa 5. Partilhar o CodeCommit repositório e empurrar e puxar outro compromisso (p. 73)• Etapa 6. Criar e partilhar uma agência (p. 75)• Etapa 7. Criar e partilhar uma etiqueta (p. 76)• Etapa 8 Configurar permissões de acesso (p. 77)• Etapa 9 Limpar (p. 79)

Etapa 1 Criar uma CodeCommit repositórioNesta etapa, será usado o console do CodeCommit para criar o repositório.

Você pode pular esta etapa se já tiver um repositório do CodeCommit que deseja usar.

Note

Dependendo do uso, você poderá ser cobrado por criar ou acessar um repositório. Para obtermais informações, consulte Definição de preços na página de informações do produto doCodeCommit.

Para criar o Repositório do CodeCommit

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.

Versão da API 2015-04-1370

Page 80: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Criar uma repo local

2. Use o seletor da região para escolher a região da AWS onde você deseja criar o repositório. Paraobter mais informações, consulte Parâmetros de ligação de regiões e Git (p. 409).

3. No Repositórios página, escolher Criar repositório.4. No Criar repositório página, em Nome do repositório, introduza um nome para o seu repositório (por

exemplo, MyDemoRepo).

Note

Os nomes de repositório diferenciam letras maiúsculas de minúsculas e não podem ter maisde 100 caracteres. Para mais informações, consulte Limites (p. 421).

5. (Opcional) Em Descrição, introduza uma descrição (por exemplo, My demonstrationrepository). Isso pode ajudar você e outros usuários a identificar a finalidade do repositório.

6. (Opcional) Escolha Adicionar etiqueta para adicionar uma ou mais etiquetas de repositório (umaetiqueta de atributo personalizada que o ajuda a organizar e a gerir o seu AWS recursos) parao seu repositório. Para obter mais informações, consulte Repositórios de etiquetagem em AWSCodeCommit (p. 105).

7. (Opcional) Selecione Ativar Amazon CodeGuru Reviewer para Java se este repositório contivercódigo Java, e quiser CodeGuru Reviewer analisar esse código Java. CodeGuru Reviewer utilizamúltiplos modelos de aprendizagem de máquinas para encontrar defeitos de código Java e parasugerir automaticamente melhorias e correções em pedidos de pull-pull. Para obter mais informações,consulte Guia do usuário do Amazon CodeGuru Reviewer.

8. Escolher Criar.

Note

As etapas restantes neste tutorial usam MyDemoRepo como o nome do Repositório doCodeCommit. Se você escolher um nome diferente, certifique-se de usá-lo durante todo estetutorial.

Para obter mais informações sobre a criação de repositórios, incluindo como criar um repositório doterminal ou da linha de comando, consulte Criar um repositório do (p. 91).

Etapa 2. Criar uma repo localNesta etapa, você configurará um repositório local em sua máquina local para se conectar ao seurepositório. Para fazer isso, será preciso selecionar um diretório em sua máquina local que represente orepositório local. O Git será usado para clonar e inicializar uma cópia do seu Repositório do CodeCommitvazio dentro desse diretório. Em seguida, você especificará o nome de usuário e o endereço de e-mailusados para anotar suas confirmações.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos de uma região da AWS. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. Escolha na lista o repositório ao qual deseja se conectar. Escolha Clone URL (Clonar URL) e escolhao protocolo que você deseja usar ao clonar ou se conectar ao repositório. Isso copia a URL do clone.

• Copie o URL HTTPS se você estiver usando credenciais do Git com seu usuário do IAM ou oauxiliar de credenciais incluído na AWS CLI.

• Copie o URL HTTPS (GRC) se estiver usando o comando git-remote-codecommit no computadorlocal.

• Copie o URL SSH se você estiver usando um par de chaves públicas e privadas SSH com seuusuário do IAM.

Versão da API 2015-04-1371

Page 81: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Crie o seu primeiro compromisso

Note

Se você vir uma página Welcome (Bem-vindo), em vez de uma lista de repositórios, nãohaverá repositórios associados à sua conta da AWS na região da AWS onde você estáconectado. Para criar um repositório, consulte the section called “Criar um repositório do” (p. 91) ou siga as etapas no tutorial Como começar com Git e CodeCommit (p. 69).

4. No terminal ou prompt de comando, clone o repositório com o comando git clone e forneça o URLdo clone copiado na etapa anterior. O URL do clone será diferente dependendo do protocolo e daconfiguração usados. Por exemplo, se estiver a utilizar HTTPS com credenciais Git para clonar umrepositório nomeado MyDemoRepo no Leste dos EUA (Ohio) Região:

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Se você estiver usando HTTPS com git-remote-codecommit:

git clone codecommit://MyDemoRepo my-demo-repo

Se estiver usando SSH:

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Note

Se você vir um erro ao tentar clonar um repositório, talvez não tenha concluído aconfiguração necessária para o computador local. Para obter mais informações, consulteConfiguração do AWS CodeCommit (p. 7).

Etapa 3 Crie o seu primeiro compromissoNesta etapa, você criará sua primeira confirmação no repo local. Para fazer isso, será preciso criar doisarquivos de exemplo no repo local. O Git será usado para preparar e, em seguida, confirmar a alteração norepo local.

1. Use um editor de texto para criar os dois seguintes arquivos de texto de exemplo no seu diretório.Nomeie os arquivos cat.txt e dog.txt:

cat.txt-------The domestic cat (Felis catus or Felis silvestris catus) is a small, usually furry, domesticated, and carnivorous mammal.

dog.txt-------The domestic dog (Canis lupus familiaris) is a canid that is known as man's best friend.

2. Executar git config para adicionar o seu nome de utilizador e endereço de e-mail representados pelosmarcadores de posição your-user-name e your-email-address à sua repo local. Isso facilita aidentificação das confirmações realizadas:

git config --local user.name "your-user-name"

Versão da API 2015-04-1372

Page 82: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Dê o seu primeiro compromisso

git config --local user.email your-email-address

3. Execute git add para preparar a alteração:

git add cat.txt dog.txt

4. Execute git commit para confirmar a alteração:

git commit -m "Added cat.txt and dog.txt"

Tip

Para ver os detalhes da confirmação que acabou de fazer, execute git log.

Etapa 4. Dê o seu primeiro compromissoNesta etapa, você fará enviará por push a confirmação do repo local para o Repositório do CodeCommit.

Executar git push para empurrar o seu compromisso através do nome remoto predefinido Git, para o seuRepositório do CodeCommit (origin), a partir da sucursal predefinida no seu repo local (master):

git push -u origin master

Tip

Depois de ter enviado ficheiros para o seu CodeCommit repositório, pode utilizar o CodeCommitpara visualizar o conteúdo. Para obter mais informações, consulte Procurar ficheiros numrepositório (p. 154).

Etapa 5. Partilhar o CodeCommit repositório eempurrar e puxar outro compromissoNesta etapa, você compartilhará informações sobre o Repositório do CodeCommit com outro membro daequipe. O membro da equipe usará essas informações para obter uma cópia local, fará algumas alteraçõesnela e, em seguida, enviará por push a cópia local alterada para o seu Repositório do CodeCommit.Depois, você fará o pull das alterações do Repositório do CodeCommit para o seu repo local.

Neste tutorial, simula o utilizador de outro utilizador ao ter Git a criar um directório separado do que criouem passo 2 (p. 71). (Normalmente, este diretório está numa máquina diferente.) Este novo diretório éuma cópia do seu Repositório do CodeCommit. Algumas alterações feitas ao diretório existente ou a essenovo diretório são realizadas independentemente. A única maneira de identificar as alterações feitas aesses diretórios é fazendo o pull do Repositório do CodeCommit.

Apesar de estarem na mesma máquina local, chamamos o diretório existente repo local e o novo diretóriocomentário partilhado.

A partir do novo diretório, você obterá uma cópia separada do Repositório do CodeCommit. Em seguida,você adicionará um novo arquivo de exemplo, confirmará as alterações no repositório compartilhado e faráo push da confirmação do repositório compartilhado para o seu Repositório do CodeCommit.

Por fim, você fará o pull das alterações de seu repositório para seu repo local e, em seguida, navegará porele para ver as alterações confirmadas pelo outro usuário.

1. Mudar para /tmp diretório ou c:\temp diretório.

Versão da API 2015-04-1373

Page 83: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 5. Partilhar o CodeCommit repositório

e empurrar e puxar outro compromisso

2. Execute git clone para fazer o pull de uma cópia do repositório para o repositório compartilhado:

Para HTTPS:

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo

Para HTTPS com git-remote-codecommit:

git clone codecommit://MyDemoRepo shared-demo-repo

Para o SSH:

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo

Note

Quando clonar um repositório utilizando SSH nos sistemas operativos Windows, você podeprecisar de adicione a ID chave SSH à cadeia de ligação como se segue:

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Para obter mais informações, consulte Para ligações SSH no Windows (p. 40).

Neste comando, MyDemoRepo é o nome do seu Repositório do CodeCommit. shared-demo-repoé o nome do diretório que Git cria no /tmp diretório ou c:\temp diretório. Depois de Git criar odirectório, Git puxa uma cópia do seu repositório para o shared-demo-repo diretório.

3. Mudar para shared-demo-repo diretório:

(For Linux, macOS, or Unix) cd /tmp/shared-demo-repo(For Windows) cd c:\temp\shared-demo-repo

4. Executar git config para adicionar outro nome de utilizador e endereço de e-mail representados pelosmarcadores de posição other-user-name e other-email-addressIsso facilita a identificaçãodas confirmações realizadas pelo outro usuário:

git config --local user.name "other-user-name"git config --local user.email other-email-address

5. Utilize um editor de texto para criar o seguinte exemplo de ficheiro de texto no shared-demo-repodiretório. Nomeie o arquivo horse.txt:

horse.txt-------The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.

6. Execute git add para preparar a alteração no repositório compartilhado:

git add horse.txt

7. Execute git commit para confirmar a alteração no repositório compartilhado:

git commit -m "Added horse.txt"

Versão da API 2015-04-1374

Page 84: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 6. Criar e partilhar uma agência

8. Executar git push para inserir o seu compromisso inicial através do nome remoto predefinido Gitutilizado para o seu Repositório do CodeCommit (origin), a partir da sucursal predefinida no seurepo local (master):

git push -u origin master

9. Mudar para o seu repo local e executar git pull para entrar no seu repo local o compromisso da repopartilhada ao Repositório do CodeCommit. Em seguida, execute git log para ver a confirmação que foiiniciada a partir do repositório compartilhado.

Etapa 6. Criar e partilhar uma agênciaNesta etapa, você criará uma ramificação no repo local, fará algumas alterações e, em seguida, faráo push da ramificação para o Repositório do CodeCommit. Depois, fará o pull da ramificação para orepositório compartilhado do Repositório do CodeCommit.

A ramificação permite-lhe desenvolver de forma independente uma versão diferente do conteúdo dorepositório (por exemplo, para trabalhar numa nova funcionalidade de software sem afectar o trabalho dosmembros da sua equipa). Quando o recurso fica estável, você mescla a ramificação a outra mais estáveldo software.

Você usa o Git para criar a ramificação e, em seguida, apontá-la para a primeira confirmação que vocêfez. Ele também será usado para fazer o push da ramificação para o Repositório do CodeCommit. Você,então, alternará para o repositório compartilhado e usará o Git para fazer o pull da nova ramificação paraseu repo local compartilhado e explorar a ramificação.

1. Desde o seu repo local, execução git checkout, especificando o nome da sucursal (por exemplo,MyNewBranch) e a ID do primeiro compromisso que fez no repo local.

Se você não souber o ID da confirmação, execute git log para obtê-lo. Certifique-se de que aconfirmação tem seu nome de usuário e endereço de e-mail, não o nome de usuário e endereçode e-mail do outro usuário. Isto é para simular que master é uma versão estável do Repositório doCodeCommit e o MyNewBranch a agência é para algumas características novas e relativamenteinstáveis:

git checkout -b MyNewBranch commit-ID

2. Executar git push para enviar a nova sucursal do repo local para o Repositório do CodeCommit:

git push origin MyNewBranch

3. Agora, efetue o pull da ramificação para o repositório compartilhado e verifique os resultados:

1. Alterne para o diretório do repositório compartilhado (shared-demo-repo).2. Faça o pull na nova ramificação (git fetch origin).3. Confirme se o pull da ramificação foi efetuado (o git branch --all exibe uma lista de todas as

ramificações do repositório).4. Mude para a nova ramificação (git checkout MyNewBranch).5. Confirme que mudou para MyNewBranch agência executando git status ou git branch. A saída

mostra qual o ramo em que está. Neste caso, deve ser MyNewBranch.6. Visualize a lista de confirmações na ramificação (git log).

Aqui está a lista de comandos Git para chamar:

git fetch origin

Versão da API 2015-04-1375

Page 85: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 7. Criar e partilhar uma etiqueta

git branch --allgit checkout MyNewBranchgit branch or git statusgit log

4. Alterne de volta para a ramificação master e visualize a lista de confirmações. Os comandos do Gitdevem ter essa aparência:

git checkout mastergit log

5. Alterne de volta para a ramificação master em seu repo local. Pode correr git status ou git branch. Asaída mostra qual o ramo em que está. Neste caso, deve ser master. Os comandos Git devem tereste aspecto:

git checkout mastergit branch or git status

Etapa 7. Criar e partilhar uma etiquetaNesta etapa, você criará duas tags no repo local, associará as tags a confirmações e, em seguida, fará opush das tags para o Repositório do CodeCommit. Depois, fará o pull das alterações do Repositório doCodeCommit para o repositório compartilhado.

A conteúdo é utilizado para atribuir um nome legível a humanos a um compromisso (ou agência ou mesmooutra etiqueta). O faria, por exemplo, se quiser marcar um compromisso como v2.1. Um compromisso,ramo ou tag pode ter qualquer número de tags associadas a ela, mas uma etiqueta individual pode serassociada apenas a um compromisso, ramo ou etiqueta. Neste tutorial, você marcará uma confirmaçãocomo versão e outra como beta.

Utilize Git para criar as etiquetas, apontando o versão para o primeiro compromisso que fez e o betaetiqueta para o compromisso feito pelo outro utilizador. Ele também será usado para fazer o push das tagspara o Repositório do CodeCommit. Você, então, alternará para seu repositório compartilhado e usará oGit para fazer o pull das tags para seu repo local compartilhado e explorar as tags.

1. Desde o seu repo local, execução git tag, especificando o nome da nova etiqueta (versão) e a ID doprimeiro compromisso que fez no repo local.

Se você não souber o ID da confirmação, execute git log para obtê-lo. Certifique-se de que aconfirmação tem seu nome de usuário e endereço de e-mail, não o nome de usuário e endereço de e-mail do outro usuário. Isso é para simular que sua confirmação é uma versão estável do Repositóriodo CodeCommit:

git tag versão commit-ID

Executar git tag novamente para etiquetar o compromisso do outro utilizador com o beta etiqueta.Isso é para simular que a confirmação é para algum recurso novo relativamente instável:

git tag beta commit-ID

2. Execute git push --tags para enviar as tags para o Repositório do CodeCommit.3. Agora, efetue o pull das tags para o repositório compartilhado e verifique os resultados:

1. Alterne para o diretório do repositório compartilhado (shared-demo-repo).2. Faça o pull nas novas tags (git fetch origin).

Versão da API 2015-04-1376

Page 86: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 8 Configurar permissões de acesso

3. Confirme se foi efetuado o pull das tags (o comando git tag exibe uma lista das tags do repositório).4. Exiba as informações sobre cada tag (git log versão e git log beta).

Aqui está a lista de comandos Git para chamar:

git fetch origingit taggit log versãogit log beta

4. Experimente isto no repo local, também:

git log versãogit log beta

Etapa 8 Configurar permissões de acessoNesta etapa, você fornecerá a um usuário permissão para sincronizar o repositório compartilhado com oRepositório do CodeCommit. Esta etapa é opcional. É recomendado para utilizadores interessados emaprender sobre como controlar o acesso a CodeCommit repositórios.

Para o fazer, utiliza o IAM para criar uma IAM utilizador, que, por predefinição, não tem permissões parasincronizar a repo partilhada com o Repositório do CodeCommit. Você pode executar git pull para verificarisso. Se o novo usuário não tiver permissão para sincronizar, o comando não funcionará. Depois regressaao IAM consola e aplicar uma política que permita ao utilizador utilizar git pull. Mais uma vez, pode corrergit pull para verificar este.

Este passo é escrito com o pressuposto de que tem permissões para criar IAM utilizadores no seu AWSconta. Se você não tiver essas permissões, não poderá realizar os procedimentos desta etapa. Avançarpara Etapa 9 Limpar (p. 79) para limpar os recursos que utilizou para o seu tutorial.

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

Certifique-se de fazer login com o mesmo nome de usuário e senha utilizados em Configuração (p. 7).2. No painel de navegação, escolha Utilizadores, e depois escolha Criar novos utilizadores.3. No primeiro Introduzir nomes de utilizador , introduza um exemplo de nome de utilizador (por exemplo,

JaneDoe-CodeCommit). Selecione o Gerar uma chave de acesso para cada utilizador e, em seguida,escolha Criar.

4. Escolher Mostrar credenciais de segurança do utilizador. Anote a ID chave de acesso e a chave deacesso secreta ou escolha Transferir credenciais.

5. Siga as instruções em Para utilizadores HTTPS utilizando credenciais Git (p. 10) para gerar e forneceras credenciais do IAM utilizador.

Se pretender utilizar SSH, siga as instruções em SSH e Linux, macOS, or Unix: Configure as chavespúblicas e privadas para Git e CodeCommit (p. 37) ou SSH e Windows: Configure as chaves públicase privadas para Git e CodeCommit (p. 41) para configurar o utilizador com chaves públicas e privadas.

6. Executar git pull. Deve aparecer o seguinte erro:

Para HTTPS:

fatal: unable to access 'https://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403.

Para o SSH:

Versão da API 2015-04-1377

Page 87: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 8 Configurar permissões de acesso

fatal: unable to access 'ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403.

O erro aparece porque o novo usuário não tem permissão para sincronizar o repositório compartilhadocom o Repositório do CodeCommit.

7. Regressar ao IAM consola. No painel de navegação, escolha Políticas, e depois escolha Criar política.(Se um Começar aparece, escolha-o e escolha Criar política.)

8. Próximo de Crie a sua própria política, escolha Selecionar.9. No Nome da apólice , introduza um nome (por exemplo, CodeCommitAccess-GettingStarted).10. No Documento da política , introduza o seguinte, o que permite IAM utilizador para retirar de qualquer

repositório associado ao IAM utilizador:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull" ], "Resource": "*" } ]}

Tip

Se quiser IAM utilizador para poder vincular o compromisso de qualquer repositórioassociado ao IAM utilizador, introduza isto em vez disso:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull", "codecommit:GitPush" ], "Resource": "*" } ]}

Para obter mais informações sobre outras permissões para ações e recursos do CodeCommitque podem ser fornecidas aos usuários, consulte Autenticação e controle de acesso para oAWS CodeCommit (p. 309).

11. No painel de navegação, escolha Utilizadores.12. Escolha o nome de usuário de exemplo (por exemplo, JaneDoe-CodeCommit) ao qual você deseja

anexar a política.13. Escolha o Permissões separador.14. Em Políticas geridas, escolha Anexar política.15. Selecione o CodeCommitAccess-GettingStarted que acabou de criar e depois escolha Anexar

política.16. Executar git pull. Desta vez, o comando deve funcionar e um Already up-to-date mensagem

deve aparecer.

Versão da API 2015-04-1378

Page 88: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 9 Limpar

17. Se você estiver usando HTTPS, alterne para suas credenciais originais do Git ou, se estiver usandogit-remote-codecommit, seu perfil habitual. Para obter mais informações, consulte as instruções emConfiguração para utilizadores HTTPS utilizando credenciais Git (p. 10) ou Passos de configuraçãopara ligações HTTPS para AWS CodeCommit com código de controlo git-remote (p. 14).

Se você estiver usando SSH, alterne para suas chaves originais. Para mais informações, consulteSSH e Linux, macOS, or Unix: Configure as chaves públicas e privadas para Git e CodeCommit (p. 37)ou SSH e Windows: Configure as chaves públicas e privadas para Git e CodeCommit (p. 41).

Você chegou ao fim deste tutorial.

Etapa 9 LimparNesta etapa, você exclui o Repositório do CodeCommit usado neste tutorial para não continuar a sercobrado pelo espaço de armazenamento.

Você também removerá o repo local e o repositório compartilhado em sua máquina local porque eles nãoserão necessários após a exclusão do Repositório do CodeCommit.

Important

Depois de excluir esse repositório, você não poderá cloná-lo para nenhum repo local ourepositório compartilhado. Também não será possível efetuar pull de dados dele nem push dedados para ele de nenhum repo local ou repositório compartilhado. Esta ação não pode serdesfeita.

Como excluir o Repositório do CodeCommit (console)1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No Painel , na lista de repositórios, escolha MyDemoRepo.3. No painel de navegação, escolha Definições.4. No Definições página, em Eliminar repositório, escolha Eliminar repositório.5. Na caixa ao lado de Escreva o nome do repositório para confirmar a eliminação, enter MyDemoRepo, e

depois escolha Eliminar.

Para eliminar o Repositório do CodeCommit (AWS CLI)Executar o delete-repository (p. 152) comando:

aws codecommit delete-repository --repository-name MyDemoRepo

Como excluir o repo local e o repositório compartilhadoPara Linux, macOS, or Unix:

cd /tmprm -rf /tmp/my-demo-reporm -rf /tmp/shared-demo-repo

Para Windows

cd c:\temprd /s /q c:\temp\my-demo-repo

Versão da API 2015-04-1379

Page 89: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 9 Limpar

rd /s /q c:\temp\shared-demo-repo

Versão da API 2015-04-1380

Page 90: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegração com outros AWS serviços

Integrações de produtos e serviçosao AWS CodeCommit

Por predefinição, CodeCommit está integrado com um número de AWS serviços. Você também podeusar o CodeCommit com produtos e serviços externos à AWS. A seguintes informações podem ajudá-lo aconfigurar o CodeCommit para integrar com os produtos e os serviços que usa.

Note

Você pode compilar e implantar automaticamente confirmações em um repositório doCodeCommit integrando com o CodePipeline. Para saber mais, siga os passos no AWS para oGuia de Iniciação de Devops.

Tópicos• Integração com outros AWS serviços (p. 81)• Exemplos de integração da comunidade (p. 86)

Integração com outros AWS serviçosCodeCommitO AWS está integrado com os seguintes serviços da :

AWS Amplificar AWS Amplificar facilita a criação, a configuraçãoe a implementação de aplicações móveisescaláveis alimentadas por AWS. O Amplifyprovisiona e gerencia perfeitamente back-endsmóveis e oferece uma estrutura simples paraintegrar facilmente back-ends a front-ends iOS,Android, web e React Native. Além disso, oAmplify automatiza o processo de lançamento deaplicativos para front-ends e back-ends, o quepermite acelerar a entrega de recursos.

Você pode conectar seu repositório doCodeCommit no console do Amplify. Depois deautorizar a consola Amplificada, amplifique umtoken de acesso do fornecedor do repositório,mas não armazena o token no AWS servidores. OAmplify acessa seu repositório usando chaves deimplantação instaladas somente em um repositórioespecífico.

Saiba mais.

• Guia do usuário do AWS Amplify• Conceitos básicos

AWS Cloud9 AWS Cloud9O contém um conjunto de ferramentasque você usa para escrever código, compilar,executar, testar, depurar e liberar software nanuvem. Esse conjunto de ferramentas é chamado

Versão da API 2015-04-1381

Page 91: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegração com outros AWS serviços

de ambiente de desenvolvimento integrado AWSCloud9 ou IDE.

Você tem acesso ao IDE do AWS Cloud9 por meiode um navegador da web. O IDE oferece umaexperiência de edição de código completa comsuporte para várias linguagens de programação edepuradores de tempo de execução, além de umterminal integrado.

Saiba mais.

• AWS Cloud9 Guia do usuário• AWS CodeCommit Amostra para AWS Cloud9• Integrar o AWS Cloud9 ao AWS

CodeCommit (p. 22)

AWS CloudFormation AWS CloudFormation é um serviço que o ajuda amodelar e configurar o seu AWS recursos para quepossa dedicar menos tempo a gerir esses recursose mais tempo focado nas suas aplicações. Criaum modelo que descreve recursos, incluindo umCodeCommit repositório, e AWS CloudFormationcuida de aprovisionamento e configura essesrecursos para si.

Saiba mais.

• AWS CodeCommit Página de recursos dorepositório

AWS CloudTrail CloudTrail capturas AWS Chamadas API e eventosrelacionados realizados por ou em nome de umAWS conta e entrega ficheiros de registo paraAmazon S3 o que especificar. Pode configurarCloudTrail para captar chamadas API a partirdo AWS CodeCommit consola, CodeCommitcomandos do AWS CLI, o cliente Git local e a partirdo CodeCommit API.

Saiba mais.

• Iniciar sessão AWS CodeCommit Chamadas APIcom AWS CloudTrail (p. 380)

Versão da API 2015-04-1382

Page 92: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegração com outros AWS serviços

Eventos do Amazon CloudWatch Eventos do CloudWatchO AWS envia um fluxode eventos do sistema quase em tempo realque descrevem as alterações nos recursos do .Ao utilizar regras simples que pode configurarrapidamente, pode fazer corresponder eventos eencaminhá-los para uma ou mais funções ou fluxosalvo. Eventos do CloudWatch tem conhecimentodas alterações operacionais à medida queocorrem. Eventos do CloudWatch responde aestas alterações operacionais e toma medidasconforme necessário, enviando mensagens pararesponder ao ambiente, ativar funções, fazeralterações e capturar informações do estado.

Pode configurar Eventos do CloudWatch paramonitorizar CodeCommit repositórios e respondera eventos de repositório através de fluxos, funções,tarefas ou outros processos de segmentaçãoAWS serviços, tais como Amazon Simple QueueService, Amazon Kinesis, AWS Lambda, e muitomais.

Saiba mais.

• Eventos do CloudWatch Guia do usuário• AWS CodeCommit Events (Eventos) .• Publicação do blogue: Construir sem servidor

AWS CodeCommit Fluxos de trabalho utilizandoEventos do Amazon CloudWatch e jgit

AWS CodeBuild CodeBuildO é um serviço de criação totalmentegerenciado na nuvem que compila seu código-fonte, executa testes em unidades e produzartefatos prontos para implantação. Pode guardaro código fonte a ser construído e a especificaçãode construção num CodeCommit repositório. Podeusar CodeBuild diretamente com CodeCommit, oupode incorporar ambos CodeBuild e CodeCommitnum canal de entrega contínua com CodePipeline.

Saiba mais.

• Planejar uma compilação• Criar um projeto de compilação• Usar o CodePipeline com o AWS CodeBuild

para executar compilações

Versão da API 2015-04-1383

Page 93: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegração com outros AWS serviços

Amazon CodeGuru Reviewer Amazon CodeGuru ReviewerO é um serviçoautomatizado de revisão de código que usa análisede programas e machine learning para detectarproblemas comuns e recomendar correções emseu código Java. É possível associar repositóriosem sua conta da AWS ao CodeGuru Reviewer.Quando faz, CodeGuru Reviewer cria uma funçãoligada ao serviço que permite CodeGuru Reviewerpara analisar o código em todos os pedidos de pullcriados após a associação ser feita.Saiba mais.

• Associar ou desassociar um AWS CodeCommitrepositório com Amazon CodeGuruReviewer (p. 129)

• Guia do usuário do Amazon CodeGuru Reviewer

AWS CodePipeline CodePipelineO é um serviço de entrega contínuaque pode ser usado para modelar, visualizar eautomatizar as etapas necessárias para lançarseu software. Pode configurar CodePipeline parautilizar um CodeCommit repositório como umaacção de origem num pipeline e automatizandoo edifício, teste e implementação das suasalterações.

Saiba mais.

• Passagem de Pipeline Simples comCodePipeline e AWS CodeCommit

• Migrar para Eventos do Amazon CloudWatchAlterar detecção para pipelines com umCodeCommit Repositório

• Métodos de detecção de alterações utilizadospara iniciar pipelines automaticamente

Versão da API 2015-04-1384

Page 94: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIntegração com outros AWS serviços

AWS CodeStar AWS CodeStarO é um serviço baseado em nuvempara criar, gerenciar e trabalhar com projetosde desenvolvimento de software na AWS. Podedesenvolver, construir e implementar aplicaçõesrapidamente em AWS com um AWS CodeStarprojecto. Um AWS CodeStar o projecto cria eintegra os serviços AWS para a sua cadeia deferramentas de desenvolvimento do projecto,incluindo uma CodeCommit repositório para oprojeto. AWS CodeStar também atribui permissõesaos membros da equipa para esse projeto. Essaspermissões são aplicadas automaticamente,incluindo permissões para acessar o CodeCommit,criar e gerenciar credenciais Git e muito mais.

Pode configurar repositórios criados para AWSCodeStar projectos como faria CodeCommitrepositório utilizando o AWS CodeCommit consola,CodeCommit comandos do AWS CLI, o cliente Gitlocal e a partir do CodeCommit API.

Saiba mais.

• Trabalhar com repositórios (p. 90)• Trabalhar com AWS CodeStar Projetos• Trabalhar com AWS CodeStar Equipas

AWS Elastic Beanstalk Elastic Beanstalk é um serviço gerido que facilita aimplementação e a gestão de aplicações no AWScloud sem se preocupar com a infraestrutura queexecuta essas aplicações. Pode utilizar o ElasticBeanstalk interface da linha de comando (EB CLI)para implementar directamente a sua aplicação deum novo ou existente CodeCommit repositório.

Saiba mais.

• Utilizar a EB CLI com AWS CodeCommit• Uso de um repositório do AWS CodeCommit

existente• eb codesource (comando do EB CLI)

AWS Key Management Service AWS KMSO é um serviço gerenciado que facilitaa criação e o controle de chaves de criptografiausadas para criptografar seus dados. Porpredefinição, CodeCommit utilizações AWS KMSpara encriptar repositórios.

Saiba mais.

• AWS KMS e encriptação (p. 300)

Versão da API 2015-04-1385

Page 95: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioExemplos de integração da comunidade

AWS Lambda LambdaO permite que você execute códigosem provisionar ou gerenciar servidores. Podeconfigurar acionadores para CodeCommitrepositórios que invocam Lambda funções emresposta aos eventos do repositório.

Saiba mais.

• Criar um desencadeador para um Lambdafunção (p. 116)

• AWS Lambda Guia do desenvolvedor

Amazon Simple Notification Service Amazon SNS () é um serviço da Web que permiteque aplicativos, usuários finais e dispositivosenviem e recebam notificações na nuveminstantaneamente. Pode configurar acionadorespara CodeCommit repositórios que enviamAmazon SNS notificações em resposta aoseventos do repositório. Também pode utilizarAmazon SNS notificações para integrar com outrosAWS serviços. Por exemplo, pode utilizar umAmazon SNS notificação para enviar mensagenspara um Amazon Simple Queue Service fila.

Saiba mais.

• Criar um desencadeador para um Amazon SNStópico (p. 112)

• Amazon Simple Notification Service Guia dodesenvolvedor

Exemplos de integração da comunidadeAs seguintes seções fornecem links para publicações no blog, artigos e exemplos fornecidos pelacomunidade.

Note

Esses links são fornecidos apenas para fins informativos e não devem ser consideradoscomo uma lista abrangente ou como um endosso do conteúdo dos exemplos. A AWS não seresponsabiliza pelo conteúdo ou pela precisão de conteúdo externo.

Tópicos• Publicações no blog (p. 86)• Amostras de código (p. 89)

Publicações no blog• Integração do SonarQube como aprovador de solicitações pull no AWS CodeCommit

Saiba como criar um repositório do CodeCommit que exija uma análise de qualidade bem-sucedida doSonarQube antes que as solicitações pull possam ser mescladas.

Publicado em dezembro de 12, 2019

Versão da API 2015-04-1386

Page 96: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPublicações no blog

• Migração para o AWS CodeCommit, AWS CodePipeline e AWS CodeBuild do GitLab

Saiba como migrar vários repositórios para o código de codificação AWSAWS CodeCommit de gitlab econfigurar uma ficha de CI/CD utilizando AWS CodePipeline e AWS CodeBuild.

Publicado em novembro de 22, 2019• Implementar o fluxo de trabalho Utilizando AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, e

AWS CodeDeploy

Saiba como implementar o fluxo de gitflow usando AWS CodePipeline, AWS CodeCommit, AWSCodeBuild, e AWS CodeDeploy.

Publicado em fevereiro de 22, 2019• Como usar o Git com o AWS CodeCommit em várias contas da AWS

Saiba como gerir a sua configuração Git em várias AWS contas.

Publicado em fevereiro de 12, 2019• A validar AWS CodeCommit Puxe Pedidos com AWS CodeBuilde AWS Lambda

Saiba como validar pedidos de pull com AWS CodeCommit, AWS CodeBuild, e AWS Lambda. Aoexecutar testes com relação às alterações propostas antes de mesclá-las à ramificação principal, vocêpode ajudar a garantir um alto nível de qualidade nas solicitações pull, detectar possíveis problemas eaumentar a confiança do desenvolvedor quanto às alterações.

Publicado em fevereiro de 11, 2019• Utilizar Identidades Federadas com AWS CodeCommit

Saiba como acessar repositórios do AWS CodeCommit usando as identidades usadas em sua empresa.

Publicado em outubro de 5, 2018• Refinar o acesso a filiais em AWS CodeCommit

Saiba como restringir confirmações a ramificações de repositório criando e aplicando uma política doIAM que use uma chave de contexto.

Publicado em 16 de maio de 2018• Replicar AWS CodeCommit Repositórios entre regiões utilizando AWS Fargate

Saiba como configurar a replicação contínua de um CodeCommit repositório de um AWS região paraoutra utilizando uma arquitetura sem servidor.

Publicado em 11 abril de 2018• Distribuir o seu AWS OpsWorks for Chef Automate Infraestrutura

Saiba como utilizar CodePipeline, CodeCommit, CodeBuild, e AWS Lambda para garantir que os livrosde culinária e outras configurações são consistentemente implementados em dois ou mais Servidores doChef residentes em um ou mais AWS Regiões.

Publicado em 9 de março de 2018• Manteiga de amendoim e chocolate: Funções Azure CI/CD com AWS CodeCommit

Saiba como criar uma conduta de CI/CD de funções Azure com base em powershell, onde o código éarmazenado num CodeCommit repositório.

Publicado em 19 de fevereiro de 2018• Expansão contínua para Kubernetes utilizando AWS CodePipeline, AWS CodeCommit, AWS CodeBuild,

Amazon ECR, e AWS Lambda

Versão da API 2015-04-1387

Page 97: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPublicações no blog

Saiba como usar o Kubernetes e a AWS de forma conjunta para criar um pipeline de implantaçãocontínua totalmente gerenciado para aplicativos baseados em contêineres.

Publicado em janeiro 11 de 2018• Usar solicitações de extração do AWS CodeCommit para solicitar revisões de código e discutir código

Saiba como utilizar pedidos de pull-pull para rever, comentar e iterar interactivamente as alterações decódigo num CodeCommit repositório.

Publicado em 20 novembro de 2017• Construir sem servidor AWS CodeCommit Fluxos de trabalho utilizando Eventos do Amazon

CloudWatch e jgit

Saiba como criar Eventos do CloudWatch regras que processam alterações num repositório utilizandoCodeCommit eventos de repositório e acções alvo noutro AWS serviços. Os exemplos incluem AWSLambda funções que fazem com que a Git cometa políticas de mensagens em compromisso, replice aCodeCommit repositório e cópia de segurança CodeCommit repositório para Amazon S3.

Publicado em 3 de agosto de 2017• Replicar e Automatizar a Sincronização de um Repositório com AWS CodeCommit

Saiba como fazer uma cópia de segurança ou replicar um CodeCommit repositório para outro AWS ecomo efetuar cópias de segurança de repositórios alojados noutros serviços para CodeCommit.

Publicado em 17 de março de 2017• Migração para AWS CodeCommit

Saiba como enviar código por push para dois repositórios como parte da migração de outro repositórioGit para o CodeCommit usando o SourceTree.

Publicado em 6 de setembro de 2016• Configurar testes contínuos com Appium, AWS CodeCommit, Jenkins, e AWS Device Farm

Saiba como criar um processo de teste contínuo para dispositivos móveis usando o Appium, oCodeCommit, o Jenkins e o Device Farm.

Publicado em 2 de fevereiro de 2016• Uso do AWS CodeCommit com repositórios do Git em várias contas da AWS

Saiba como clonar o seu CodeCommit repositório e, num comando, configurar o assistente de credencialpara utilizar um IAM função para ligações a esse repositório.

Publicado em novembro de 2015• Integração AWS OpsWorks e AWS CodeCommit

Saiba como o AWS OpsWorks pode buscar automaticamente aplicativos e livros de receitas do Chef noCodeCommit.

Publicado em 25 de agosto de 2015• Uso do AWS CodeCommit e dos assistentes de credenciais do GitHub

Saiba como configurar seu arquivo gitconfig para trabalhar com assistentes de credenciais doCodeCommit e do GitHub.

Publicado em setembro de 2015• Uso do AWS CodeCommit no Eclipse

Versão da API 2015-04-1388

Page 98: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAmostras de código

Saiba como usar as ferramentas de EGit no Eclipse para trabalhar com o CodeCommit.

Publicado em agosto de 2015• AWS CodeCommit com Amazon EC2 Credenciais da função

Saiba como utilizar um perfil de instância para Amazon EC2 ao configurar o acesso de agenteautomatizado a um CodeCommit repositório.

Publicado em julho de 2015• Integração do AWS CodeCommit com o Jenkins

Saiba como usar o CodeCommit e o Jenkins para dar suporte a dois cenários de integração contínua(CI) simples.

Publicado em julho de 2015• Integração do AWS CodeCommit com o Review Board

Saiba como integrar CodeCommit num fluxo de trabalho de desenvolvimento utilizando o Rever oconselho sistema de revisão de código.

Publicado em julho de 2015

Amostras de códigoAs seguintes são amostras de código que podem ser do interesse CodeCommit utilizadores.

• Script do Mac OS X para excluir periodicamente credenciais armazenadas em cache na loja decertificados do OS X

Se você usa o assistente de credenciais do CodeCommit no Mac OS X, provavelmente já estáfamiliarizado com credenciais armazenadas em cache. Este script demonstra uma solução.

Author (Autor) Coetzee-árabe

Publicado em fevereiro de 2016

Versão da API 2015-04-1389

Page 99: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Trabalhar com repositórios em AWSCodeCommit

Um repositório é o objeto de controle de versão fundamental no CodeCommit. É onde você armazenacom segurança códigos e arquivos do seu projeto. Ele também armazena o histórico do projeto, desde aprimeira confirmação até as alterações mais recentes. É possível compartilhar seu repositório com outrosusuários para trabalharem com você em um projeto. Se você adicionar tags da AWS a repositórios, poderáconfigurar notificações para que usuários do repositório recebam e-mails sobre eventos (por exemplo,outro usuário comentando no código). Você também pode alterar as configurações padrão do repositório,consultar seus conteúdos e mais. É possível criar triggers para o repositório de forma que pushes decódigo ou outros eventos acionem ações, como e-mails ou funções de código. Você pode, inclusive,configurar um repositório no seu computador local (um repositório local) para enviar suas alterações porpush para mais de um repositório.

Antes de poder empurrar alterações para CodeCommit repositório, tem de configurar o seu IAMutilizador na sua AWS conta. Para obter mais informações, consulte Etapa 1 Configuração inicial paraCodeCommit (p. 10).

Para obter informações sobre como trabalhar com outros aspetos do seu repositório em CodeCommit,consulte Trabalhar com ficheiros (p. 153), Trabalhar com solicitações pull (p. 161) , Trabalharcom empenho (p. 222), Trabalhar com ramificações (p. 257), e Trabalhar com preferências doutilizador (p. 273). Para obter informações sobre a migração para o CodeCommit, consulte Migrar para oCodeCommit (p. 274).

Tópicos• Criar um AWS CodeCommit repositório (p. 91)• Ligar a um AWS CodeCommit repositório (p. 94)• Partilhar uma AWS CodeCommit repositório (p. 97)• Configurar notificações para eventos num AWS CodeCommit repositório (p. 100)

Versão da API 2015-04-1390

Page 100: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um repositório do

• Repositórios de etiquetagem em AWS CodeCommit (p. 105)• Gerir acionadores para um AWS CodeCommit repositório (p. 110)• Associar ou desassociar um AWS CodeCommit repositório com Amazon CodeGuru

Reviewer (p. 129)• Ver CodeCommit detalhes do repositório (p. 132)• Alterar AWS CodeCommit definições do repositório (p. 136)• Sincronizar alterações entre um repo local e um AWS CodeCommit repositório (p. 139)• Comprometer o compromisso de um repositório Git adicional (p. 139)• Configurar o acesso entre contas cruzadas a um AWS CodeCommit repositório utilizando

funções (p. 142)• Eliminar um AWS CodeCommit repositório (p. 151)

Criar um AWS CodeCommit repositórioUtilize o AWS CodeCommit consola ou AWS Command Line Interface (AWS CLI) para criar um vazioRepositório do CodeCommit. Para adicionar tags a um repositório depois de criá-lo, consulte Adicionaruma tag a um repositório (p. 106).

Estas instruções supõem que você tenha concluído as etapas em Configuração (p. 7).

Note

Dependendo do uso, você poderá ser cobrado por criar ou acessar um repositório. Para obtermais informações, consulte Definição de preços na página de informações do produto doCodeCommit.

Tópicos• Criar um repositório (consola) (p. 91)• Criar um repositório do AWS CLI) (p. 92)

Criar um repositório (consola)Para criar uma () Repositório do CodeCommit

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor da região, escolha a região da AWS onde você deseja criar o repositório. Para obter mais

informações, consulte Parâmetros de ligação de regiões e Git (p. 409).3. No Repositórios página, escolher Criar repositório.4. No Criar repositório página, em Nome do repositório, introduza um nome para o repositório.

Note

Os nomes de repositórios diferenciam maiúsculas de minúsculas. O nome deve ser único noAWS Região para o seu AWS conta.

5. (Opcional) Em Descrição, introduza uma descrição para o repositório. Isso pode ajudar você e outrosusuários a identificar a finalidade do repositório.

Note

O campo de descrição mostra Markdown no console e aceita todos os caracteres HTML etodos os caracteres válidos de Unicode. Se você for um desenvolvedor de aplicativos que

Versão da API 2015-04-1391

Page 101: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um repositório do AWS CLI)

está usando as APIs GetRepository ou BatchGetRepositories e pretender exibir ocampo de descrição do repositório em um navegador web, consulte a Referência de API doCodeCommit.

6. (Opcional) Escolha Adicionar etiqueta para adicionar uma ou mais etiquetas de repositório (umaetiqueta de atributo personalizada que o ajuda a organizar e a gerir o seu AWS recursos) parao seu repositório. Para obter mais informações, consulte Repositórios de etiquetagem em AWSCodeCommit (p. 105).

7. (Opcional) Selecione Ativar Amazon CodeGuru Reviewer para Java se este repositório conters CódigoJava e pretende CodeGuru Reviewer para analisar it. CodeGuru Reviewer utiliza vários modelosde aprendizagem de máquinas para encontrar defeitos de código Java e para sugerir melhorias ecorreções nos pedidos de pull-pull. Para obter mais informações, consulte Guia do usuário do AmazonCodeGuru Reviewer.

8. Escolher Criar.

Depois de criar um repositório, pode ligar-se ao mesmo e começar a adicionar código através doCodeCommit a consola ou um cliente Git local, ou integrando o seu CodeCommit com o seu IDE favorito.Para obter mais informações, consulte Configuração do AWS CodeCommit (p. 7). Você também podeadicionar seu repositório a um pipeline de entrega contínua. Para mais informações, consulte Passagemde pipeline simples.

Para obter mais informações sobre o novo Repositório do CodeCommit, como as URLs a serem usadas aoclonar o repositório, escolha o nome do repositório na lista, ou escolha apenas o protocolo de conexão quedeseja usar próximo ao nome do repositório.

Para compartilhar o repositório com outros, envie o link HTTPS ou SSH a ser usado para clonar orepositório. Verifique se eles têm as permissões necessárias para acessar o repositório. Para maisinformações, consulte Partilhar um repositório (p. 97) e Autenticação e controle de acesso para o AWSCodeCommit (p. 309).

Criar um repositório do AWS CLI)Pode utilizar o AWS CLI para criar uma CodeCommit repositório. Ao contrário do console, você podeadicionar tags a um repositório se criá-lo usando a AWS CLI.

1. Certifique-se de que configurou o AWS CLI com o AWS Região onde o repositório existe. Paraverificar a região, execute o seguinte comando na linha de comando ou no terminal e revise asinformações referentes ao nome da região padrão:

aws configure

O nome da região padrão deve corresponder à região da AWS do repositório no CodeCommit. Paraobter mais informações, consulte Parâmetros de ligação de regiões e Git (p. 409).

2. Execute o comando create-repository, especificando:

• Um nome que identifica exclusivamente o Repositório do CodeCommit (com o --repository-name opção).

Note

Este nome tem de ser único num AWS conta.• Um comentário opcional sobre o Repositório do CodeCommit (com o --repository-description opção).

• Um par ou pares de valor chave opcional para utilizar como tags para o CodeCommit repositório(com o --tags opção).

Versão da API 2015-04-1392

Page 102: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um repositório do AWS CLI)

Por exemplo, para criar uma Repositório do CodeCommit nomeado MyDemoRepo com a descrição"My demonstration repository" e uma etiqueta com uma chave nomeada Team com o valor deSaanvi, utilize este comando.

aws codecommit create-repository --repository-name MyDemoRepo --repository-description "My demonstration repository" --tags Team=Saanvi

Note

O campo de descrição mostra Markdown no console e aceita todos os caracteres HTML etodos os caracteres válidos de Unicode. Se você for um desenvolvedor de aplicativos queestá usando as APIs GetRepository ou BatchGetRepositories e pretender exibir ocampo de descrição do repositório em um navegador web, consulte a Referência de API doCodeCommit.

3. Se houver êxito, o comando gerará como saída um objeto repositoryMetadata com as seguintesinformações:

• A descriçãorepositoryDescription).• O ID exclusivo gerado pelo sistema (repositoryId).• O nome (repositoryName).• O ID da conta da AWS associada ao Repositório do CodeCommit (accountId).

Veja a seguir um exemplo de saída com base no comando do exemplo anterior.

{ "repositoryMetadata": { "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1446071622.494, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "creationDate": 1446071622.494, "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "accountId": "111111111111" }}

Note

As tags que foram adicionadas quando o repositório foi criado não são retornadas nasaída. Para ver uma lista de tags associadas a um repositório, execute o list-tags-for-resource (p. 107) comando.

4. Anote o nome e o ID do Repositório do CodeCommit. Eles são necessários para monitorar e alterarinformações sobre o Repositório do CodeCommit, principalmente se você usa o AWS CLI.

Se você esquecer o nome ou o ID, siga as instruções em Ver CodeCommit detalhes do repositório(AWS CLI) (p. 133).

Depois de criar um repositório, é possível conectar-se a ele e começar a adicionar código. Para obter maisinformações, consulte Conexão a um repositório (p. 94). Você também pode adicionar seu repositório aum pipeline de entrega contínua. Para mais informações, consulte Passagem de pipeline simples.

Versão da API 2015-04-1393

Page 103: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioConexão a um repositório

Ligar a um AWS CodeCommit repositórioQuando você se conecta a um repositório do CodeCommit pela primeira vez, geralmente clonaos conteúdos para a sua máquina local. Também pode adicionar ficheiros (p. 155) e editarficheiros (p. 158) num repositório directamente a partir do CodeCommit consola. Ou se você já temum repositório local, pode adicionar um repositório do CodeCommit como remoto. Este tópico forneceinstruções para você se conectar a um Repositório do CodeCommit. Se quiser migrar um repositórioexistente para o CodeCommit, consulte Migrar para o CodeCommit (p. 274).

Note

Dependendo do uso, você poderá ser cobrado por criar ou acessar um repositório. Para obtermais informações, consulte Definição de preços na página de informações do produto doCodeCommit.

Tópicos• Pré-requisitos para ligar a um CodeCommit repositório (p. 94)• Ligar ao CodeCommit repositório clonando o repositório (p. 95)• Ligue uma repo local ao CodeCommit repositório (p. 96)

Pré-requisitos para ligar a um CodeCommit repositórioAntes de poder clonar um repositório do CodeCommit ou conectar um repositório local a um Repositório doCodeCommit:

• Você deve ter configurado o seu computador local com o software e as configurações necessárias parase conectar ao CodeCommit. Isso inclui instalar e configurar o Git. Para mais informações, consulteConfiguração (p. 7) e Como começar com Git e AWS CodeCommit (p. 69).

• Você deve ter o URL clone do Repositório do CodeCommit ao qual deseja se conectar. Para obter maisinformações, consulte Ver detalhes do repositório (p. 132).

Se ainda não criou um Repositório do CodeCommit, siga as instruções em Criar um repositório do (p. 91), copie o URL clone do Repositório do CodeCommit, e regressar a esta página.

Se você tem um Repositório do CodeCommit, mas não sabe o nome dele, siga as instruções em Verdetalhes do repositório (p. 132).

• Você deve ter um lugar na sua máquina local para armazenar uma cópia do Repositório do CodeCommitao qual você se conectará. (Esta cópia local do Repositório do CodeCommit é conhecido como umrepo local.) Em seguida, mude para e execute os comandos Git a partir desse local. Por exemplo, podeusar /tmp (para Linux, macOS, or Unix) ou c:\temp (para Windows) se estiver a efectuar um clonetemporário para fins de teste. Este é o caminho de diretório usado nesses exemplos.

Note

Você pode usar o diretório que desejar. Se você estiver clonando um repositório para uso emlongo período, considere criar o clone de um diretório em funcionamento e não de um usadopara arquivos temporários. Se estiver a utilizar um diretório diferente de /tmp ou c:\temp,certifique-se de que substitui esse diretório para os nossos quando seguir estas instruções.

Versão da API 2015-04-1394

Page 104: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioLigar ao CodeCommit repositório clonando o repositório

Ligar ao CodeCommit repositório clonando orepositórioSe você não possui um repositório local, siga as etapas neste procedimento para clonar o repositório doCodeCommit para sua máquina local.

1. Conclua os pré-requisitos, incluindo Configuração (p. 7).

Important

Se você não tiver concluído a configuração, não poderá se conectar ou clonar o repositório.2. Desde o /tmp diretório ou c:\temp diretório, utilize Git para executar o clone comando. Os exemplos

seguintes mostram como clonar um repositório nomeado MyDemoRepo no Leste dos EUA (Ohio)Região.

Para HTTPS utilizando Credenciais de Git (p. 10) ou o auxiliar de credencial incluído com o AWS CLI:

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Para HTTPS utilizando git-remote-codecommit (p. 14), assumindo o perfil predefinido e AWS Regiãoconfigurada no AWS CLI:

git clone codecommit://MyDemoRepo my-demo-repo

Para o SSH:

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Neste exemplo, git-codecommit.us-east-2.amazonaws.com é o ponto de ligação Git paraLeste dos EUA (Ohio) Região onde o repositório existe, MyDemoRepo representa o nome do seuRepositório do CodeCommit, e my-demo-repo representa o nome do diretório que Git cria no /tmpdiretório ou c:\temp diretório. Para obter mais informações sobre as regiões da AWS que oferecemsuporte ao CodeCommit e as conexões do Git para essas regiões da AWS, consulte Parâmetros deligação de regiões e Git (p. 409).

Note

Ao usar SSH em sistemas operacionais Windows para clonar um repositório, talvez vocêprecise adicionar o ID da chave SSH à string de conexão da seguinte forma:

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Para mais informações, consulte Para ligações SSH no Windows (p. 40) e Solução deproblemas (p. 388).

Depois que o Git cria o diretório, ele envia uma cópia do seu Repositório do CodeCommit para odiretório recém-criado.

Se o repositório do CodeCommit for novo ou estiver vazio, uma mensagem avisará que você estáclonando um repositório vazio. Isso é esperado.

Versão da API 2015-04-1395

Page 105: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioLigue uma repo local ao CodeCommit repositório

Note

Se receber um erro, o Git não consegue encontrar o Repositório do CodeCommit ou que nãotem permissão para ligar ao Repositório do CodeCommit, certifique-se de que concluiu o pré-requisitos (p. 7), incluindo atribuição de permissões para IAM utilizador e configurar o seuIAM credenciais de utilizador para Git e CodeCommit na máquina local. Além disso, confirmese você especificou o nome correto do repositório.

Depois de ligar o seu repo local ao seu Repositório do CodeCommit, está agora pronto para começara executar comandos Git do repo local para criar compromissos, ramos e tags e empurrar e puxar doRepositório do CodeCommit.

Ligue uma repo local ao CodeCommit repositórioConclua as etapas a seguir se você já tiver um repositório local e quiser adicionar um repositório doCodeCommit como remoto. Se você já tem um repositório remoto e deseja enviar suas confirmações porpush para o CodeCommit e esse outro repositório remoto, siga as etapas em Empurrar o compromissopara dois repositórios (p. 139).

1. Concluir o pré-requisitos (p. 94).2. A partir do comando ou terminal de comandos, mude para o seu directório de recompra local e

execute o git remote add comando para adicionar CodeCommit repositório como repositório remotopara a sua repo local.

Por exemplo, o comando a seguir adiciona o origin com apelido remoto para https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo:

Para HTTPS:

git remote add origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Para o SSH:

git remote add origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Esse comando não retorna nada.3. Para confirmar que adicionou o CodeCommit repositório como remoto para a sua repo local, executar

o git remote -v comando , que deve criar produção semelhante ao seguinte:

Para HTTPS:

origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Para o SSH:

origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Versão da API 2015-04-1396

Page 106: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPartilhar um repositório

Depois de ligar o seu repo local ao seu Repositório do CodeCommit, está pronto para começar aexecutar comandos Git do repo local para criar compromissos, ramos e tags, e para empurrar e puxar doRepositório do CodeCommit.

Partilhar uma AWS CodeCommit repositórioDepois de criar um Repositório do CodeCommit, você poderá compartilhá-lo com outros usuários.Primeiro, decida qual protocolo (HTTPS ou SSH) recomendar aos usuários ao clonar e usar um cliente doGit ou um IDE para conectar ao seu repositório. Em seguida, envie o URL e as informações de conexãopara os usuários com quem deseja compartilhar o repositório. Dependendo dos seus requisitos desegurança, a partilha de um repositório também pode exigir a criação de um IAM grupo, aplicar políticasgeridas a esse grupo e editar IAM políticas para refinar o acesso.

Note

Depois de conceder aos usuários acesso ao console do repositório, eles poderão adicionarou editar arquivos diretamente no console sem a necessidade de configurar um cliente Gitou outra conexão. Para mais informações, consulte Criar ou adicionar um ficheiro a um AWSCodeCommit repositório (p. 155) e Editar o conteúdo de um ficheiro num AWS CodeCommitrepositório (p. 157).

Essas instruções foram escritas presumindo que você já tenha concluído as etapas em Configuração (p. 7) e Criar um repositório do (p. 91).

Note

Dependendo do uso, você poderá ser cobrado por criar ou acessar um repositório. Para obtermais informações, consulte Definição de preços na página de informações do produto doCodeCommit.

Tópicos• Escolha o protocolo de ligação para partilhar com os seus utilizadores (p. 97)• Criar IAM políticas para o seu repositório (p. 98)• Criar um IAM grupo para utilizadores de repositório (p. 99)• Partilhe as informações de ligação com os seus utilizadores (p. 100)

Escolha o protocolo de ligação para partilhar com osseus utilizadoresQuando você cria um repositório no CodeCommit, são gerados dois endpoints: um para conexões HTTPSe outro para conexões SSH. Ambos fornecem conexões seguras em uma rede. Os usuários podem usarum dos dois protocolos. Ambos os endpoints se mantêm ativos, independentemente do protocolo que vocêrecomenda aos usuários.

As conexões HTTPS exigem:

• As credenciais do Git, que os usuários do IAM podem gerar para si próprios no IAM. As credenciais doGit são o método mais fácil para os usuários do repositório configurarem e usarem.

• Uma chave de acesso da AWS ou uma função a ser assumida que os usuários do repositório devemconfigurar em seu perfil de credencial. É possível configurar git-remote-codecommit (recomendado) ouo assistente de credencial incluído na AWS CLI. Esses são os únicos métodos disponíveis para a contaraiz ou usuários federados.

Versão da API 2015-04-1397

Page 107: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar IAM políticas para o seu repositório

Conexões SSH exigem que seus usuários:

• Gerem um par de chaves pública e privada.• Armazenem a chave pública.• Associar a chave pública ao seu IAM utilizador.• Configurem seu arquivo de hosts conhecidos no computador local.• Criem e mantenham um arquivo de configuração nos computadores locais.

Por ser um processo de configuração mais complexo, recomendamos que você opte pelo HTTPS e pelascredenciais do Git para as conexões com o CodeCommit.

Para mais informações sobre HTTPS, SSH, Git, git-remote-codecommit, e repositórios remotos, consulteConfiguração (p. 7), A ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301), ouconsulte a sua documentação de Git. Para uma visão geral dos protocolos de comunicação e como cadauma comunica com repositórios remotos, consulte Git no Servidor - Os Protocolos.

Note

Embora o Git seja compatível com uma variedade de protocolos de conexão, o CodeCommit nãoé compatível com protocolos inseguros, como o protocolo local ou HTTP genérico.

Criar IAM políticas para o seu repositórioAWS fornece três políticas geridas em IAM para CodeCommit. Estas políticas não podem ser editadase aplicam-se a todos os repositórios associados ao seu AWS conta. No entanto, é possível usá-lascomo modelos para criar suas próprias políticas gerenciadas personalizadas que se aplicam somente aorepositório que deseja compartilhar. A política gerenciada pelo cliente pode ser aplicada especificamenteao repositório que você deseja compartilhar. Para mais informações, consulte Políticas geridas e IAMUtilizadores e grupos.

Tip

Para um controlo mais fino sobre o acesso ao seu repositório, pode criar mais do que uma políticagerida pelo cliente e aplicar as políticas a diferentes IAM utilizadores e grupos.

Para obter informações sobre como analisar o conteúdo de políticas gerenciadas e como usarpolíticas para criar e aplicar permissões, consulte Autenticação e controle de acesso para o AWSCodeCommit (p. 309).

Criação de uma política gerenciada por cliente para seu repositório

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No Painel área de navegação, escolher Políticas, e depois escolha Criar política.3. No Criar política página, escolha Importar política gerida.4. No Importar políticas geridas página, em Filtrar políticas, enter AWSCodeCommitPowerUser. Escolha

o botão junto ao nome da apólice e escolha Importar.5. No Criar política página, escolher JSON. Substitua a parte "*" do Resource linha para CodeCommit

acções com o Nome do Recurso Amazon (ARN) do CodeCommit repositório, como mostrado aqui:

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]

Versão da API 2015-04-1398

Page 108: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um IAM grupo para utilizadores de repositório

Tip

Para encontrar o ARN para o CodeCommit repositório, vá para CodeCommit e escolhao nome do repositório na lista. Para obter mais informações, consulte Ver detalhes dorepositório (p. 132).

Se você quiser que essa política seja aplicada a mais de um repositório, adicione cada um como umrecurso especificando o ARN dele. Inclua uma vírgula entre cada instrução de recurso, conformemostrado aqui:

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

Quando terminar a edição, escolha Rever a política.6. No Política de revisão página, em Nome, introduza um novo nome para a política (por exemplo,

AWSCodeCommitPowerUser-MyDemoRepo). Opcionalmente, forneça uma descrição para estapolítica.

7. Escolher Criar política.

Criar um IAM grupo para utilizadores de repositórioPara gerir o acesso ao seu repositório, crie um IAM grupo para os seus utilizadores, adicionar IAMutilizadores desse grupo e, em seguida, anexe a política gerida pelo cliente que criou no passo anterior.

Se utilizar SSH, tem de anexar outra política gerida ao IAMUserSSHKeys grupo, o IAM política gerida quepermite aos utilizadores carregar a sua chave pública SSH e associá-la com o IAM utilizador que utilizampara estabelecer ligação CodeCommit.

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No Painel área de navegação, escolher Grupos, e depois escolha Criar novo grupo.3. No Definir nome do grupo página, em Nome do grupo, introduza um nome para o grupo (por exemplo,

MyDemoRepoGroup) e, em seguida, escolha Passo seguinte. Considere incluir o nome do repositóriocomo parte do nome do grupo.

Note

Este nome tem de ser único num AWS conta.4. Selecione a caixa ao lado da política gerenciada pelo cliente criada na seção anterior (por exemplo,

AWSCodeCommitPowerUser-MyDemoRepo).5. No Revisão página, escolher Criar grupo. IAM cria este grupo com as políticas especificadas já

anexadas. O grupo aparece na lista de grupos associados à sua AWS conta.6. Escolha seu grupo na lista.7. Na página de resumo do grupo, escolha o Utilizadores e, em seguida, escolha Adicionar utilizadores

ao grupo. Na lista que mostra todos os utilizadores associados ao seu AWS , selecione as caixasjunto aos utilizadores aos quais pretende permitir o acesso ao CodeCommit repositório e, em seguida,escolha Adicionar utilizadores.

Tip

Você pode usar a caixa Pesquisar para encontrar rapidamente usuários por nome.8. Quando tiver adicionado os seus utilizadores, feche o IAM consola.

Versão da API 2015-04-1399

Page 109: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPartilhe as informações de ligação com os seus utilizadores

Partilhe as informações de ligação com os seusutilizadores1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos para um AWS Região. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. No Repositórios , escolha o repositório que pretende partilhar.4. Em URL do clone, escolha o protocolo que pretende que os seus utilizadores utilizem. Isso copia a

URL clonada para o protocolo de conexão.5. Envie aos usuários a URL clonada juntamente com todas as outras instruções, como instalação da

AWS CLI, configuração de um perfil ou instalação do Git. Não se esqueça de incluir as informações deconfiguração para o protocolo de conexão (por exemplo, HTTPS).

O seguinte exemplo de e-mail fornece informações para os utilizadores que se conectam ao MyDemoRepocom o protocolo de ligação HTTPS e as credenciais Git no Leste dos EUA (Ohio) (us-east-2) Região. Estee-mail foi escrito presumindo que o usuário já instalou o Git e está familiarizado com o seu uso.

I've created a CodeCommit repository for us to use while working on our project. The name of the repository is MyDemoRepo, andit is in the Leste dos EUA (Ohio) (us-east-2) region. Here's what you need to do in order to get started using it:

1. Make sure that your version of Git on your local computer is 1.7.9 or later.2. Generate Git credentials for your IAM user by signing into the IAM console here: https://console.aws.amazon.com/iam/. Switch to the Security credentials tab for your IAM user and choose the Generate button in HTTPS Git credentials for CodeCommit. Make sure to save your credentials in a secure location!3. Switch to a directory of your choice and clone the CodeCommit repository to your local machine by running the following command: git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo4. When prompted for user name and password, use the Git credentials you just saved. That's it! If you'd like to learn more about using CodeCommit, you can start with the tutorial here (p. 72).

Pode encontrar instruções completas de configuração em Configuração (p. 7).

Configurar notificações para eventos num AWSCodeCommit repositório

É possível configurar regras de notificação para um repositório para que os usuários do repositóriorecebam e-mails sobre os tipos de evento de repositório especificados. As notificações são enviadasquando os eventos correspondem às configurações da regra de notificação. Pode criar um AmazonSNS o tópico para utilizar para notificações ou utilizar um existente no seu AWS conta. Pode utilizar oCodeCommit e a AWS CLI para configurar regras de notificação.

Versão da API 2015-04-13100

Page 110: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioConfigurar notificações para eventos de repositório

Tópicos• Utilizar regras de notificação do repositório (p. 102)• Create a notification rule (p. 102)

Versão da API 2015-04-13101

Page 111: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioUtilizar regras de notificação do repositório

• Alterar ou desativar notificações (p. 104)• Eliminar notificações (p. 105)

Utilizar regras de notificação do repositórioConfigurar regras de notificação ajuda os usuários do repositório ao enviar e-mails quando alguém realizauma ação que afeta outro usuário. Por exemplo, é possível configurar uma regra de notificação para enviarnotificações quando são feitos comentários em confirmações. Nessa configuração, quando um usuário dorepositório comenta em uma linha de código em uma confirmação, outros usuários do repositório recebemum e-mail. Eles podem fazer login e visualizar o comentário. Respostas a comentários também geram e-mails, assim usuários do repositório se mantêm informados.

As regras de notificação são diferentes dos gatilhos do repositório e também são diferentes dasnotificações que você poderia configurar no console do CodeCommit antes de 5 de novembro de 2019.

• Embora você possa configurar um gatilho para usar o Amazon SNS a fim de enviar e-mails sobrealguns eventos de repositório, esses eventos estão limitados a eventos operacionais, como criação deramificações e envio de código para uma ramificação. Acionadores não usam regras do Eventos doCloudWatch para avaliar os eventos do repositório. Eles são mais limitados em escopo. Para obter maisinformações sobre o uso de triggers, consulte Gerenciar triggers para um repositório (p. 110).

• As notificações configuradas antes de 5 de novembro de 2019 tinham menos tipos de eventosdisponíveis e não podiam ser configuradas para integração às salas de chat do Amazon Chime ou aoscanais do Slack. Você pode continuar a usar notificações configuradas antes de 5 de novembro de2019, mas não é possível criar notificações desse tipo. Em vez disso, crie e use regras de notificação.Recomendamos usar regras de notificação e desativar ou excluir notificações criadas antes de 5 denovembro de 2019. Para mais informações, consulte Create a notification rule (p. 102) e Eliminarnotificações (p. 105).

Create a notification ruleYou can use notification rules to notify users of important changes, such as when a pull request is createdin a repository. Notification rules specify both the events and the Amazon SNS topic that is used to sendnotifications. For more information, see What are notifications?

You can use the console or the AWS CLI to create notification rules for AWS CodeCommit.

To create a notification rule (console)

1. Sign in to the AWS Management Console and open the CodeCommit console at https://console.aws.amazon.com/codecommit/.

2. Choose Repositories, and then choose a repository where you want to add notification rules.3. On the repository page, choose Notify, and then choose Create notification rule. You can also go to the

Settings page for the repository and choose Create notification rule.4. In Notification name, enter a name for the rule.5. In Detail type, choose Basic if you want only the information provided to Amazon EventBridge included

in the notification. Choose Full if you want to include information provided to Amazon EventBridge andinformation that might be supplied by the CodeCommit or the notification manager.

For more information, see Understanding Notification Contents and Security.6. In Events that trigger notifications, select the events for which you want to send notifications. For more

information, see Events for Notification Rules on Repositories.7. In Targets, do one of the following:

Versão da API 2015-04-13102

Page 112: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCreate a notification rule

• If you have already configured a resource to use with notifications, in Choose target type, chooseeither AWS Chatbot (Slack) or SNS topic. In Choose target, choose the name of the client (for aSlack client configured in AWS Chatbot) or the Amazon Resource Name (ARN) of the Amazon SNStopic (for Amazon SNS topics already configured with the policy required for notifications).

• If you have not configured a resource to use with notifications, choose Create target, and thenchoose SNS topic. Provide a name for the topic after codestar-notifications-, and then chooseCreate.

Note

• If you create the Amazon SNS topic as part of creating the notification rule, the policy thatallows the notifications feature to publish events to the topic is applied for you. Using a topiccreated for notification rules helps ensure that you subscribe only those users that you wantto receive notifications about this resource.

• You cannot create an AWS Chatbot client as part of creating a notification rule. If youchoose AWS Chatbot (Slack), you will see a button directing you to configure a client inAWS Chatbot. Choosing that option opens the AWS Chatbot console. For more information,see Configure Integrations Between Notifications and AWS Chatbot.

• If you want to use an existing Amazon SNS topic as a target, you must add the requiredpolicy for AWS CodeStar Notifications in addition to any other policies that might exist forthat topic. For more information, see Configure Amazon SNS Topics for Notifications andUnderstanding Notification Contents and Security.

8. To finish creating the rule, choose Submit.9. You must subscribe users to the Amazon SNS topic for the rule before they can receive notifications.

For more information, see Subscribe Users to Amazon SNS Topics That Are Targets. You can alsoset up integration between notifications and AWS Chatbot to send notifications to Amazon Chimechatrooms. For more information, see Configure Integration Between Notifications and AWS Chatbot.

To create a notification rule (AWS CLI)

1. At a terminal or command prompt, run the create-notification rule command to generate the JSONskeleton:

aws codestar-notifications create-notification-rule --generate-cli-skeleton > rule.json

You can name the file anything you want. In this example, the file is named rule.json.2. Open the JSON file in a plain-text editor and edit it to include the resource, event types, and target you

want for the rule. The following example shows a notification rule named MyNotificationRule for arepository named MyDemoRepo in an AWS acccount with the ID 123456789012. Notifications with thefull detail type are sent to an Amazon SNS topic named MyNotificationTopic when branches andtags are created:

{ "Name": "MyNotificationRule", "EventTypeIds": [ "codecommit-repository-branches-and-tags-created" ], "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo", "Targets": [ { "TargetType": "SNS", "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic" } ],

Versão da API 2015-04-13103

Page 113: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAlterar ou desativar notificações

"Status": "ENABLED", "DetailType": "FULL"}

Save the file.3. Using the file you just edited, at the terminal or command line, run the create-notification-rule command

again to create the notification rule:

aws codestar-notifications create-notification-rule --cli-input-json file://rule.json

4. If successful, the command returns the ARN of the notification rule, similar to the following:

{ "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"}

Alterar ou desativar notificaçõesPode utilizar o AWS CodeCommit consola para alterar a forma como as notificações criadas antes de 5 denovembro de 2019 estão configuradas, incluindo os tipos de evento que enviam e-mails aos utilizadores ea Amazon SNS tópico utilizado para enviar e-mails sobre o repositório. Também é possível usar o consoledo CodeCommit para gerenciar a lista de endereços de e-mail e endpoints inscritos no tópico ou paradesativar notificações.

Para alterar configurações de notificação

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende configurar as notificações criadas

antes de 5 de novembro de 2019.3. No painel de navegação, escolha Definições, e depois escolha Notificações. Se vir um banner a

informar que tem notificações em vez de regras de notificação, escolha Gerir notificações existentes.4. Escolher Editar.5. Faça as suas alterações e escolha Guardar.

Desativar notificações é uma maneira fácil de impedir temporariamente que os usuários recebam e-mailssobre eventos de repositório.

Para excluir permanentemente uma notificação criada antes de 5 de novembro de 2019, siga as etapas emEliminar notificações (p. 105).

Como desativar notificações

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende desativar as notificações.3. No painel de navegação, escolha Definições, e depois escolha Notificações. Escolher Gerir

notificações existentes.4. Escolher Editar, e em Estado do evento, utilize o cursor para desligar Ativar notificações. Escolher

Guardar.5. O estado do evento muda para Desativado. Nenhum e-mail sobre eventos é enviado. Quando

você desabilita notificações, a regra do Eventos do CloudWatch para o repositório é desabilitadaautomaticamente. Não altere manualmente o seu estado no Eventos do CloudWatch consola.

Versão da API 2015-04-13104

Page 114: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEliminar notificações

Eliminar notificaçõesSe não quiser mais usar notificações criadas para um repositório antes de 5 de novembro de 2019,você poderá excluir a regra do Eventos do Amazon CloudWatch associada à notificação. Isso excluiráautomaticamente a notificação. Ela não exclui todas as assinaturas ou o tópico do Amazon SNS usadopara notificações.

Note

Se você alterar o nome de um repositório no console, as notificações criadas antes de 5 denovembro de 2019 continuarão a funcionar sem modificação. No entanto, se você alterar o nomedo seu repositório a partir da linha de comando ou usando a API, as notificações deixarão defuncionar. A maneira mais fácil de restaurar notificações é excluir as configurações de notificaçãoe depois voltar a defini-las.

Para excluir configurações de notificação

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende remover as notificações criadas antes

de 5 de novembro de 2019.3. No painel de navegação, escolha Definições, e depois escolha Notificações. Se vir um banner a

informar que tem notificações em vez de regras de notificação, escolha Gerir notificações existentes.4. Em regra do evento cloudwatch, copie o nome da regra que foi criada para a notificação.5. Faça login no Console de gerenciamento da AWS e abra o console do CloudWatch em https://

console.aws.amazon.com/cloudwatch/.6. Em Eventos, escolha Regras. Em Nome, cole o nome da regra criada para a notificação. Escolha a

regra e em Ações, escolha Eliminar.7. (Opcional) Para alterar ou eliminar o Amazon SNS tópico utilizado para notificações depois de eliminar

as definições de notificação, vá para Amazon SNS a consola em https://console.aws.amazon.com/sns/v3/home. Para mais informações, consulte Limpeza em Guia do desenvolvedor do Amazon SimpleNotification Service.

Repositórios de etiquetagem em AWS CodeCommitUm etiqueta é um atributo de atributo personalizado que você ou AWS atribuir a um AWS recurso. AWS asetiquetas são diferentes das tags Git, as quais podem ser aplicadas para compromisso. Cada tag da AWStem duas partes:

• Um chave de etiqueta (por exemplo, CostCenter, Environment, Project, ou Secret). Chaves detag fazem distinção entre maiúsculas e minúsculas.

• Um campo opcional conhecido como valor da etiqueta (por exemplo, 111122223333, Production, ouo nome de uma equipa). Omitir o valor da tag é o mesmo que usar uma string vazia. Como chaves detag, os valores das tags diferenciam maiúsculas de minúsculas.

Juntos, são conhecidos como pares de chave/valor. Para limites sobre o número de tags que pode ter numrepositório e restrições nas teclas e valores de tags, consulte Limites (p. 422).

As marcas ajudam-no a identificar e organizar o seu AWS recursos. Muitos serviços da AWS oferecemsuporte à marcação para que você possa atribuir a mesma tag a recursos de diferentes serviçospara indicar que os recursos estão relacionados. Por exemplo, pode atribuir a mesma etiqueta a umCodeCommit repositório que atribui a um Amazon S3 balde. Para mais informações sobre estratégias demarcação, consulte Etiquetagem de recursos AWS.

Versão da API 2015-04-13105

Page 115: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAdicionar uma tag a um repositório

No CodeCommit, o recurso primário é um repositório. Pode utilizar o CodeCommit consola, a AWSCLI, CodeCommit API ou AWS para adicionar, gerir e remover etiquetas para um repositório. Além deidentificar, organizar e acompanhar seu repositório com tags, você pode usar tags em políticas do IAMpara ajudar a controlar quem pode visualizar e interagir com o seu repositório. Para obter exemplos depolíticas de acesso baseadas em tags, consulte Exemplo: = 5 Recusar ou permitir ações em repositórioscom etiquetas (p. 333).

Tópicos• Adicionar uma tag a um repositório (p. 106)• Visualizar as tags de um repositório (p. 107)• Editar tags de um repositório (p. 108)• Remover uma etiqueta de um repositório (p. 110)

Adicionar uma tag a um repositórioAdicionar tags a um repositório pode ajudar a identificar e organizar seus recursos da AWS e gerenciaro acesso a eles. Primeiro adicione uma ou mais tags (pares chave-valor) a um repositório. Lembre-se de que há limites para o número de tags que é possível ter em um repositório. Há restrições comrelação aos caracteres que é possível usar nos campos chave e valor. Para mais informações, consulteLimites (p. 422). Depois que você tiver tags, poderá criar políticas do IAM para gerenciar o acessoao repositório com base nessas tags. Pode utilizar o CodeCommit consola ou AWS CLI para adicionaretiquetas a um repositório.

Important

Adicionar tags a um repositório pode afetar o acesso ele. Para adicionar uma tag a um repositório,revise as políticas do IAM que podem usar tags para controlar o acesso a recursos, comorepositórios. Para obter exemplos de políticas de acesso baseadas em tags, consulte Exemplo: =5 Recusar ou permitir ações em repositórios com etiquetas (p. 333).

Para obter mais informações sobre como adicionar tags a um repositório ao criá-lo, consulte Criar umrepositório (consola) (p. 91).

Tópicos• Adicionar uma etiqueta a um repositório (consola) (p. 106)• Adicionar uma tag a um repositórioAWS CLI) (p. 107)

Adicionar uma etiqueta a um repositório (consola)Pode utilizar o CodeCommit para adicionar uma ou mais etiquetas a uma CodeCommit repositório.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende adicionar etiquetas.3. No painel de navegação, escolha Definições. Escolher Etiquetas de repositório.4. Se não tiverem sido adicionadas etiquetas ao repositório, escolha Adicionar etiqueta. Caso contrário,

escolha Editar, e depois escolha Adicionar etiqueta.5. Em Chave, introduza um nome para a etiqueta. Pode adicionar um valor opcional para a etiqueta em

Valor.

Versão da API 2015-04-13106

Page 116: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar as tags de um repositório

6. (Opcional) Para adicionar outra etiqueta, escolha Adicionar etiqueta novamente.7. Quando tiver terminado de adicionar etiquetas, escolha Enviar.

Adicionar uma tag a um repositórioAWS CLI)Siga estas etapas para usar a AWS CLI para adicionar uma tag a um Repositório do CodeCommit. Paraadicionar uma tag a um repositório ao criá-lo, consulte Criar um repositório do AWS CLI) (p. 92).

Nestas etapas, partimos do princípio de que você já instalou uma versão recente da AWS CLI ou atualizoupara a versão atual. Para mais informações, consulte Instalar o AWS Command Line Interface.

No terminal ou na linha de comando, execute o comando tag-resource, especificando o nome de recursoda Amazon (ARN) do repositório no qual você deseja adicionar tags e a chave e o valor da tag que vocêdeseja adicionar. Você pode adicionar mais de uma tag a um repositório. Por exemplo, para marcar umrepositório nomeado MyDemoRepo com duas etiquetas, uma chave de etiqueta nomeada Status com ovalor da etiqueta de Secret, e uma chave de tag nomeada Team com o valor da etiqueta de Saanvi:

aws codecommit tag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tags Status=Secret,Team=Saanvi

Se houver êxito, o comando não retorna nada.

Visualizar as tags de um repositórioAs tags podem ajudar a identificar e organizar seus recursos da AWS e gerenciar o acesso a eles. Paramais informações sobre estratégias de marcação, consulte Etiquetagem de recursos AWS. Para obterexemplos de políticas de acesso baseadas em tags, consulte Exemplo: = 5 Recusar ou permitir ações emrepositórios com etiquetas (p. 333).

Ver etiquetas para um repositório (consola)Pode utilizar o CodeCommit para visualizar as etiquetas associadas a uma CodeCommit repositório.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende ver as etiquetas.

Versão da API 2015-04-13107

Page 117: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar tags de um repositório

3. No painel de navegação, escolha Definições. Escolher Etiquetas de repositório.

Visualizar as tags de um repositórioAWS CLI)Siga estes passos para utilizar o AWS CLI para ver o AWS etiquetas para um Repositório do CodeCommit.Se não foram adicionadas tags, a lista retornará vazia.

No terminal ou na linha de comando, execute o comando list-tags-for-resource, especificando. Porexemplo, para ver uma lista de teclas de tag e valores de tag para um repositório nomeado MyDemoRepocom o ARN arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo:

aws codecommit list-tags-for-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo

Se houver êxito, o comando retornará informações semelhantes às seguintes:

{ "tags": { "Status": "Secret", "Team": "Saanvi" }}

Editar tags de um repositórioÉ possível alterar o valor de uma tag associada a um repositório. Também é possível alterar o nome dachave, o que é equivalente a excluir a tag atual e adicionar outra com o novo nome e o mesmo valor daoutra chave. Lembre-se de que há limites com relação aos caracteres que podem ser usados nos camposchave e valor. Para mais informações, consulte Limites (p. 422).

Important

Editar as tags de um repositório pode afetar o acesso a ele. Antes de editar o nome (chave) ouo valor de uma tag de um repositório, revise as políticas do IAM que podem usar essa chave ouesse valor para uma tag a fim de controlar o acesso a recursos, como repositórios. Para obterexemplos de políticas de acesso baseadas em tags, consulte Exemplo: = 5 Recusar ou permitirações em repositórios com etiquetas (p. 333).

Versão da API 2015-04-13108

Page 118: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar tags de um repositório

Editar uma etiqueta para um repositório (consola)Pode utilizar o CodeCommit para editar as etiquetas associadas a uma CodeCommit repositório.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende editar etiquetas.3. No painel de navegação, escolha Definições. Escolher Etiquetas de repositório.4. Escolher Editar.5.

Execute um destes procedimentos:

• Para alterar a etiqueta, introduza um novo nome em Chave. Alterar o nome da tag é equivalente aexcluir uma tag e adicionar outra tag com o novo nome de chave.

• Para alterar o valor de uma tag, insira um novo valor. Se você deseja alterar o valor para nulo,exclua o valor atual e deixe o campo em branco.

6. Quando tiver terminado de editar etiquetas, escolha Enviar.

Editar tags de um repositórioAWS CLI)Siga estes passos para utilizar o AWS CLI para atualizar uma etiqueta para CodeCommit repositório. Vocêpode alterar o valor para uma chave existente ou adicionar outra chave.

No terminal ou na linha de comando, execute o comando tag-resource, especificando o nome de recursoda Amazon (ARN) do repositório em que você deseja atualizar uma tag e especifique a chave e o valor datag:

aws codecommit tag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tags Team=Li

Versão da API 2015-04-13109

Page 119: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRemover uma etiqueta de um repositório

Remover uma etiqueta de um repositórioÉ possível excluir uma ou mais tags associadas a um repositório. A exclusão de uma tag não exclui a tagde outros recursos da AWS associados a essa tag.

Important

A exclusão de tags de um repositório pode afetar o acesso a ele. Antes de excluir uma tag deum repositório, revise as políticas do IAM que podem usar a chave ou o valor para uma tag afim de controlar o acesso a recursos, como repositórios. Para obter exemplos de políticas deacesso baseadas em tags, consulte Exemplo: = 5 Recusar ou permitir ações em repositórios cometiquetas (p. 333).

Remover uma etiqueta de um repositório (consola)Pode utilizar o CodeCommit para remover a associação entre uma etiqueta e uma CodeCommitrepositório.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende remover etiquetas.3. No painel de navegação, escolha Definições. Escolher Etiquetas de repositório.4. Escolher Editar.5. Encontre a etiqueta que pretende remover e escolha Remover etiqueta.6. Quando tiver terminado de remover etiquetas, escolha Enviar.

Remover uma etiqueta de um repositório (AWS CLI)Siga estes passos para utilizar o AWS CLI para remover uma etiqueta de CodeCommit repositório.Remover uma tag não a exclui, mas simplesmente remove a associação entre a tag e o repositório.

Note

Se você excluir um repositório do CodeCommit, todas as associações de tag serão removidas dorepositório excluído. Não é necessário remover tags antes de excluir um repositório.

No terminal ou na linha de comando, execute o comando untag-resource, especificando o ARN dorepositório no qual você deseja remover tags e a chave da tag que você deseja remover. Por exemplo,para remover uma etiqueta num repositório nomeado MyDemoRepo com a tecla de etiqueta Status:

aws codecommit untag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tag-keys Status

Se houver êxito, o comando não retorna nada. Para verificar as etiquetas associadas ao repositório,execute o list-tags-for-resource comando.

Gerir acionadores para um AWS CodeCommitrepositório

Pode configurar um CodeCommit repositório de modo a que o código seja premido ou outros eventosdesencadeem acções, tais como enviar uma notificação de Amazon Simple Notification Service (Amazon

Versão da API 2015-04-13110

Page 120: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar o recurso e adicionar permissões para CodeCommit

SNS) ou invocar uma função em AWS Lambda. Pode criar até 10 gatilhos para cada CodeCommitrepositório.

Os gatilhos costumam ser configurados para:

• Enviar e-mails para usuários inscritos sempre que alguém efetuar um push para o repositório.• Notificar um sistema de desenvolvimento externo para que comece uma compilação após alguém

efetuar um push para a ramificação principal do repositório.

Situações como a notificação de um sistema externo de desenvolvimento exigem a gravação de umafunção do Lambda para interagir com outras aplicações. O cenário de e-mail requer simplesmente acriação de um Amazon SNS tópico.

Este tópico mostra como definir permissões que permitem CodeCommit para acionar ações em AmazonSNS e Lambda. Ele também inclui links para exemplos de criação, edição, teste e exclusão de gatilhos.

Tópicos• Criar o recurso e adicionar permissões para CodeCommit (p. 111)• Exemplo: Criar um AWS CodeCommit desencadeador para um Amazon SNS tópico (p. 112)• Exemplo: Criar um AWS CodeCommit desencadeador para um AWS Lambda função (p. 116)• Exemplo: Criar um disparo em AWS CodeCommit para um AWS Lambda função (p. 119)• Editar acionadores para um AWS CodeCommit repositório (p. 125)• Testar os gatilhos para um AWS CodeCommit repositório (p. 126)• Eliminar acionadores de um AWS CodeCommit repositório (p. 128)

Criar o recurso e adicionar permissões paraCodeCommitPode integrar Amazon SNS tópicos e Lambda funções com acionadores em CodeCommit, mas primeirotem de criar e configurar recursos com uma política que concede CodeCommit as permissões parainteragir com esses recursos. Tem de criar o recurso na mesma região AWS como a CodeCommitrepositório. Por exemplo, se o repositório estiver em Leste dos EUA (Ohio) (us-east-2), o Amazon SNStópico ou Lambda função deve estar em Leste dos EUA (Ohio).

• Para Amazon SNS tópicos, não é necessário configurar IAM políticas ou permissões se o Amazon SNSo tópico é criado utilizando a mesma conta que o CodeCommit repositório. Pode criar o CodeCommitlogo que tenha criado e subscrito o Amazon SNS tópico.• Para mais informações sobre a criação de tópicos em Amazon SNS, consulte o Amazon SNS

documentação.• Para obter informações sobre a utilização Amazon SNS para enviar mensagens para Amazon

SQS filas, ver Enviar mensagens para Amazon SQS Filas no Amazon SNS Guia da Ferramenta deDesenvolvimento.

• Para obter informações sobre a utilização Amazon SNS para invocar um Lambda função, consulteInvocar Lambda Funções no Amazon SNS Guia da Ferramenta de Desenvolvimento.

• Se quiser configurar o seu acionador para utilizar um Amazon SNS tópico noutro AWS , tem primeirode configurar esse tópico com uma política que permite CodeCommit para publicar a esse tópico. Paraobter mais informações, consulte Exemplo: = 1. Criar uma política que permita o acesso entre contascruzadas Amazon SNS tópico (p. 335).

• Pode configurar Lambda funções ao criar o accionador no Lambda como parte da função. Este é ométodo mais simples, porque os desencadeadores criados no Lambda a consola inclui automaticamenteas permissões necessárias para CodeCommit para invocar o Lambda função. Se criar o accionador emCodeCommit, tem de incluir uma política para permitir CodeCommit para invocar a função. Para mais

Versão da API 2015-04-13111

Page 121: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um desencadeador para um Amazon SNS tópico

informações, consulte Criar um trigger para uma função Lambda existente (p. 119) e Exemplo 3 Criaruma política para AWS Lambda integração com um CodeCommit gatilho (p. 336).

Exemplo: Criar um AWS CodeCommit desencadeadorpara um Amazon SNS tópicoPode criar um desencadeador para um CodeCommit para que os eventos nesse repositório desencadeemnotificações de um Amazon Simple Notification Service (Amazon SNS) tópico. Crie um gatilho para umtópico Amazon SNS para permitir que usuários se inscrevam em notificações sobre eventos de repositório,como a exclusão de ramificações. Também pode tirar partido da integração de Amazon SNS tópicos comoutros serviços, tais como Amazon Simple Queue Service (Amazon SQS) e AWS Lambda.

Note

É necessário apontar o gatilho para um tópico do Amazon SNS, que é a ação realizada emreposta a eventos de repositório. Para mais informações sobre a criação e subscrição de AmazonSNS tópicos, ver Como começar com Amazon Simple Notification Service.

Tópicos• Criar um desencadeador para um Amazon SNS tópico para um CodeCommit repositório

(consola) (p. 112)• Criar um desencadeador para um Amazon SNS tópico para um CodeCommit repositório (AWS

CLI) (p. 113)

Criar um desencadeador para um Amazon SNS tópico para umCodeCommit repositório (consola)1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende criar acionadores para eventos de repositório.3. No painel de navegação para o repositório, escolha Definições, e depois escolha Desencadeadores.4. Escolher Criar acionadore depois faça o seguinte:.

• Em Nome do desencadeador, introduza um nome para o acionador (por exemplo,MyFirstTrigger).

• Em Eventos, escolha os eventos do repositório que desencadeiam o Amazon SNS tópico paraenviar notificações.

Se escolher Todos os eventos do repositório, não pode escolher quaisquer outros eventos. Paraescolher um subconjunto de eventos, remova Todos os eventos do repositório, e depois escolhaum ou mais eventos da lista. Por exemplo, se quiser que o gatilho funcione apenas quando umutilizador cria uma agência ou uma etiqueta no CodeCommit repositório, remover Todos os eventosdo repositório, e depois escolha Criar ramo ou etiqueta.

• Se pretender que o gatilho se aplique a todas as filiais do repositório, em Ramos, deixe a selecçãoem branco, uma vez que esta opção predefinida aplica automaticamente o desencadeador a todasas filiais. Se você quiser que esse gatilho seja aplicado somente a ramificações específicas, escolhaaté 10 nomes de ramificação na lista de ramificações do repositório.

• Em Escolha o serviço a utilizar, escolha Amazon SNS.• Em Amazon SNS, escolha um nome de tópico da lista ou introduza o ARN para o tópico.• Em Dados personalizados, forneça qualquer informação opcional que queira incluir na notificação

enviada pelo Amazon SNS tópico (por exemplo, os programadores de nomes de canal IRC utilizamao discutir o desenvolvimento neste repositório). Este campo é uma string. Ele não pode ser usadopara passar nenhum parâmetro dinâmico.

Versão da API 2015-04-13112

Page 122: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um desencadeador para um Amazon SNS tópico

5. (Opcional) Escolha Disparo do teste. Este passo ajuda-o a confirmar que o acesso configurado entreCodeCommit e o Amazon SNS tópico. Ele usa o tópico do Amazon SNS para enviar uma notificaçãode teste usando dados do repositório, se disponíveis. Se nenhum dado real estiver disponível, anotificação de teste conterá dados de exemplo.

6. Escolher Criar acionador para terminar a criação do gatilho.

Criar um desencadeador para um Amazon SNS tópico para umCodeCommit repositório (AWS CLI)Pode também utilizar a linha de comandos para criar um desencadeador para um Amazon SNS tópico emresposta a CodeCommit eventos de repositório, como quando alguém se compromete ao seu repositório.

Para criar um desencadeador para um Amazon SNS tópico

1. Abra um editor de texto simples e crie um arquivo JSON que especifique:

• O Amazon SNS nome do tópico.• O repositório e as ramificações que deseja monitorar com o gatilho. (Se você não especificar

nenhuma ramificação, o gatilho se aplicará a todas as ramificações no repositório.)• Os eventos que ativam o gatilho.

Salve o arquivo.

Por exemplo, para criar um desencadeador para um repositório nomeado MyDemoRepo que publicatodos os eventos do repositório para um Amazon SNS tópico nomeado MySNSTopic para duas filiais,master e preprod:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyFirstTrigger", "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MySNSTopic", "customData": "", "branches": [ "master", "preprod" ], "events": [ "all" ] } ]}

Deve haver um bloco do gatilho no JSON para cada gatilho de um repositório. Para criar mais de umgatilho para o repositório, inclua mais de um bloco de gatilho no JSON. Lembre-se de que todos osgatilhos criados no arquivo são para o repositório especificado. Você não pode criar gatilhos paravários repositórios em um único arquivo JSON. Por exemplo, se você desejasse criar dois gatilhospara um repositório, poderia criar um arquivo JSON com dois blocos de gatilhos. No exemplo a seguir,não há ramificação especificada para o segundo gatilho, então ele se aplica a todas as ramificações:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyFirstTrigger",

Versão da API 2015-04-13113

Page 123: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um desencadeador para um Amazon SNS tópico

"destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MySNSTopic", "customData": "", "branches": [ "master", "preprod" ], "events": [ "all" ] }, { "name": "MySecondTrigger", "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MySNSTopic2", "customData": "", "branches": [], "events": [ "updateReference", "deleteReference" ] } ]}

É possível criar gatilhos para eventos que você especifica, como quando uma confirmação é enviadapor push para um repositório. Os tipos de eventos incluem:

• all para todos os eventos no repositório e nas ramificações especificados.• updateReference para quando confirmações são enviadas por push para o repositório e a

ramificações especificados.• createReference para quando uma nova ramificação ou tag é criada no repositório especificado.• deleteReference para quando uma nova ramificação ou tag é excluída no repositório

especificado.

Note

É possível usar mais de um tipo de evento em um gatilho. Contudo, se você especificar all,não poderá especificar outros eventos.

Para ver a lista completa dos tipos de eventos válidos em um terminal ou prompt de comando, insiraaws codecommit put-repository-triggers help.

Além disso, é possível incluir uma string em customData (por exemplo, o nome de um canal IRC queos desenvolvedores usam quando debatem o desenvolvimento neste repositório). Este campo é umastring. Ele não pode ser usado para passar nenhum parâmetro dinâmico. A string é anexada como umatributo ao CodeCommit que o JSON retornou em resposta ao gatilho.

2. (Opcional) Num terminal ou comando de comandos, execute o test-repository-triggers comando.Este teste utiliza dados de amostras do repositório (ou gera dados de amostra se não houver dadosdisponíveis) para enviar uma notificação aos subscritores do Amazon SNS tópico. Por exemplo, éutilizado o seguinte para testar que o JSON no ficheiro de acionamento designado trigger.json éválido e que CodeCommit pode publicar no Amazon SNS tópico:

aws codecommit test-repository-triggers --cli-input-json file://trigger.json

Se houver êxito, o comando retornará informações semelhantes às seguintes:

{ "successfulExecutions": [ "MyFirstTrigger" ], "failedExecutions": []Versão da API 2015-04-13

114

Page 124: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um desencadeador para um Amazon SNS tópico

}

3. Em um terminal ou prompt de comando, execute o comando put-repository-triggers para criar o gatilhono CodeCommit. Por exemplo, para utilizar um ficheiro JSON nomeado trigger.json para criar oacionador:

aws codecommit put-repository-triggers --cli-input-json file://trigger.json

Este comando devolve um ID de configuração, semelhante ao seguinte:

{ "configurationId": "0123456-I-AM-AN-EXAMPLE"}

4. Para visualizar a configuração do gatilho, execute o comando get-repository-triggers, especificando onome do repositório:

aws codecommit get-repository-triggers --repository-name MyDemoRepo

Esse comando retorna a estrutura de todos os gatilhos configurados para o repositório semelhante àseguinte::

{ "configurationId": "0123456-I-AM-AN-EXAMPLE", "triggers": [ { "events": [ "all" ], "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MySNSTopic", "branches": [ "master", "preprod" ], "name": "MyFirstTrigger", "customData": "Project ID 12345" } ]}

5. Para testar a funcionalidade do próprio gatilho, crie e envie uma confirmação por push para orepositório onde você o configurou. Deve ver uma resposta do Amazon SNS tópico. Por exemplo, seconfigurou o Amazon SNS tópico para enviar um e-mail, deve ver um e-mail de Amazon SNS na contade e-mail subscrita no tópico.

Segue-se um exemplo de saída de um e-mail enviado de Amazon SNS em resposta a umCodeCommit repositório:

{ "Records":[ { "awsRegion":"us-east-2", "codecommit":{ "references" : [ { "commit":"317f8570EXAMPLE", "created":true, "ref":"refs/heads/NewBranch" }, { "commit":"4c925148EXAMPLE", "ref":"refs/heads/preprod",

Versão da API 2015-04-13115

Page 125: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um desencadeador para um Lambda função

} ] }, "eventId":"11111-EXAMPLE-ID", "eventName":"ReferenceChange", "eventPartNumber":1, "eventSource":"aws:codecommit", "eventSourceARN":"arn:aws:codecommit:us-east-2:80398EXAMPLE:MyDemoRepo", "eventTime":"2016-02-09T00:08:11.743+0000", "eventTotalParts":1, "eventTriggerConfigId":"0123456-I-AM-AN-EXAMPLE", "eventTriggerName":"MyFirstTrigger", "eventVersion":"1.0", "customData":"Project ID 12345", "userIdentityARN":"arn:aws:iam::80398EXAMPLE:user/JaneDoe-CodeCommit", } ]}

Exemplo: Criar um AWS CodeCommit desencadeadorpara um AWS Lambda funçãoPode criar um desencadeador para um CodeCommit repositório para que os eventos no repositórioinvoquem um Lambda função. Neste exemplo, cria uma Lambda que devolve o URL utilizado para clonar orepositório para um Amazon CloudWatch registo.

Tópicos• Criar Lambda função (p. 116)• Ver o desencadeador para o Lambda função no AWS CodeCommit repositório (p. 119)

Criar Lambda funçãoQuando utiliza o Lambda para criar a função, também pode criar uma CodeCommit para o Lambda função.As seguintes etapas incluem uma função Lambda de exemplo. A amostra está disponível em dois idiomas:javascript e Python. A função devolve os url utilizados para clonar um repositório para um CloudWatchregisto.

Para criar uma Lambda função utilizando um Lambda blueprint

1. Faça login no Console de gerenciamento da AWS e abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/.

2. No Lambda Funções página, escolher Criar função. (Se não tiver utilizado Lambda antes, escolherComeçar agora.)

3. No Criar função página, escolher Autor do zero. Em Nome da função, forneça um nome para a função,por exemplo MyLambdaFunctionforCodeCommit. Em Tempo de execução, escolha o idioma quepretende utilizar para escrever a sua função e, em seguida, escolha Criar função.

4. No Configuraração separador, escolha Adicionar acionador.5. Em Configuração do acionador, escolha codecacompromisso a partir da lista de serviços.

Versão da API 2015-04-13116

Page 126: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um desencadeador para um Lambda função

• Em Nome do repositório, escolha o nome do repositório onde pretende configurar um acionador queutiliza o Lambda função em resposta aos eventos do repositório.

• Em Nome do desencadeador, introduza um nome para o acionador (por exemplo,MyLambdaFunctionTrigger).

• Em Eventos, escolha os eventos do repositório que desencadeiam o Lambda função. Se escolherTodos os eventos do repositório, não pode escolher quaisquer outros eventos. Se quiser escolherum subconjunto de eventos, claro Todos os eventos do repositório, e depois escolha os eventos quepretende da lista. Por exemplo, se quiser que o gatilho funcione apenas quando um utilizador criauma etiqueta ou uma ramificação no AWS CodeCommit repositório, remover Todos os eventos dorepositório, e depois escolha Criar ramo ou etiqueta.

• Se pretender que o gatilho se aplique a todas as filiais do repositório, em Ramos, escolha Todas asfiliais. Caso contrário, escolha Ramos específicos. A ramificação padrão do repositório é adicionadapor padrão. Você pode manter ou excluir essa ramificação da lista. Escolha até 10 nomes deramificação na lista de ramificações de repositório.

• (Opcional) Em Dados personalizados, introduza as informações que pretende incluir no Lambda(por exemplo, o nome do canal IRC utilizado pelos programadores para discutir o desenvolvimentono repositório). Este campo é uma string. Ele não pode ser usado para passar nenhum parâmetrodinâmico.

Versão da API 2015-04-13117

Page 127: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um desencadeador para um Lambda função

Escolher Adicionar.6. No Configuraração página, em Código de função, no tipo de entrada Código, seleccione Editar código

em linha.. Em Tempo de execução, escolha Nó.js. Se quiser criar uma função Python, escolha Pião.7. Em Tipo de entrada de código, escolha Editar código em linhae, em seguida, substitua o código do

mundo de olá com uma das duas amostras seguintes.

Para Node.js:

var aws = require('aws-sdk');var codecommit = new aws.CodeCommit({ apiVersion: '2015-04-13' });

exports.handler = function(event, context) { //Log the updated references from the event var references = event.Records[0].codecommit.references.map(function(reference) {return reference.ref;}); console.log('References:', references); //Get the repository from the event and show its git clone URL var repository = event.Records[0].eventSourceARN.split(":")[5]; var params = { repositoryName: repository }; codecommit.getRepository(params, function(err, data) { if (err) { console.log(err); var message = "Error getting repository metadata for repository " + repository; console.log(message); context.fail(message); } else { console.log('Clone URL:', data.repositoryMetadata.cloneUrlHttp); context.succeed(data.repositoryMetadata.cloneUrlHttp); } });};

Para Python:

import jsonimport boto3

codecommit = boto3.client('codecommit')

def lambda_handler(event, context): #Log the updated references from the event references = { reference['ref'] for reference in event['Records'][0]['codecommit']['references'] } print("References: " + str(references)) #Get the repository from the event and show its git clone URL repository = event['Records'][0]['eventSourceARN'].split(':')[5] try: response = codecommit.get_repository(repositoryName=repository) print("Clone URL: " +response['repositoryMetadata']['cloneUrlHttp']) return response['repositoryMetadata']['cloneUrlHttp'] except Exception as e: print(e)

Versão da API 2015-04-13118

Page 128: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um trigger para uma função Lambda existente

print('Error getting repository {}. Make sure it exists and that your repository is in the same region as this function.'.format(repository)) raise e

8. Em o Permissões , em Execução função, selecione a função para abri-la no IAM consola. Edite apolítica anexada para adicionar a permissão GetRepository ao repositório que deve usar o trigger.

Ver o desencadeador para o Lambda função no AWSCodeCommit repositórioDepois de criar a função do Lambda, será possível visualizar e testar o gatilho no AWS CodeCommit. Oteste do gatilho executa a função em resposta aos eventos de repositório que você especificar.

Para ver e testar o desencadeador para o Lambda função

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende ver os acionadores.3. No painel de navegação para o repositório, escolha Definições, e depois escolha Desencadeadores.4. Analise a lista de gatilhos do repositório. Deve ver o acionador que criou no Lambda consola. Escolha-

o da lista e escolha Disparo do teste. Essa opção tenta chamar a função com os dados de exemplosobre o seu repositório, incluindo o ID de confirmação mais recente dele. (Se não existir um históricocomprometido, os valores das amostras que consistem em zeros são gerados em vez disso.) Istoajuda-o a confirmar que configurou corretamente o acesso entre AWS CodeCommit e o Lambdafunção.

5. Para verificar mais a funcionalidade do próprio gatilho, crie e envie uma confirmação por push para orepositório onde você o configurou. Deve ver uma resposta do Lambda função no Monitorização paraessa função no Lambda consola. Desde o Monitorização , escolha Ver registos em relógio cloudwatch.O console do CloudWatch abre em uma nova guia e exibe os eventos da sua função. Selecione ofluxo de log na lista que correspondente à hora em que você enviou a sua confirmação por push. Vocêdeve ver dados de evento semelhantes a:

START RequestId: 70afdc9a-EXAMPLE Version: $LATEST2015-11-10T18:18:28.689Z 70afdc9a-EXAMPLE References: [ 'refs/heads/master' ]2015-11-10T18:18:29.814Z 70afdc9a-EXAMPLE Clone URL: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepoEND RequestId: 70afdc9a-EXAMPLEREPORT RequestId: 70afdc9a-EXAMPLE Duration: 1126.87 ms Billed Duration: 1200 ms Memory Size: 128 MB Max Memory Used: 14 MB

Exemplo: Criar um disparo em AWS CodeCommitpara um AWS Lambda funçãoA forma mais fácil de criar um acionador que invoca a Lambda é criar esse desencadeador no Lambdaconsola. Essa integração incorporada garante que o CodeCommit tenha as permissões necessárias paraexecutar a função. Para adicionar um desencadeador a um existente Lambda função, vá para Lambdaconsola e escolha a função. No Desencadeadores para a função, siga os passos em Adicionar acionador.Essas etapas são semelhantes às mostradas em Criar Lambda função (p. 116).

Também pode criar um desencadeador para um Lambda função num CodeCommit repositório. Isso requerque você escolha uma função já existente do Lambda para invocar. Também será necessário configurarmanualmente as permissões necessárias para que o CodeCommit execute a função.

Tópicos

Versão da API 2015-04-13119

Page 129: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um trigger para uma função Lambda existente

• Configurar manualmente permissões para permitir CodeCommit para executar um Lambdafunção (p. 120)

• Criar um desencadeador para o Lambda função num CodeCommit repositório (consola) (p. 121)• Criar um desencadeador para um Lambda função para um CodeCommit repositório (AWS

CLI) (p. 122)

Configurar manualmente permissões para permitir CodeCommitpara executar um Lambda funçãoSe criar um acionador em CodeCommit que invoca a Lambda função, tem de configurar manualmente aspermissões que permitem CodeCommit para executar o Lambda função. Para evitar esta configuraçãomanual, considere a criação do gatilho para a função no Lambda em vez de.

Para permitir CodeCommit para executar um Lambda função

1. Abra um editor de texto simples e crie um ficheiro JSON que especifica o Lambda nome da função,os detalhes do CodeCommit repositório e as acções que pretende permitir Lambda, semelhante aoseguinte:

{ "FunctionName": "MyCodeCommitFunction", "StatementId": "1", "Action": "lambda:InvokeFunction", "Principal": "codecommit.amazonaws.com", "SourceArn": "arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo", "SourceAccount": "80398EXAMPLE"}

2. Guarde o ficheiro como um ficheiro JSON com um nome que é fácil de memorizar (por exemplo,AllowAccessfromMyDemoRepojson

3. Utilizando o ficheiro JSON que acabou de criar, no terminal (Linux, macOS, or Unix) ou linha decomando (Windows), executar aws lambda add-permissions para adicionar uma permissão à políticade recursos associada à sua Lambda função:

aws lambda add-permission - -cli-input-json file://AllowAccessfromMyDemoRepo.json

Esse comando retorna o JSON da declaração de política que você acabou de adicionar, semelhanteao seguinte:

{ "Statement": "{\"Condition\":{\"StringEquals\":{\"AWS:SourceAccount\":\"80398EXAMPLE\"},\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo\"}},\"Action\":[\"lambda:InvokeFunction\"],\"Resource\":\"arn:aws:lambda:us-east-1:80398EXAMPLE:function:MyCodeCommitFunction\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codecommit.amazonaws.com\"},\"Sid\":\"1\"}"}

Para mais informações sobre políticas de recursos para Lambda funções, consulte permissão eModelos de eventos para puxar/empurrar no AWS Lambda Guia do utilizador.

4. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

5. No Painel painel de navegação, escolher Funções, e na lista de funções, selecionelambda_basic_execution.

6. Na página de resumo da função, escolha o Permissões e em Políticas inline, escolha Criar política defunção.

Versão da API 2015-04-13120

Page 130: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um trigger para uma função Lambda existente

7. No Definir permissões página, escolher Gerador de políticas, e depois escolha Selecionar.8. No Editar permissões , faça o seguinte:

• Em Efeito, escolha Permitir.• Em Serviço AWS, escolha AWS CodeCommit.• Em Ações, selecione getrepository.• Em Nome do Recurso Amazon (ARN), introduza o ARN para o repositório (por exemplo,arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo).

Escolher Adicionar declaração, e depois escolha Passo seguinte.9. No Política de revisão página, escolher Aplicar política.

O relatório de políticas será semelhante ao seguinte exemplo:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt11111111", "Effect": "Allow", "Action": [ "codecommit:GetRepository" ], "Resource": [ "arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo" ] } ]}

Criar um desencadeador para o Lambda função numCodeCommit repositório (consola)Depois de ter criado o Lambda função, pode criar um disparo em CodeCommit que executa a função emresposta aos eventos do repositório que especificar.

Note

Antes de poder testar ou executar o desencadeador com sucesso, tem de configurar as políticasque permitem CodeCommit para invocar a função e o Lambda para obter informações sobre orepositório. Para obter mais informações, consulte Para permitir CodeCommit para executar umLambda função (p. 120).

Para criar um desencadeador para um Lambda função

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende criar acionadores para eventos de repositório.3. No painel de navegação para o repositório, escolha Definições, e depois escolha Desencadeadores.4. Escolher Criar acionador.5. Em Criar acionador, faça o seguinte:

• Em Nome do desencadeador, introduza um nome para o acionador (por exemplo,MyLambdaFunctionTrigger).

• Em Eventos, escolha os eventos do repositório que desencadeiam o Lambda função.

Versão da API 2015-04-13121

Page 131: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um trigger para uma função Lambda existente

Se escolher Todos os eventos do repositório, não pode escolher quaisquer outros eventos. Sequiser escolher um subconjunto de eventos, claro Todos os eventos do repositório, e depois escolhaos eventos que pretende da lista. Por exemplo, se quiser que o gatilho funcione apenas quandoum utilizador cria uma etiqueta ou uma ramificação no CodeCommit repositório, remover Todos oseventos do repositório, e depois escolha Criar ramo ou etiqueta.

• Se pretender que o gatilho se aplique a todas as filiais do repositório, em Ramos, deixe a seleçãoem branco, porque esta opção predefinida aplica automaticamente o desencadeador a todas asfiliais. Se você quiser que esse gatilho seja aplicado somente a ramificações específicas, escolhaaté 10 nomes de ramificação na lista de ramificações do repositório.

• Em Escolha o serviço a utilizar, escolha AWS Lambda.• Em Lambda função, escolha o nome da função da lista ou introduza o ARN para a função.• (Opcional) Em Dados personalizados, introduza as informações que pretende incluir no Lambda

(por exemplo, o nome do canal IRC utilizado pelos programadores para discutir o desenvolvimentono repositório). Este campo é uma string. Ele não pode ser usado para passar nenhum parâmetrodinâmico.

6. (Opcional) Escolha Disparo do teste. Essa opção tenta chamar a função com os dados de exemplosobre o seu repositório, incluindo o ID de confirmação mais recente dele. (Se não existir um históricocomprometido, os valores das amostras que consistem em zeros são gerados em vez disso.) Istoajuda-o a confirmar que configurou corretamente o acesso entre CodeCommit e o Lambda função.

7. Escolher Criar acionador para terminar a criação do gatilho.8. Para verificar a funcionalidade do gatilho, crie e envie uma confirmação por push para o repositório

onde você o configurou. Deve ver uma resposta do Lambda função no Monitorização para essafunção no Lambda consola.

Criar um desencadeador para um Lambda função para umCodeCommit repositório (AWS CLI)Pode também utilizar a linha de comandos para criar um desencadeador para um Lambda função emresposta a CodeCommit eventos de repositório, como quando alguém se compromete ao seu repositório.

Para criar um desencadeador para um Lambda função

1. Abra um editor de texto simples e crie um arquivo JSON que especifique:

• O Lambda nome da função.• O repositório e as ramificações que deseja monitorar com o gatilho. (Se você não especificar

nenhuma ramificação, o gatilho se aplicará a todas as ramificações no repositório.)• Os eventos que ativam o gatilho.

Salve o arquivo.

Por exemplo, se quiser criar um desencadeador para um repositório nomeado MyDemoRepo quepublica todos os eventos do repositório para Lambda função nomeada MyCodeCommitFunctionpara duas filiais, master e preprod:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyLambdaFunctionTrigger", "destinationArn": "arn:aws:lambda:us-east-1:80398EXAMPLE:function:MyCodeCommitFunction", "customData": "",

Versão da API 2015-04-13122

Page 132: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um trigger para uma função Lambda existente

"branches": [ "master", "preprod" ], "events": [ "all" ] } ]}

Deve haver um bloco do gatilho no JSON para cada gatilho de um repositório. Para criar mais de umgatilho para um repositório, inclua blocos adicionais no JSON. Lembre-se de que todos os gatilhoscriados no arquivo são para o repositório especificado. Você não pode criar gatilhos para váriosrepositórios em um único arquivo JSON. Por exemplo, se você desejasse criar dois gatilhos para umrepositório, poderia criar um arquivo JSON com dois blocos de gatilhos. No exemplo a seguir, não háramificação especificada no segundo bloco de gatilhos, então ele se aplica a todas as ramificações:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyLambdaFunctionTrigger", "destinationArn": "arn:aws:lambda:us-east-1:80398EXAMPLE:function:MyCodeCommitFunction", "customData": "", "branches": [ "master", "preprod" ], "events": [ "all" ] }, { "name": "MyOtherLambdaFunctionTrigger", "destinationArn": "arn:aws:lambda:us-east-1:80398EXAMPLE:function:MyOtherCodeCommitFunction", "customData": "", "branches": [], "events": [ "updateReference", "deleteReference" ] } ]}

É possível criar gatilhos para eventos que você especifica, como quando uma confirmação é enviadapor push para um repositório. Os tipos de eventos incluem:

• all para todos os eventos no repositório e nas ramificações especificados.• updateReference para quando confirmações são enviadas por push para o repositório e a

ramificações especificados.• createReference para quando uma nova ramificação ou tag é criada no repositório especificado.• deleteReference para quando uma nova ramificação ou tag é excluída no repositório

especificado.

Note

É possível usar mais de um tipo de evento em um gatilho. Contudo, se você especificar all,não poderá especificar outros eventos.

Versão da API 2015-04-13123

Page 133: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um trigger para uma função Lambda existente

Para ver a lista completa dos tipos de eventos válidos em um terminal ou prompt de comando, insiraaws codecommit put-repository-triggers help.

Além disso, é possível incluir uma string em customData (por exemplo, o nome de um canal IRC queos desenvolvedores usam quando debatem o desenvolvimento neste repositório). Este campo é umastring. Ele não pode ser usado para passar nenhum parâmetro dinâmico. A string é anexada como umatributo ao CodeCommit que o JSON retornou em resposta ao gatilho.

2. (Opcional) Num terminal ou comando de comandos, execute o test-repository-triggers comando. Porexemplo, é utilizado o seguinte para testar que o ficheiro JSON nomeou trigger.json é válido eque CodeCommit pode acionar o Lambda função. Esse teste usa dados de amostra para funcionar senão houver dados reais disponíveis.

aws codecommit test-repository-triggers --cli-input-json file://trigger.json

Se houver êxito, o comando retornará informações semelhantes às seguintes:

{ "successfulExecutions": [ "MyLambdaFunctionTrigger" ], "failedExecutions": []}

3. Em um terminal ou prompt de comando, execute o comando put-repository-triggers para criar o gatilhono CodeCommit. Por exemplo, para utilizar um ficheiro JSON nomeado trigger.json para criar oacionador:

aws codecommit put-repository-triggers - -cli-input-json file://trigger.json

Esse comando retorna um ID de configuração semelhante ao seguinte:

{ "configurationId": "0123456-I-AM-AN-EXAMPLE"}

4. Para visualizar a configuração do gatilho, execute o comando get-repository-triggers, especificando onome do repositório:

aws codecommit get-repository-triggers - -repository-name MyDemoRepo

Esse comando retorna a estrutura de todos os gatilhos configurados para o repositório semelhante àseguinte::

{ "configurationId": "0123456-I-AM-AN-EXAMPLE", "triggers": [ { "events": [ "all" ], "destinationArn": "arn:aws:lambda:us-east-1:80398EXAMPLE:MyCodeCommitFunction", "branches": [ "master", "preprod" ], "name": "MyLambdaFunctionTrigger", "customData": "Project ID 12345" }

Versão da API 2015-04-13124

Page 134: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar acionadores para um repositório

]}

5. Para testar a funcionalidade do gatilho, crie e envie uma confirmação por push para o repositório ondevocê o configurou. Deve ver uma resposta do Lambda função no Monitorização para essa função noLambda consola.

Editar acionadores para um AWS CodeCommitrepositórioPode editar os acionadores criados para um CodeCommit repositório. Você pode alterar os eventos e asramificações do gatilho, a ação tomada em resposta ao evento e outras configurações.

Tópicos• Editar um acionador para um repositório (consola) (p. 125)• Editar um desencadeador para um repositório (AWS CLI) (p. 125)

Editar um acionador para um repositório (consola)1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende editar um desencadeador para eventos de

repositório.3. No painel de navegação para o repositório, escolha Definições, e depois escolha Desencadeadores.4. Na lista de acionadores do repositório, escolha o acionador que pretende editar e, em seguida,

escolha Editar.5. Faça as alterações que pretende ao gatilho e, em seguida, escolha Guardar.

Editar um desencadeador para um repositório (AWS CLI)1. Num terminal (Linux, macOS, or Unix) ou prompt de comandos (Windows), executar get-repository-

triggers comando para criar um ficheiro JSON com a estrutura de todos os acionadores configuradospara o seu repositório. Por exemplo, para criar um ficheiro JSON nomeado MyTriggers.json com aestrutura de todos os acionadores configurados para um repositório nomeado MyDemoRepo:

aws codecommit get-repository-triggers --repository-name MyDemoRepo >MyTriggers.json

Este comando não devolve nada, mas um ficheiro chamado MyTriggers.json é criado no directórioonde executou o comando.

2. Edite o arquivo JSON em um editor de texto plano e faça as alterações no bloco de gatilhos do gatilhoque deseja editar. Substituir o configurationId par com um repositoryName par. Salve oarquivo.

Por exemplo, se quiser editar um acionador chamado MyFirstTrigger no repositórionomeado MyDemoRepo para que se aplique a todas as filiais, substituir configurationId comrepositoryName, e remova o master e preprod filiais em red italic textPor padrão, senenhuma ramificação for especificada, o gatilho será aplicado a todas as ramificações no repositório:

{ "repositoryName": "MyDemoRepo", "triggers": [ {

Versão da API 2015-04-13125

Page 135: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGatilhos de teste para um repositório

"destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MyCodeCommitTopic", "branches": [ "master", "preprod" ], "name": "MyFirstTrigger", "customData": "", "events": [ "all" ] } ]}

3. No terminal ou na linha de comando, execute o comando put-repository-triggers, especificando. Istoactualiza todos os acionadores do repositório, incluindo as alterações que fez ao MyFirstTriggeracionador:

aws codecommit put-repository-triggers --repository-name MyDemoRepo file://MyTriggers.json

Esse comando retorna um ID de configuração semelhante ao seguinte:

{ "configurationId": "0123456-I-AM-AN-EXAMPLE"}

Testar os gatilhos para um AWS CodeCommitrepositórioPode testar os acionadores que foram criados para um CodeCommit repositório. O teste envolve executaro trigger com dados de amostra do seu repositório, incluindo o ID de confirmação mais recente. Senão existir nenhum histórico de confirmação para o repositório, em vez disso serão gerados valoresde exemplo constituídos por zeros. Os controlos de teste ajudam-no a confirmar que configuroucorrectamente o acesso entre CodeCommit e o alvo do desencadeador, quer seja um AWS Lambdafunção ou um Amazon Simple Notification Service notificação.

Tópicos• Testar um disparo para um repositório (consola) (p. 126)• Testar um desencadeador para um repositório (AWS CLI) (p. 127)

Testar um disparo para um repositório (consola)1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende testar um desencadeador para eventos de

repositório.3. No painel de navegação para o repositório, escolha Definições, e depois escolha Desencadeadores.4. Escolha o acionador que pretende testar e, em seguida, escolha Disparo do teste. Você deverá ver

uma mensagem de êxito ou falha. Se for bem-sucedido, também deve ver uma resposta de acçãocorrespondente a partir do Lambda ou a Amazon SNS tópico.

Versão da API 2015-04-13126

Page 136: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGatilhos de teste para um repositório

Testar um desencadeador para um repositório (AWS CLI)1. Num terminal (Linux, macOS, or Unix) ou prompt de comandos (Windows), executar get-repository-

triggers comando para criar um ficheiro JSON com a estrutura de todos os acionadores configuradospara o seu repositório. Por exemplo, para criar um ficheiro JSON nomeado TestTrigger.json coma estrutura de todos os acionadores configurados para um repositório nomeado MyDemoRepo:

aws codecommit get-repository-triggers --repository-name MyDemoRepo >TestTrigger.json

Este comando cria um arquivo chamado . TestTriggers.json no directório onde executou ocomando.

2. Edite o arquivo JSON em um editor de texto plano e faça as alterações na declaração do trigger.Substituir o configurationId par com um repositoryName par. Salve o arquivo.

Por exemplo, se quiser testar um acionador chamado MyFirstTrigger no repositório nomeadoMyDemoRepo para que se aplique a todas as filiais, substitua o configurationId comrepositoryName e depois guardar um ficheiro semelhante ao seguinte como TestTrigger.json:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MyCodeCommitTopic", "branches": [ "master", "preprod" ], "name": "MyFirstTrigger", "customData": "", "events": [ "all" ] } ]}

3. No terminal ou na linha de comando, execute o comando test-repository-triggers, especificando. Istoactualiza todos os acionadores do repositório, incluindo as alterações que fez ao MyFirstTriggeracionador:

aws codecommit test-repository-triggers --cli-input-json file://TestTrigger.json

Esse comando retorna uma resposta semelhante à seguinte:

{ "successfulExecutions": [ "MyFirstTrigger" ], "failedExecutions": []}

Versão da API 2015-04-13127

Page 137: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEliminar acionadores de um repositório

Eliminar acionadores de um AWS CodeCommitrepositórioVocê pode excluir gatilhos que não estão mais sendo usados. Não é possível desfazer a exclusão de umgatilho, mas é possível recriar um novamente.

Note

Se configurar um ou mais acionadores para o seu repositório, eliminar o repositório não elimina oAmazon SNS tópicos ou Lambda funções que configurou como alvos desses activadores. Não seesqueça de excluir esses recursos também, se não forem mais necessários.

Tópicos• Eliminar um acionador de um repositório (consola) (p. 128)• Eliminar um acionador de um repositório (AWS CLI) (p. 128)

Eliminar um acionador de um repositório (consola)1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende eliminar acionadores para eventos de

repositório.3. No painel de navegação para o repositório, escolha Definições. Em Definições, escolha

Desencadeadores.4. Escolha o acionador que pretende eliminar da lista de acionadores e escolha Eliminar.5. Na caixa de diálogo, digite eliminar para confirmar.

Eliminar um acionador de um repositório (AWS CLI)1. Num terminal (Linux, macOS, or Unix) ou prompt de comandos (Windows), executar get-repository-

triggers comando para criar um ficheiro JSON com a estrutura de todos os acionadores configuradospara o seu repositório. Por exemplo, para criar um ficheiro JSON nomeado MyTriggers.json com aestrutura de todos os acionadores configurados para um repositório nomeado MyDemoRepo:

aws codecommit get-repository-triggers --repository-name MyDemoRepo >MyTriggers.json

Este comando cria um arquivo chamado . MyTriggers.json no directório onde executou ocomando.

2. Edite o arquivo JSON em um editor de texto simples e remova o bloco de gatilho do gatilho que vocêdeseja excluir. Substituir o configurationId par com um repositoryName par. Salve o arquivo.

Por exemplo, se quiser remover um acionador chamado MyFirstTrigger do repositório nomeadoMyDemoRepo, substituiria configurationId com repositoryName, e remover a declaração emred italic text:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MyCodeCommitTopic", "branches": [ "master",

Versão da API 2015-04-13128

Page 138: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAssociar ou desassociar um repositório

com Amazon CodeGuru Reviewer

"preprod" ], "name": "MyFirstTrigger", "customData": "", "events": [ "all" ] }, { "destinationArn": "arn:aws:lambda:us-east-2:80398EXAMPLE:function:MyCodeCommitJSFunction", "branches": [], "name": "MyLambdaTrigger", "events": [ "all" ] } ]}

3. No terminal ou na linha de comando, execute o comando put-repository-triggers, especificando. Istoactualiza os acionadores do repositório e elimina o MyFirstTrigger acionador:

aws codecommit put-repository-triggers --repository-name MyDemoRepo file://MyTriggers.json

Esse comando retorna um ID de configuração semelhante ao seguinte:

{ "configurationId": "0123456-I-AM-AN-EXAMPLE"}

Note

Para eliminar todos os desencadeadores para um repositório nomeado MyDemoRepo, o seuficheiro JSON seria semelhante a isto:

{ "repositoryName": "MyDemoRepo", "triggers": []}

Associar ou desassociar um AWS CodeCommitrepositório com Amazon CodeGuru Reviewer

Amazon CodeGuru ReviewerO é um serviço automatizado de revisão de código que usa análise deprogramas e machine learning para detectar problemas comuns e recomendar correções em seu códigoJava. É possível associar repositórios em sua conta da AWS ao CodeGuru Reviewer. Quando faz,CodeGuru Reviewer cria uma função ligada ao serviço que permite CodeGuru Reviewer para analisar ocódigo em todos os pedidos de pull criados após a associação ser feita.

Depois de associar um repositório, o CodeGuru Reviewer analisa e comenta os problemas encontrados aocriar solicitações pull. Cada comentário é claramente marcado como proveniente do CodeGuru Reviewercom a designação Amazon CodeGuru Reviewer. É possível responder a esses comentários exatamentecomo qualquer outro comentário em uma solicitação pull e também fornecer feedback sobre a qualidade

Versão da API 2015-04-13129

Page 139: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAssociar ou desassociar um repositório

com Amazon CodeGuru Reviewer

da sugestão. Esse feedback é compartilhado com o CodeGuru Reviewer e pode ajudar a melhorar oserviço e as sugestões.

Note

Você não verá comentários do CodeGuru Reviewer em solicitações pull que tiverem sido criadasantes de o repositório ser associado a ele. Talvez você não veja comentários em solicitações pullcriadas após a associação pelos seguintes motivos:

• A solicitação pull não contém código Java.• CodeGuru ReviewerO não teve tempo suficiente para executar e revisar o código na solicitação

pull. Esse processo pode demorar até 30 minutos. Os comentários podem aparecer à medidaque a revisão avança, mas o comentário não está concluído até que o estado da função sejaapresentado como Concluído.

• CodeGuru ReviewerO não encontrou nenhum problema no código Java na solicitação pull.• Ocorreu uma falha ao executar o trabalho de revisão de código. Para rever o estado de uma

revisão para um pedido de pull-pull, consulte o Atividade do pedido de pull-pull.• Está a visualizar alterações ao pedido de pull-pull no Alterações , o pedido de pull foi

actualizado e Amazon CodeGuru Reviewer não encontrou quaisquer problemas nas alterações.Amazon CodeGuru Reviewer os comentários aparecem apenas no Alterações se oscomentários tiverem sido feitos na revisão mais recente do pedido de pull-pull. Aparecemsempre no Atividade separador.

Para mais informações, consulte Trabalhar com pedidos de pull-in AWS CodeCommitrepositórios (p. 161), Revisar uma solicitação pull (p. 174)e o Guia do usuário do Amazon CodeGuruReviewer.

Versão da API 2015-04-13130

Page 140: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAssociar um repositório com CodeGuru Reviewer

Note

É necessário estar conectado com um usuário ou uma função do IAM que tenha permissõessuficientes para associar ou desassociar um repositório do CodeGuru Reviewer. Para obterinformações sobre as políticas geridas para CodeCommit que incluem estas permissões,consulte Políticas gerenciadas (predefinidas) pela AWS para o CodeCommit (p. 317) e AWSCodeCommit políticas geridas e Amazon CodeGuru Reviewer (p. 327). Para obter informaçõessobre segurança e permissões do CodeGuru Reviewer, consulte Guia do usuário do AmazonCodeGuru Reviewer.

Tópicos• Associar um repositório com CodeGuru Reviewer (p. 131)• Desassociar um repositório a partir de CodeGuru Reviewer (p. 131)

Associar um repositório com CodeGuru ReviewerUse o console do AWS CodeCommit para associar rapidamente um repositório ao CodeGuru Reviewer.Para obter outros métodos, consulte o Guia do usuário do Amazon CodeGuru Reviewer.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório para associar CodeGuru Reviewer.3. Escolher Definições, e depois escolha Amazon CodeGuru Reviewer.4. Escolher Repositório associado.

Note

Pode levar até 10 minutos para associar totalmente um repositório ao CodeGuru Reviewer.O status não será atualizado automaticamente. Para visualizar o status atual, clique no botãopara atualizar.

Desassociar um repositório a partir de CodeGuruReviewerUse o console do AWS CodeCommit para desassociar rapidamente um repositório do CodeGuruReviewer. Para obter outros métodos, consulte o Guia do usuário do Amazon CodeGuru Reviewer.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.

Versão da API 2015-04-13131

Page 141: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer detalhes do repositório

2. Em Repositórios, escolha o nome do repositório que pretende desassociar CodeGuru Reviewer.3. Escolher Definições, e depois escolha Amazon CodeGuru Reviewer.4. Escolher Repositório de desassociar.

Ver CodeCommit detalhes do repositórioPode utilizar o AWS CodeCommit consola, AWS CLI, ou Git de um repo local ligado ao Repositório doCodeCommit para ver informações sobre repositórios disponíveis.

Antes de seguir estas instruções, conclua as etapas em Configuração (p. 7).

Tópicos• Ver detalhes do repositório (consola) (p. 132)• Ver CodeCommit detalhes do repositório (Git) (p. 132)• Ver CodeCommit detalhes do repositório (AWS CLI) (p. 133)

Ver detalhes do repositório (consola)Utilize o AWS CodeCommit para ver rapidamente todos os repositórios criados com o seu AWS conta.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório.3. Execute um destes procedimentos:

• Para ver o URL para clonar o repositório, escolha URL do clone, e depois escolha o protocolo quepretende utilizar ao clonar o repositório. Isso copia a URL do clone. Para revisá-la, cole-a em umeditor de texto não criptografado.

• Para ver detalhes configuráveis para o repositório, no painel de navegação, escolha Definições.

Note

Se você entrou como um usuário do IAM, pode configurar e salvar suas preferências paravisualizar o código e outras configurações do console. Para obter mais informações, consulteTrabalhar com preferências do utilizador (p. 273).

Ver CodeCommit detalhes do repositório (Git)Para utilizar Git de um repo local para ver detalhes sobre CodeCommit repositórios, executar git remoteshow comando.

Antes de realizar estas etapas, conecte o repo local ao Repositório do CodeCommit. Para obter instruções,consulte Conexão a um repositório (p. 94).

1. Executar o git remote show remote-name comando, onde remote-name é o alias do Repositório doCodeCommit (por predefinição, origin).

Tip

Para obter uma lista de Repositório do CodeCommit nomes e respectivos url, executar gitremote -v comando.

Por exemplo, para visualizar detalhes sobre o Repositório do CodeCommit com o alias origin:

Versão da API 2015-04-13132

Page 142: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer CodeCommit detalhes do repositório (AWS CLI)

git remote show origin

2. Para HTTPS:

* remote origin Fetch URL: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo Push URL: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo HEAD branch: (unknown) Remote branches: MyNewBranch tracked master tracked Local ref configured for 'git pull': MyNewBranch merges with remote MyNewBranch (up to date) Local refs configured for 'git push': MyNewBranch pushes to MyNewBranch (up to date) master pushes to master (up to date)

Para o SSH:

* remote origin Fetch URL: ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo Push URL: ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo HEAD branch: (unknown) Remote branches: MyNewBranch tracked master tracked Local ref configured for 'git pull': MyNewBranch merges with remote MyNewBranch (up to date) Local refs configured for 'git push': MyNewBranch pushes to MyNewBranch (up to date) master pushes to master (up to date)

Tip

Para procurar a ID de chave SSH para o seu IAM utilizador, abra o IAM consola e expandirCredenciais de segurança no IAM página de detalhes do utilizador. A ID de chave SSH podeser encontrada em Chaves SSH para AWS CodeCommit.

Para obter mais opções, consulte a documentação do Git.

Ver CodeCommit detalhes do repositório (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Para usar o AWS CLI para visualizar os detalhes de repositório, execute os seguintes comandos:

• Para visualizar uma lista de nomes de Repositório do CodeCommit e seus IDs correspondentes, executelist-repositories (p. 134).

• Para visualizar informações sobre um único Repositório do CodeCommit, execute get-repository (p. 134).

• Para visualizar informações sobre vários repositórios no CodeCommit, execute batch-get-repositories (p. 135).

Versão da API 2015-04-13133

Page 143: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer CodeCommit detalhes do repositório (AWS CLI)

Para ver uma lista de CodeCommit repositórios1. Executar o list-repositories comando:

aws codecommit list-repositories

Pode utilizar o --sort-by ou --order opções para alterar a ordem de informação devolvida.2. Se for bem sucedido, este comando emite um repositories que contém os nomes e ids de todos

os repositórios em CodeCommit associado ao AWS conta.

Veja um exemplo de saída com base no comando do exemplo anterior:

{ "repositories": [ { "repositoryName": "MyDemoRepo" "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", }, { "repositoryName": "MyOtherDemoRepo" "repositoryId": "cfc29ac4-b0cb-44dc-9990-f6f51EXAMPLE" } ]}

Como visualizar detalhes sobre um único Repositório doCodeCommit1. Executar o get-repository , especificando o nome do Repositório do CodeCommit com o --

repository-name opção.

Tip

Para obter o nome do Repositório do CodeCommit, execute o list-repositories (p. 134)comando.

Por exemplo, para visualizar detalhes sobre um Repositório do CodeCommit chamado MyDemoRepo:

aws codecommit get-repository --repository-name MyDemoRepo

2. Se houver êxito, o comando gerará como saída um objeto repositoryMetadata com as seguintesinformações:

• O nome do repositório.repositoryName).• A descrição do repositório (repositoryDescription).• O ID exclusivo do repositório gerado pelo sistema (repositoryId).• O ID da conta da AWS associada ao repositório (accountId).

Veja um exemplo de saída com base no comando do exemplo anterior:

{ "repositoryMetadata": { "creationDate": 1429203623.625, "defaultBranch": "master",

Versão da API 2015-04-13134

Page 144: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer CodeCommit detalhes do repositório (AWS CLI)

"repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1430783812.0869999, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" "accountId": "111111111111" }}

Para ver detalhes sobre vários CodeCommit repositórios1. Executar o batch-get-repositories com o --repository-names opção. Adicione um espaço entre

cada Repositório do CodeCommit nome.

Tip

Para obter os nomes dos repositórios em CodeCommit, execute o list-repositories (p. 134)comando.

Por exemplo, para ver detalhes sobre dois CodeCommit repositórios nomeados MyDemoRepo eMyOtherDemoRepo:

aws codecommit batch-get-repositories --repository-names MyDemoRepo MyOtherDemoRepo

2. Se houver êxito, o comando gerará como saída um objeto com as seguintes informações:

• Uma lista dos repositórios do CodeCommit que não puderam ser encontrados(repositoriesNotFound).

• Uma lista de CodeCommit repositórios (repositories). Todo nome de Repositório doCodeCommit é acompanhado por:• A descrição do repositório (repositoryDescription).• O ID exclusivo do repositório gerado pelo sistema (repositoryId).• O ID da conta da AWS associada ao repositório (accountId).

Veja um exemplo de saída com base no comando do exemplo anterior:

{ "repositoriesNotFound": [], "repositories": [ { "creationDate": 1429203623.625, "defaultBranch": "master", "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1430783812.0869999, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" "accountId": "111111111111" }, {

Versão da API 2015-04-13135

Page 145: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAlterar as configurações do repositório

"creationDate": 1429203623.627, "defaultBranch": "master", "repositoryName": "MyOtherDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyOtherDemoRepo", "lastModifiedDate": 1430783812.0889999, "repositoryDescription": "My other demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-2.amazonaws.com/v1/repos/MyOtherDemoRepo", "repositoryId": "cfc29ac4-b0cb-44dc-9990-f6f51EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" "accountId": "111111111111" } ], "repositoriesNotFound": [] }

Alterar AWS CodeCommit definições do repositórioPode utilizar o AWS CLI e o AWS CodeCommit para alterar as definições de um Repositório doCodeCommit, como a descrição ou nome.

Important

A alteração do nome de um repositório pode corromper repositórios locais que usem o nomeantigo no URL remoto. Execute o comando git remote set-url para atualizar a URL remota parausar o novo nome do repositório.

Tópicos• Alterar definições do repositório (consola) (p. 136)• Alterar AWS CodeCommit definições do repositório (AWS CLI) (p. 137)

Alterar definições do repositório (consola)Para utilizar o AWS CodeCommit consola para alterar um Repositório do CodeCommitDefinições de AWSCodeCommit, siga estes passos.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende alterar as definições.3. No painel de navegação, escolha Definições.4. Para alterar o nome do repositório, em Nome do repositório, introduza um novo nome no Nome e

escolher Guardar. Quando solicitado, verifique sua opção.

Important

Alterar o nome do repositório do AWS CodeCommit alterará os URLs de SSH e HTTPSnecessários para a conexão dos usuários ao repositório. Os usuários não poderão seconectar ao repositório até que atualizem suas configurações de conexão. Além disso, devidoà alteração no ARN do repositório, alterar o nome do repositório invalidará todas as políticasde usuário do IAM que dependem do ARN do repositório.Para se conectar ao repositório após o nome ter sido alterado, cada usuário deve usar ocomando git remote set-url e especificar a nova URL a ser usada. Por exemplo, se alterouo nome do repositório de MyDemoRepo para MyRenamedDemoRepo, os utilizadores queutilizam HTTPS para ligar ao repositório executariam o seguinte comando Git:

Versão da API 2015-04-13136

Page 146: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAlterar AWS CodeCommit

definições do repositório (AWS CLI)

git remote set-url origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyRenamedDemoRepo

Os usuários usando o SSH para se conectar ao repositório executariam o seguinte comandodo Git:

git remote set-url origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyRenamedDemoRepo

Para obter mais opções, consulte a documentação do Git.5. Para alterar a descrição do repositório, modifique o texto no Descrição e, em seguida, selecione

Guardar.

Note

O campo de descrição mostra Markdown no console e aceita todos os caracteres HTML etodos os caracteres válidos de Unicode. Se você for um desenvolvedor de aplicativos queestá usando as APIs GetRepository ou BatchGetRepositories e pretender exibir ocampo de descrição do repositório em um navegador web, consulte a Referência de API doCodeCommit.

6. Para alterar o ramo predefinido, em Ramo padrão, escolha a lista pendente de ramo e escolha umasucursal diferente. Escolher Guardar.

7. Para eliminar o repositório, escolha Eliminar repositório. Na caixa ao lado de Escreva o nome dorepositório para confirmar a eliminação, enter delete, e depois escolha Eliminar.

Important

Depois de eliminar este repositório em AWS CodeCommit, deixará de poder cloná-lo aqualquer repo local ou repo partilhado. Também não será mais possível efetuar pull de dadosdele nem enviar push de dados para ele de nenhum repo local ou repositório compartilhado.Esta ação não pode ser desfeita.

Alterar AWS CodeCommit definições do repositório(AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Para utilizar AWS CLI para alterar um Repositório do CodeCommitDefinições de AWS CodeCommit,execute um ou mais dos seguintes comandos:

• update-repository-description (p. 137) para alterar a descrição de um Repositório do CodeCommit.• update-repository-name (p. 138) para alterar o nome de um Repositório do CodeCommit.

Para alterar um Repositório do CodeCommitDescrição de1. Execute o comando update-repository-description, especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).

Versão da API 2015-04-13137

Page 147: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAlterar AWS CodeCommit

definições do repositório (AWS CLI)

Tip

Para obter o nome do Repositório do CodeCommit, execute o list-repositories (p. 134)comando.

• A nova descrição do repositório (com o --repository-description opção).

Note

O campo de descrição mostra Markdown no console e aceita todos os caracteres HTML etodos os caracteres válidos de Unicode. Se você for um desenvolvedor de aplicativos queestá usando as APIs GetRepository ou BatchGetRepositories e pretender exibir ocampo de descrição do repositório em um navegador web, consulte a Referência de API doCodeCommit.

Por exemplo, para alterar a descrição do Repositório do CodeCommit nomeado MyDemoRepo paraThis description was changed:

aws codecommit update-repository-description --repository-name MyDemoRepo --repository-description "This description was changed"

Esse comando gerará saídas somente se houver erros.2. Para verificar a descrição alterada, execute o get-repository , especificando o nome do Repositório do

CodeCommit cuja descrição alterou com o --repository-name opção.

A saída do comando exibe o texto alterado em repositoryDescription.

Para alterar um Repositório do CodeCommitNome de1. Execute o comando update-repository-name, especificando:

• O nome atual do Repositório do CodeCommit (com o --old-name opção).

Tip

Para obter o Repositório do CodeCommitnome do list-repositories (p. 134) comando.• O novo nome do Repositório do CodeCommit (com o --new-name opção).

Por exemplo, para alterar o repositório chamado MyDemoRepo para MyRenamedDemoRepo:

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo

Esse comando gerará saídas somente se houver erros.

Important

A alteração do nome do repositório do AWS CodeCommit vai alterar as URLs de SSHe HTTPS necessárias para a conexão dos usuários com o repositório. Os usuários nãopoderão se conectar a este repositório até que atualizem suas configurações de conexão.Além disso, devido às alterações no ARN do repositório, a alteração do nome do repositórioinvalidará todas as políticas de usuário do IAM que dependem do ARN do repositório.

2. Para verificar o nome alterado, execute o comando list-repositories e revise a lista de nomes derepositório.

Versão da API 2015-04-13138

Page 148: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioSincronizar alterações entre repositórios

Sincronizar alterações entre um repo local e umAWS CodeCommit repositório

Utiliza Git para sincronizar as alterações entre um repo local e o Repositório do CodeCommit ligado aorepo local.

Para empurrar alterações do repo local para o Repositório do CodeCommit, execução git push remote-name branch-name.

Para puxar alterações para repo local do Repositório do CodeCommit, execução git pull remote-namebranch-name.

Para empurrar e puxar, remote-name é o alcunha repo local para o Repositório do CodeCommit.branch-name é o nome da sucursal no Repositório do CodeCommit para empurrar ou puxar de.

Tip

Para obter a alcunha repo local para o Repositório do CodeCommit, execução git remote. Paraobter uma lista de nomes de ramos, execute git branch. Um asterisco (*) aparece junto ao nomeda sucursal actual. (Você também pode executar git status para mostrar o nome da ramificaçãoatual.)Note

Se clonou o repositório, a partir da perspectiva do repo local, remote-name não é o nomedo Repositório do CodeCommit. Quando clonar um repositório, remote-name é definidoautomaticamente para origin.

Por exemplo, para empurrar alterações do repo local para o master na Repositório do CodeCommit com aalcunha origin:

git push origin master

De forma semelhante, para puxar alterações para repo local do master na Repositório do CodeCommitcom a alcunha origin:

git pull origin master

Tip

Se adicionar o -u opção para git push, definiu a informação de seguimento a montante. Porexemplo, se correr git push -u origin master), no futuro que pode executar git push e git pull semremote-name branch-namePara obter as informações de rastreamento upstream, execute gitremote show remote-name (por exemplo, git remote show origin).

Para obter mais opções, consulte a documentação do Git.

Comprometer o compromisso de um repositório Gitadicional

Você pode configurar seu repositório local para enviar alterações por push a dois repositórios remotos.Por exemplo, talvez você precise continuar usando sua solução existente de repositório do Git enquantoexperimenta o AWS CodeCommit. Siga estas etapas básicas para enviar alterações por push norepositório local ao CodeCommit e a um repositório Git separado.

Versão da API 2015-04-13139

Page 149: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEmpurrar o compromisso para dois repositórios

Tip

Se não tiver um repositório Git, pode criar um vazio num serviço diferente de CodeCommit edepois migrar o seu CodeCommit repositório para o. Você deve seguir etapas semelhantes àsdescritas em Migrar para o CodeCommit (p. 274).

1. A partir do comando ou terminal de comandos, mude para o seu directório de recompra local eexecute o git remote -v comando. Você deve ver uma saída semelhante ao seguinte:

Para HTTPS:

origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Para o SSH:

origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

2. Executar o git remote set-url --add --push origin git-repository-name comando onde git-repository-name é o URL e o nome do repositório Git onde pretende alojar o seu código. Issoaltera o destino do push de origin para esse repositório Git.

Note

git remote set-url --add --push substitui o URL padrão para pushes, por isso, você deveexecutar esse comando duas vezes, como será demonstrado em etapas posteriores.

Por exemplo, o comando seguinte altera o push de origem para some-URL/MyDestinationRepo:

git remote set-url --add --push origin some-URL/MyDestinationRepo

Esse comando não retorna nada.

Tip

Se estiver a premir um repositório Git que requer credenciais, certifique-se de que configuraessas credenciais num assistente de credencial ou na configuração do some-URL [string]Caso contrário, as operações de envio para esse repositório falharão.

3. Execute o comando git remote -v novamente, o que deve criar uma saída semelhante a:

Para HTTPS:

origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin some-URL/MyDestinationRepo (push)

Para o SSH:

origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin some-URL/MyDestinationRepo (push)

4. Agora adicione o CodeCommit repositório. Executar git remote set-url --add --push origin novamente,desta vez, com o URL e o nome do repositório do seu CodeCommit repositório.

Por exemplo, o seguinte comando adiciona o premir origem para https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo:

Para HTTPS:

Versão da API 2015-04-13140

Page 150: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEmpurrar o compromisso para dois repositórios

git remote set-url --add --push origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Para o SSH:

git remote set-url --add --push origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Esse comando não retorna nada.5. Execute o comando git remote -v novamente, o que deve criar uma saída semelhante a:

Para HTTPS:

origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin some-URL/MyDestinationRepo (push) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Para o SSH:

origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin some-URL/MyDestinationRepo (push) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Agora tem dois repositórios Git como destino para os seus impulsores, mas os seus impulsores vãopara some-URL/MyDestinationRepo$first Se o push ao repositório falhar, suas confirmações nãoserão enviadas por push para nenhum dos repositórios.

Tip

Se o outro repositório necessitar de credenciais que pretenda introduzir manualmente,considere alterar a ordem dos impulsores para que entre em CodeCommit primeiro. Executargit remote set-url --delete para eliminar o repositório que é empurrado para primeiro e, emseguida, executar git remote set-url --add para adicioná-lo novamente para que se torne nosegundo destino de push na lista.Para obter mais opções, consulte a documentação do Git.

6. Para verificar se você agora está enviando por push para ambos os repositórios remotos, use umeditor de texto para criar o seguinte arquivo de texto no repositório local:

bees.txt-------Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax.

7. Execute git add para preparar a alteração no repositório local:

git add bees.txt

8. Execute git commit para confirmar a alteração no repositório local:

git commit -m "Added bees.txt"

9. Para empurrar o compromisso do repo local para os seus repositórios remotos, execute git push -uremote-name branch-name onde remote-name é a alcunha das utilizações de repo locais para osrepositórios remotos e branch-name é o nome da sucursal para pressionar para o repositório.

Versão da API 2015-04-13141

Page 151: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioConfigurar o acesso entre contas cruzadas

a um repositório utilizando funções

Tip

Você só precisa usar a opção -u na primeira vez em que você enviar por push. Em seguida,as informações de rastreamento upstream são definidas.

Por exemplo, executar git push -u origin master mostraria que o push foi enviado aos dois repositóriosremotos nas ramificações esperadas, com uma saída semelhante a:

Para HTTPS:

Counting objects: 5, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)To some-URL/MyDestinationRepo a5ba4ed..250f6c3 master -> masterCounting objects: 5, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)remote:To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 master -> master

Para o SSH:

Counting objects: 5, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)To some-URL/MyDestinationRepo a5ba4ed..250f6c3 master -> masterCounting objects: 5, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)remote:To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 master -> master

Para obter mais opções, consulte a documentação do Git.

Configurar o acesso entre contas cruzadas a umAWS CodeCommit repositório utilizando funções

Pode configurar o acesso a CodeCommit repositórios para IAM utilizadores e grupos noutroAWS conta. Isto é frequentemente referido como acesso à conta cruzada. Esta secção forneceexemplos e instruções passo a passo para configurar o acesso de conta cruzada para umrepositório nomeado MySharedDemoRepo no Leste dos EUA (Ohio) Região num AWS conta(referida como contabilidade) para IAM utilizadores que pertencem a IAM grupo nomeadoDevelopersWithCrossAccountRepositoryAccess noutro AWS conta (referida como contabilidade).

Versão da API 2015-04-13142

Page 152: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAcesso ao repositório de contas cruzadas:

Ações para o administrador em contabilidade

Esta seção é dividida em três partes:

• Ações para o administrador na AccountA.• Ações para o administrador na AccountB.• Ações para o usuário do repositório na AccountB.

Para configurar o acesso entre várias contas:

• O administrador em contabilidade assina como um IAM utilizador com as permissões necessárias paracriar e gerir repositórios em CodeCommit e criar funções em IAM. Se estiver a utilizar políticas geridas,aplique IAMacesso total e AWSCodeCommitFullAccess para isto IAM utilizador.

O ID da conta de exemplo da AccountA é . 111122223333.• O administrador em contabilidade assina como um IAM utilizador com as permissões necessárias para

criar e gerir IAM utilizadores e grupos e para configurar políticas para utilizadores e grupos. Se estiver autilizar políticas geridas, aplique IAMacesso a este IAM utilizador.

O ID da conta de exemplo da AccountB é . 888888888888.• O utilizador do repositório em contabilidade, para emular as actividades de um programador, assina

como um IAM utilizador que é membro do IAM grupo criado para permitir o acesso ao CodeCommitrepositório em conta. Essa conta deve ser configurada com:• AWSAcesso ao Console de Gerenciamento da• Uma chave de acesso e uma chave secreta a serem usadas ao se conectar aos recursos da AWS e o

ARN da função a ser assumida ao acessar repositórios em AccountA.• O utilitário git-remote-codecommit no computador local onde o repositório é clonado. Esse utilitário

requer o Python e seu instalador, pip. Pode transferir o utilitário de git-remote-codecommit no websitePython Package Index.

Para mais informações, consulte Passos de configuração para ligações HTTPS para AWS CodeCommitcom código de controlo git-remote (p. 14) e IAM utilizadores.

Tópicos• Acesso ao repositório de contas cruzadas: Ações para o administrador em contabilidade (p. 143)• Acesso ao repositório de contas cruzadas: Ações para o administrador em contabilidade (p. 146)• Acesso ao repositório de contas cruzadas: Ações para o usuário do repositório na AccountB. (p. 147)

Acesso ao repositório de contas cruzadas: Ações parao administrador em contabilidadePara permitir que os usuários ou grupos na AccountB acessem um repositório na AccountA, oadministrador da AccountA deve:

• Criar uma política na AccountA que concede acesso ao repositório.• Criar uma função na AccountA que possa ser assumida por usuários e grupos do IAM na AccountB.• Anexe a política do à função.

As seções a seguir apresentam etapas e exemplos.

Tópicos• Etapa 1 Criar uma política para acesso ao repositório em contabilidade (p. 144)

Versão da API 2015-04-13143

Page 153: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAcesso ao repositório de contas cruzadas:

Ações para o administrador em contabilidade

• Etapa 2. Criar uma função para acesso ao repositório em contabilidade (p. 145)

Etapa 1 Criar uma política para acesso ao repositório emcontabilidadeVocê pode criar uma política na AccountA que concede acesso ao repositório na AccountB. Dependendodo nível de acesso que deseja conceder, execute uma das seguintes ações:

• Configure a política para permitir que os usuários da AccountB acessem a um repositório específico,mas não permita a visualização da lista de todos os repositórios na AccountA.

• Configure o acesso adicional para permitir que os usuários da AccountB escolham o repositório em umalista de todos os repositórios na AccountA.

Para criar uma política para acesso ao repositório

1. Iniciar sessão no AWS Consola de Gestão como IAM utilizador com permissões para criar políticas emcontabilidade.

2. Abra o console do IAM em https://console.aws.amazon.com/iam/.3. No painel de navegação, escolha Políticas.4. Escolher Criar política.5. Escolha o JSON e cole o seguinte documento da política JSON na caixa de texto JSON. Substituir

us-east-2 com a região AWS para o repositório, 111122223333 com a ID de conta paracontabilidade, e MySharedDemoRepo com o nome para o seu CodeCommit repositório emcontabilidade:

{"Version": "2012-10-17","Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] }]}

Se você quiser que os usuários assumam essa função para poder visualizar uma lista de repositóriosna página inicial do console do CodeCommit, adicione uma declaração adicional a essa política, daseguinte forma:

Versão da API 2015-04-13144

Page 154: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAcesso ao repositório de contas cruzadas:

Ações para o administrador em contabilidade

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] }, { "Effect": "Allow", "Action": "codecommit:ListRepositories", "Resource": "*" } ]}

Esse acesso facilita para os usuários que assumem essa função com essa política a localizaçãodo repositório ao qual eles têm acesso. Eles podem escolher o nome do repositório na lista eserem direcionados para a página inicial do repositório compartilhado (Code). Os utilizadores nãopodem aceder a nenhum dos outros repositórios que vê na lista, mas podem ver os repositórios emcontabilidade no Painel página.

Se não quiser permitir que os utilizadores que assumem a função consigam ver uma lista de todos osrepositórios em contabilidade, utilize o primeiro exemplo de política, mas certifique-se de que envia aesses utilizadores uma ligação directa para a página inicial do repositório partilhado no CodeCommitconsola.

6. Escolher Rever a política. O validador de políticas reporta erros de sintaxe (por exemplo, se esquecerde substituir o exemplo AWS ID de conta e nome do repositório com o seu AWS ID da conta e nomedo repositório).

7. No Rever a política introduza um nome para a política (por exemplo,CrossAccountAccessForMySharedDemoRepoVocê também pode fornecer uma descrição opcionalpara esta política. Escolher Criar política.

Etapa 2. Criar uma função para acesso ao repositório emcontabilidadeApós configurar uma política, crie uma função que usuários e grupos do IAM na AccountB possam assumire anexe a política a essa função.

Para criar uma função para acesso ao repositório

1. No IAM consola, escolher Funções.

Versão da API 2015-04-13145

Page 155: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAcesso ao repositório de contas cruzadas:

Ações para o administrador em contabilidade

2. Escolher Criar função.3. Escolher Outro AWS conta.4. Em ID da conta, introduza o AWS ID da conta para contabilidade (por exemplo, 888888888888).

Escolher Seguinte: Permissões .5. Em Anexar políticas de permissões, seleccione a política que criou no procedimento anterior

(CrossAccountAccessForMySharedDemoRepo). Escolher Seguinte: Analise .6. Em Nome da função, introduza um nome para a função (por exemplo,

MyCrossAccountRepositoryContributorRoleVocê também pode inserir uma descriçãoopcional para ajudar outras pessoas a entenderem a finalidade da função.

7. Escolher Criar função.8. Abra a função recém-criada e copie o ARN da função (por exemplo,

arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Vocêprecisa fornecer esse ARN para o administrador da AccountB.

Acesso ao repositório de contas cruzadas: Ações parao administrador em contabilidadePara permitir que os usuários ou grupos na AccountB acessem um repositório na AccountA, oadministrador da AccountB deve criar um grupo na AccountB. Esse grupo deve ser configurado com umapolítica que permite que os membros do grupo assumam a função criada pelo administrador da AccountA.

As seções a seguir apresentam etapas e exemplos.

Tópicos• Etapa 1 Criar um IAM grupo para acesso ao repositório para utilizadores de contabilidade (p. 146)• Etapa 2. Criar uma política e adicionar utilizadores ao IAM grupo (p. 147)

Etapa 1 Criar um IAM grupo para acesso ao repositório parautilizadores de contabilidadeA forma mais simples de gerir o que IAM os utilizadores em contabilidade podem aceder ao repositório decontabilidade para criar um IAM grupo em contabilidade que tem autorização para assumir a função emcontabilidade e, em seguida, adicionar IAM utilizadores para esse grupo.

Para criar um grupo para acesso ao repositório entre várias contas

1. Iniciar sessão no AWS Consola de Gestão como IAM utilizador com as permissões necessárias paracriar IAM grupos e políticas e gerir IAM utilizadores em contabilidade.

2. Abra o console do IAM em https://console.aws.amazon.com/iam/.3. No IAM consola, escolher Grupos.4. Escolher Criar novo grupo.5. Em Nome do grupo, introduza um nome para o grupo (por exemplo,

DevelopersWithCrossAccountRepositoryAccess). Escolher Passo seguinte.6. Em Anexar política, escolha Passo seguinte. Crie a política entre várias contas no próximo

procedimento. Conclua a criação do grupo.

Versão da API 2015-04-13146

Page 156: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAcesso ao repositório de contas cruzadas: Ações

para o usuário do repositório na AccountB.

Etapa 2. Criar uma política e adicionar utilizadores ao IAM grupoAgora que você tem um grupo, crie a política que permite aos membros desse grupo assumir a funçãoque fornece acesso ao repositório na AccountA. Em seguida, adicione ao grupo os usuários do IAM naAccountB a qual você deseja permitir o acesso na AccountA.

Para criar uma política para o grupo e adicionar usuários a ele

1. No IAM consola, escolher Grupose depois escolha o nome do grupo que acabou de criar (porexemplo, DevelopersWithCrossAccountRepositoryAccess).

2. Escolha o Permissões separador. Expandir Políticas inline, e depois escolha a ligação para criar umapolítica inline. (Se estiver a configurar um grupo que já tem uma política inline, escolha Criar políticade grupo.)

3. Escolher Política personalizada, e depois escolha Selecionar.4. Em Nome da apólice, introduza um nome para a política (por exemplo,

AccessPolicyForSharedRepository).5. Em Documento da política, cole a seguinte política. Em Resource, substitua o ARN

com o ARN da política criada pelo administrador em contabilidade (por exemplo,arn:aws:iam::111122223333funçãoMyCrossAccountRepositoryContributorRole) e,em seguida, escolha Aplicar política. Para obter mais informações sobre a política criada peloadministrador na AccountA, consulte Etapa 1 Criar uma política para acesso ao repositório emcontabilidade (p. 144).

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole" }}

6. Escolha o Utilizadores separador. Escolher Adicionar utilizadores ao grupoe depois adicione aconta IAM utilizadores. Por exemplo, pode adicionar um IAM utilizador com o nome de utilizadorSaanvi_Sarkar ao grupo.

Note

Os usuários na AccountB devem ter acesso programático, inclusive uma chave de acesso euma chave secreta, para configurar os computadores locais a fim de ter acesso ao repositóriodo CodeCommit compartilhado. Se você estiver criando usuários do IAM, salve a chave deacesso e a chave secreta. Para ajudar a garantir a segurança de sua conta da AWS, a chavede acesso secreta é acessível somente no momento em que é criada.

Acesso ao repositório de contas cruzadas: Ações parao usuário do repositório na AccountB.Para acessar o repositório na AccountA, os usuários no grupo a AccountB devem configurar oscomputadores locais para acesso ao repositório. As seções a seguir apresentam etapas e exemplos.

Tópicos• Etapa 1 Configurar o AWS CLI e Git para um utilizador de contabilidade aceder ao repositório em

contabilidade (p. 148)

Versão da API 2015-04-13147

Page 157: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAcesso ao repositório de contas cruzadas: Ações

para o usuário do repositório na AccountB.

• Etapa 2. Clonar e aceder ao CodeCommit repositório em contabilidade (p. 150)

Etapa 1 Configurar o AWS CLI e Git para um utilizador decontabilidade aceder ao repositório em contabilidadeNão pode utilizar as teclas SSH ou as credenciais Git para aceder a repositórios noutro AWS conta. osutilizadores de contabilidade têm de configurar os seus computadores para utilizar git-remote-codecommit(recomendado) ou o auxiliar da credencial para aceder ao partilhado CodeCommit repositório em conta.No entanto, você pode continuar a usar as chaves SSH ou as credenciais do Git ao acessar repositórios naAccountB.

Siga estes passos para configurar o acesso utilizando git-remote-codecommit. Se ainda não instalou git-remote-codecommit, transfira-o de git-remote-codecommit no website Python Package Index.

Para configurar a AWS CLI e o Git para acesso entre várias contas

1. Instale a AWS CLI no computador local. Consulte as instruções para o seu sistema operativo emInstalar o AWS CLI.

2. Instale o Git no computador local. Para instalar Git, recomendamos websites como Downloads de Gitou T para Windows.

Note

CodeCommit é compatível com o Git versões 1.7.9 ou posterior. Recomendamos o uso deuma versão recente do Git. O Git é uma plataforma em constante evolução. Certas vezes,uma alteração do recurso pode afetar o modo como ele funciona com o CodeCommit.Se você tiver problemas com uma versão específica do Git e do CodeCommit, reveja asinformações em Solução de problemas (p. 388).

3. A partir do terminal ou linha de comandos, no local do directório onde pretende clonar o repositório,execute o git config --local user.name e git config --local user.email comandos para definir o nome deutilizador e-mail para o compromisso que irá fazer no repositório. Por exemplo, .

git config --local user.name "Saanvi Sarkar"git config --local user.email [email protected]

Esses comandos não retornam nada, mas o e-mail e o nome de usuário especificados serãoassociados às confirmações feitas no repositório na AccountA.

4. Execute o aws configure --profile comando para configurar um perfil padrão a ser usado ao seconectar aos recursos na AccountB. Quando solicitado, forneça a chave de acesso e chave secretapara o seu IAM utilizador.

Note

Se já tiver instalado o AWS CLI e configurado um perfil, você poderá ignorar essa etapa.

Por exemplo, execute o seguinte comando para criar uma predefinição AWS CLI perfil que utiliza paraaceder AWS recursos em contabilidade em Leste dos EUA (Ohio) (us-east-2):

aws configure

Quando solicitado, forneça as seguintes informações:

AWS Access Key ID [None]: Your-IAM-User-Access-KeyAWS Secret Access Key ID [None]: Your-IAM-User-Secret-Access-KeyDefault region name ID [None]: us-east-2

Versão da API 2015-04-13148

Page 158: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAcesso ao repositório de contas cruzadas: Ações

para o usuário do repositório na AccountB.

Default output format [None]: json

5. Execute o comando aws configure --profile novamente para configurar um perfil nomeado a ser usadoao se conectar ao repositório na AccountA Quando solicitado, forneça a chave de acesso e chavesecreta para o seu IAM utilizador. Por exemplo, execute o seguinte comando para criar uma AWSCLI nome designado MyCrossAccountAccessProfile que utiliza para aceder a um repositório emcontabilidade Leste dos EUA (Ohio) (us-east-2):

aws configure --profile MyCrossAccountAccessProfile

Quando solicitado, forneça as seguintes informações:

AWS Access Key ID [None]: Your-IAM-User-Access-KeyAWS Secret Access Key ID [None]: Your-IAM-User-Secret-Access-KeyDefault region name ID [None]: us-east-2Default output format [None]: json

6. Num editor de texto simples, abra o config ficheiro, também conhecido como AWS CLI ficheiro deconfiguração. Dependendo do seu sistema operativo, este ficheiro pode estar localizado em ~/.aws/config em Linux, macOS, or Unix, ou em driveUsuáriosUSERNAME\.aws\config no Windows.

7. No arquivo, localize a entrada que corresponde ao perfil padrão configurado para acesso aosrepositórios na AccountB. A aparência deve ser semelhante à seguinte:

[default]region = us-east-2output = json

Adicione account à configuração do perfil. Forneça o ID da conta da AWS da AccountB. Porexemplo, .

[default]account = 888888888888region = us-east-2output = json

8. No ficheiro, encontre a entrada correspondente à MyCrossAccountAccessProfile perfil queacabou de criar. A aparência deve ser semelhante à seguinte:

[profile MyCrossAccountAccessProfile]region = us-east-2output = json

Adicionar account, role_arn e source_profile para a configuração do perfil. Forneça o ID daconta da AWS da AccountA, o ARN da função na AccountA que você pretende assumir para acessaro repositório na outra conta e o nome do perfil padrão da AWS CLI na AccountB. Por exemplo, .

[profile MyCrossAccountAccessProfile]region = us-east-2account = 111122223333role_arn = arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRolesource_profile = defaultoutput = json

Salve suas alterações e feche o editor de texto plano.

Versão da API 2015-04-13149

Page 159: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAcesso ao repositório de contas cruzadas: Ações

para o usuário do repositório na AccountB.

Etapa 2. Clonar e aceder ao CodeCommit repositório emcontabilidadeExecutar git clone, git push, e git pull para clonar, empurrar e puxar, a conta cruzada CodeCommitrepositório. Também pode iniciar sessão no AWS Consola de Gestão, alternar funções e utilizar oCodeCommit para interagir com o repositório na outra conta.

Note

Dependendo de como a função do IAM foi configurada, você pode visualizar repositóriosna página padrão do CodeCommit. Se não conseguir visualizar os repositórios, peça aoadministrador do repositório para enviar uma ligação URL para o Código para o repositóriopartilhado no CodeCommit consola. O URL é semelhante ao seguinte:

https://console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MySharedDemoRepo/browse/HEAD/--/

Para clonar o repositório entre várias contas para seu computador local

1. Na linha de comando ou terminal, no directório onde pretende clonar o repositório, execute o git clonecom o HTTPS (GRC) URL do clone. Por exemplo, .

git clone codecommit://MyCrossAccountAccessProfile@MySharedDemoRepo

A não ser que você especifique o contrário, o repositório é clonado em um subdiretório com o mesmonome do repositório.

2. Altere os diretórios do repositório clonado e adicione ou faça uma alteração em um arquivo. Porexemplo, pode adicionar um ficheiro chamado NewFile.txt.

3. Adicione o ficheiro às alterações assinaladas para a repo local, comprometa a alteração e empurre oficheiro para o CodeCommit repositório. Por exemplo, .

git add NewFile.txtgit commit -m "Added a file to test cross-account access to this repository"git push

Para obter mais informações, consulte Como começar com Git e AWS CodeCommit (p. 69).

Agora que você adicionou um arquivo, vá para o console do CodeCommit para visualizar sua confirmação,analisar as alterações ao repositório de outros usuários, participar de solicitações pull e muito mais.

Para aceder ao repositório de contas cruzadas no CodeCommit consola

1. Iniciar sessão no Console de gerenciamento da AWS em contabilidade (888888888888) como o IAMutilizador a quem foi concedido acesso de conta cruzada ao repositório em contabilidade.

2. Escolha o seu nome de utilizador na barra de navegação e na lista pendente, escolha Função dointerruptor.

Note

Se esta for a primeira vez que selecionou esta opção, reveja a informação na página eescolha Função do interruptor novamente.

3. No Função do interruptor , faça o seguinte:

• Em Conta, introduza a ID da conta para a conta (por exemplo, 111122223333).

Versão da API 2015-04-13150

Page 160: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEliminar um repositório

• Em Função, introduza o nome da função que pretende assumir para aceder ao repositório emcontabilidade (por exemplo, MyCrossAccountRepositoryContributorRole).

• Em Nome do visor, introduza um nome amigável para esta função. Esse nome aparece no consoleao assumir essa função. Ele também é exibido na lista de funções assumidas na próxima vez quevocê quiser alternar funções no console.

• (Opcional) Em Cor, escolha uma etiqueta de cor para o nome de apresentação.• Escolher Função do interruptor.

Para mais informações, consulte Mudar para uma função (Console de gerenciamento da AWS).4. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.

Se a função assumida tiver permissão para visualizar os nomes dos repositórios na AccountA, vocêverá uma lista de repositórios e uma mensagem de erro que informa que você não tem permissõespara visualizar o status deles. Esse comportamento é esperado. Escolha o nome do repositóriocompartilhado na lista.

Se a função assumida não tiver permissão para visualizar os nomes dos repositórios na AccountA,você verá uma mensagem de erro e uma lista em branco sem repositórios. Cole o link de URL dorepositório ou modifique o link do console e altere /list para o nome do repositório compartilhado(por exemplo, /MySharedDemoRepo).

5. Em Código, encontre o nome do ficheiro que adicionou a partir do seu computador local. Escolha-opara procurar pelo código no arquivo e, em seguida, procure no restante do repositório e comece ausar seus recursos.

Para obter mais informações, consulte Conceitos básicos de AWS CodeCommit (p. 56).

Eliminar um AWS CodeCommit repositórioPode utilizar o CodeCommit consola ou AWS CLI para eliminar um Repositório do CodeCommit.

Note

A exclusão de um repositório não exclui nenhuma cópia local do repositório (repositórioslocais). Para excluir um repo local, use o diretório da sua máquina local e as ferramentas degerenciamento de arquivo.

Tópicos• Eliminar um CodeCommit repositório (consola) (p. 151)• Eliminar uma repo local (p. 152)• Eliminar um CodeCommit repositório (AWS CLI) (p. 152)

Eliminar um CodeCommit repositório (consola)Siga estas etapas para usar o console do CodeCommit para excluir um Repositório do CodeCommit.

Important

Depois de eliminar um Repositório do CodeCommit, já não consegue cloná-lo a qualquer repolocal ou repo partilhado. Também não será mais possível efetuar pull de dados dele nem enviarpush de dados para ele de nenhum repo local ou repositório compartilhado. Esta ação não podeser desfeita.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.

Versão da API 2015-04-13151

Page 161: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEliminar uma repo local

2. Em Repositórios, escolha o nome do repositório que pretende eliminar.3. No painel de navegação, escolha Definições.4. No Geral separador, em Eliminar repositório, escolha Eliminar repositório. Introduzir delete, e depois

escolha Eliminar. O repositório será excluído permanentemente.

Note

A exclusão do repositório do CodeCommit não exclui nenhum repositório local.

Eliminar uma repo localUse o diretório da sua máquina local e as ferramentas de gerenciamento de arquivo para excluir o diretórioque contém o repo local.

Eliminar um repo local não elimina nenhum Repositório do CodeCommit a que pode estar ligado.

Eliminar um CodeCommit repositório (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Para utilizar o AWS CLI para eliminar um Repositório do CodeCommit, execute o delete-repository ,especificando o nome do Repositório do CodeCommit para eliminar (com o --repository-name opção).

Important

Depois de eliminar um Repositório do CodeCommit, já não consegue cloná-lo a qualquer repolocal ou repo partilhado. Também não será mais possível efetuar pull de dados dele nem enviarpush de dados para ele de nenhum repo local ou repositório compartilhado. Esta ação não podeser desfeita.

Tip

Para obter o nome do Repositório do CodeCommit, execute o list-repositories (p. 134) comando.

Por exemplo, para excluir um repositório chamado MyDemoRepo:

aws codecommit delete-repository --repository-name MyDemoRepo

Se houver êxito, o ID do Repositório do CodeCommit que foi excluído permanentemente aparecerá nasaída:

{ "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE"}

A exclusão de um Repositório do CodeCommit não exclui repositórios locais que possam estar conectadosa ele.

Versão da API 2015-04-13152

Page 162: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Trabalhar com ficheiros em AWSCodeCommit repositórios

No CodeCommit, um arquivo é uma informação autônoma e controlada pela versão disponível para vocêe outros usuários do repositório e a ramificação na qual o arquivo está armazenado. Você pode organizarseus arquivos de repositório em uma estrutura de diretórios, assim como faria em um computador. Aocontrário de um computador, o CodeCommit rastreia automaticamente todas as alterações em um arquivo.Você pode comparar as versões de um arquivo e armazenar diferentes versões dele em diferentesramificações do repositório.

Para adicionar ou editar um arquivo em um repositório, você pode usar um cliente do Git. Também podeutilizar o CodeCommit consola, a AWS CLI, ou o CodeCommit API.

Para obter informações sobre como trabalhar com outros aspetos do seu repositório em CodeCommit,consulte Trabalhar com repositórios (p. 90), Trabalhar com solicitações pull (p. 161), Trabalharcom ramificações (p. 257), Trabalhar com empenho (p. 222), e Trabalhar com preferências doutilizador (p. 273).

Tópicos• Procurar ficheiros num AWS CodeCommit repositório (p. 154)• Criar ou adicionar um ficheiro a um AWS CodeCommit repositório (p. 155)• Editar o conteúdo de um ficheiro num AWS CodeCommit repositório (p. 157)

Versão da API 2015-04-13153

Page 163: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioProcurar ficheiros num repositório

Procurar ficheiros num AWS CodeCommitrepositório

Depois de ligar a um CodeCommit repositório, pode cloná-lo para uma repo local ou utilizar o CodeCommitpara navegar no seu conteúdo. Este tópico descreve como utilizar o CodeCommit para navegar noconteúdo de um CodeCommit repositório.

Note

Para ativo CodeCommit não existe qualquer custo para o código de navegação do CodeCommitconsola. Para obter informações sobre quando podem aplicar-se taxas, consulte Preços.

Procurar um CodeCommit repositórioVocê pode usar o console do CodeCommit para revisar os arquivos contidos em um repositório ou para lerrapidamente o conteúdo de um arquivo.

Para navegar no conteúdo de um repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No Repositórios , a partir da lista de repositórios, escolha o repositório que pretende pesquisar.3. No Código ver, navegar pelos conteúdos da sucursal predefinida para o seu repositório.

Para alterar a visualização para outra ramificação ou tag, escolha o botão seletor de visualização.Escolha um nome de ramificação ou de tag na lista suspensa ou, na caixa de filtro, insira o nome daramificação ou da tag e escolha-o na lista.

4. Execute um destes procedimentos:

• Para visualizar o conteúdo de um diretório, escolha-o na lista. Você pode escolher alguns diretóriosna lista de navegação para retornar à visualização do diretório. Também é possível usar a seta paracima na parte superior da lista de diretórios.

• Para visualizar o conteúdo de um arquivo, escolha-o na lista. Se o arquivo for maior do que o limitede objeto de confirmação, ele não poderá ser visualizado no console e deve ser visualizado em um

Versão da API 2015-04-13154

Page 164: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar ou adicionar um ficheiro

repositório local. Para obter mais informações, consulte Cotas (p. 418). Para sair da visualizaçãodo arquivo, na barra de navegação de código, escolha o diretório que deseja ver.

Note

Se você escolher um arquivo binário, será exibida uma mensagem de aviso pedindo quevocê confirme se deseja exibir o conteúdo. Para ver o ficheiro, escolha Mostrar conteúdo doficheiro. Caso não queira ver o arquivo, na barra de navegação de código, escolha o diretórioque deseja visualizar.Se escolher um ficheiro de lista (.md), utilize o Desconto extinto e Fonte pendente paraalternar entre as vistas renderizadas e de sintaxe.

Criar ou adicionar um ficheiro a um AWSCodeCommit repositório

Pode utilizar o CodeCommit consola, AWS CLI, ou um cliente Git para adicionar um ficheiro a umrepositório. Você pode fazer upload de um arquivo do computador local no repositório, ou usar o editorde códigos no console para criar o arquivo. O editor é uma maneira rápida e fácil de adicionar um arquivosimples, como um arquivo readme.md, a uma ramificação de um repositório.

Tópicos• Criar ou carregar um ficheiro (consola) (p. 155)• Adicionar um arquivoAWS CLI) (p. 156)• Adicionar um ficheiro (Git) (p. 157)

Criar ou carregar um ficheiro (consola)Pode utilizar o CodeCommit para criar um ficheiro e adicioná-lo a uma sucursal num CodeCommitrepositório. Como parte da criação do arquivo, você pode fornecer seu nome de usuário e um endereçode e-mail. Também é possível adicionar uma mensagem de confirmação para os outros usuários

Versão da API 2015-04-13155

Page 165: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAdicionar um arquivoAWS CLI)

saberem que você adicionou o arquivo e por qual motivo. Você também pode fazer upload de um arquivodiretamente do computador local para uma ramificação em um repositório.

Para adicionar um arquivo a um repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende adicionar um ficheiro.3. No Código visualizar, escolha a sucursal onde pretende adicionar o ficheiro. Por predefinição, o

conteúdo da ramificação predefinida é apresentado quando abre o Código ver.

Para alterar a visualização para outra ramificação, escolha o botão seletor de visualização. Escolhaum nome de ramificação na lista suspensa ou, na caixa de filtro, insira o nome da ramificação eescolha-o na lista.

4. Escolher Adicionar ficheiro, e depois escolha uma das seguintes opções:

• Para utilizar o editor de códigos para criar o conteúdo de um ficheiro e adicioná-lo ao repositório,escolha Criar ficheiro.

• Para carregar um ficheiro do computador local para o repositório, escolha Carregar ficheiro.5. Forneça informações a outros usuários sobre quem adicionou esse arquivo ao repositório e por qual

motivo.

• Em Nome do autor, introduza o seu nome. Este nome é utilizado como nome do autor e nome docomité na informação de compromisso. CodeCommit predefinição para utilizar o seu IAM nome deutilizador ou uma derivação do início de sessão da consola como nome do autor.

• Em Endereço de e-mail, introduza um endereço de e-mail para que outros utilizadores do repositóriopossam contactá-lo sobre esta alteração.

• Em Mensagem de compromisso, introduza uma breve descrição. Isso é opcional, mas altamenterecomendado. Caso contrário, uma mensagem de confirmação padrão será usada.

6. Execute um destes procedimentos:

• Se você estiver fazendo upload de um arquivo, escolha o arquivo no seu computador local.• Se você estiver criando um arquivo, insira o conteúdo que deseja adicionar no editor de códigos e

dê um nome para o arquivo.7. Escolher Comprometer alterações.

Adicionar um arquivoAWS CLI)Pode utilizar o AWS CLI e o put-file para adicionar um ficheiro num CodeCommit repositório. Você tambémpode usar o comando put-file para adicionar um diretório ou uma estrutura de caminho ao arquivo.

Note

Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter maisinformações, consulte Referência da linha de comando (p. 422).

Para adicionar um arquivo a um repositório

1. No computador local, crie o ficheiro que pretende adicionar ao CodeCommit repositório.2. No terminal ou na linha de comando, execute o comando put-file, especificando:

• O repositório no qual você deseja adicionar o arquivo.• A ramificação na qual você deseja adicionar o arquivo.• O ID de confirmação completo da confirmação mais recente feita nessa ramificação, também

conhecido como a confirmação de ponta ou cabeça.

Versão da API 2015-04-13156

Page 166: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAdicionar um ficheiro (Git)

• A localização atual do arquivo. A sintaxe usada para essa localização varia, dependendo do seusistema operacional local.

• O nome do arquivo que você deseja adicionar, incluindo o caminho onde o arquivo atualizado estáarmazenado no repositório, se houver.

• O nome de usuário e e-mail a serem associados a este arquivo.• Uma mensagem de confirmação explicando por que você adicionou este arquivo.

O nome de usuário, endereço de e-mail e a mensagem de confirmação são opcionais, mas ajudamoutros usuários a saber quem fez a alteração e por quê. Se não fornecer um nome de utilizador,CodeCommit predefinição para utilizar o seu IAM nome de utilizador ou uma derivação do início desessão da consola como nome do autor.

Por exemplo, para adicionar um ficheiro nomeado ExampleSolution.py para um repositórionomeado MyDemoRepo a uma filial nomeada feature-randomizationfeature que ocompromisso mais recente tem uma ID de 4c925148EXAMPLE:

aws codecommit put-file --repository-name MyDemoRepo --branch-name feature-randomizationfeature --file-content file://MyDirectory/ExampleSolution.py --file-path /solutions/ExampleSolution.py --parent-commit-id 4c925148EXAMPLE --name "María García" --email "maría_garcí[email protected]" --commit-message "I added a third randomization routine."

Note

Quando você adiciona arquivos binários, use fileb:// para especificar a localização atualdo arquivo.

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "blobId": "2eb4af3bEXAMPLE", "commitId": "317f8570EXAMPLE", "treeId": "347a3408EXAMPLE"}

Adicionar um ficheiro (Git)Pode adicionar ficheiros num comentário local e inserir as alterações a um CodeCommit repositório. Paraobter mais informações, consulte Como começar com Git e AWS CodeCommit (p. 69).

Editar o conteúdo de um ficheiro num AWSCodeCommit repositório

Pode utilizar o CodeCommit consola, AWS CLI, ou um cliente Git para editar o conteúdo de um ficheironum CodeCommit repositório.

Versão da API 2015-04-13157

Page 167: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar um ficheiro (consola)

Tópicos• Editar um ficheiro (consola) (p. 158)• Edit ou eliminar um ficheiro (AWS CLI) (p. 159)• Editar um ficheiro (Git) (p. 160)

Editar um ficheiro (consola)Pode utilizar o CodeCommit para editar um ficheiro que foi adicionado a uma sucursal num CodeCommitrepositório. Como parte da edição do arquivo, você pode fornecer seu nome de usuário e um endereço dee-mail. Também é possível adicionar uma mensagem de confirmação para os outros usuários saberemque você fez a alteração e por quê.

Para editar um arquivo em um repositório

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende editar um ficheiro.3. No Código visualizar, escolha a sucursal onde pretende editar o ficheiro. Por predefinição, o conteúdo

da ramificação predefinida é apresentado quando abre o Código ver.

Para alterar a visualização para outra ramificação, escolha o botão seletor de visualização. Escolhaum nome de ramificação na lista suspensa ou, na caixa de filtro, insira o nome da ramificação eescolha-o na lista.

4. Navegue pelo conteúdo da ramificação e escolha o arquivo que deseja editar. Na vista de ficheiro,escolha Editar.

Versão da API 2015-04-13158

Page 168: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEdit ou eliminar um ficheiro (AWS CLI)

Note

Se você escolher um arquivo binário, será exibida uma mensagem de aviso pedindo quevocê confirme se deseja exibir o conteúdo. Você não deve usar o console do CodeCommitpara editar arquivos binários.

5. Edite o arquivo e forneça informações a outros usuários sobre quem fez essa alteração e por qualmotivo.

• Em Nome do autor, introduza o seu nome. Este nome é utilizado como nome do autor e nome docomité na informação de compromisso. CodeCommit predefinição para utilizar o seu IAM nome deutilizador ou uma derivação do início de sessão da consola como nome do autor.

• Em Endereço de e-mail, introduza um endereço de e-mail para que outros utilizadores do repositóriopossam contactá-lo sobre esta alteração.

• Em Mensagem de compromisso, introduza uma breve descrição das suas alterações.6. Escolher Comprometer alterações para guardar as alterações ao ficheiro e comprometer as alterações

ao repositório.

Edit ou eliminar um ficheiro (AWS CLI)Pode utilizar o AWS CLI e o put-file para fazer alterações num ficheiro num CodeCommit repositório.Você também pode usar o comando put-file para adicionar um diretório ou estrutura de caminho aoarquivo alterado, caso deseje armazenar o arquivo alterado em um local diferente do original. Se pretendereliminar um ficheiro totalmente, pode utilizar o delete-file comando.

Note

Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter maisinformações, consulte Referência da linha de comando (p. 422).

Para editar um arquivo em um repositório

1. Utilizando uma cópia local do ficheiro, faça as alterações que pretende adicionar ao CodeCommitrepositório.

2. No terminal ou linha de comando, execute o put-file comando, especificar:

• O repositório no qual você deseja adicionar o arquivo editado.• A ramificação na qual você deseja adicionar o arquivo editado.• O ID de confirmação completo da confirmação mais recente feita nessa ramificação, também

conhecido como a confirmação de ponta ou cabeça.• A localização atual do arquivo.• O nome do arquivo atualizado que você deseja adicionar, incluindo o caminho onde o arquivo

atualizado está armazenado no repositório, se houver.• O nome de usuário e e-mail a serem associados a esta alteração.• Uma mensagem de confirmação que explica a alteração que você fez.

O nome de usuário, endereço de e-mail e a mensagem de confirmação são opcionais, mas ajudamoutros usuários a saber quem fez a alteração e por quê. Se não fornecer um nome de utilizador,CodeCommit predefinição para utilizar o seu IAM nome de utilizador ou uma derivação do início desessão da consola.

Por exemplo, para adicionar edições feitas a um ficheiro nomeado ExampleSolution.py para umrepositório nomeado MyDemoRepo a uma filial nomeada feature-randomizationfeature que ocompromisso mais recente tem uma ID de 4c925148EXAMPLE:

Versão da API 2015-04-13159

Page 169: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar um ficheiro (Git)

aws codecommit put-file --repository-name MyDemoRepo --branch-name feature-randomizationfeature --file-content file://MyDirectory/ExampleSolution.py --file-path /solutions/ExampleSolution.py --parent-commit-id 4c925148EXAMPLE --name "María García" --email "maría_garcí[email protected]" --commit-message "I fixed the bug Mary found."

Note

Se você deseja adicionar um arquivo binário alterado, use --file-content com a notaçãofileb://MyDirectory/MyFile.raw.

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "blobId": "2eb4af3bEXAMPLE", "commitId": "317f8570EXAMPLE", "treeId": "347a3408EXAMPLE"}

Para eliminar um ficheiro, utilize o delete-file comando. Por exemplo, para eliminar um ficheironomeado README.md numa agência nomeada master com uma ID de compromisso mais recente dec5709475EXAMPLE num repositório nomeado MyDemoRepo:

aws codecommit delete-file --repository-name MyDemoRepo --branch-name master --file-path README.md --parent-commit-id c5709475EXAMPLE

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "blobId":"559b44fEXAMPLE", "commitId":"353cf655EXAMPLE", "filePath":"README.md", "treeId":"6bc824cEXAMPLE"}

Editar um ficheiro (Git)Pode editar ficheiros num repo local e introduzir as alterações a um CodeCommit repositório. Para obtermais informações, consulte Como começar com Git e AWS CodeCommit (p. 69).

Versão da API 2015-04-13160

Page 170: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Trabalhar com pedidos de pull-inAWS CodeCommit repositórios

Uma solicitação de extração é a principal maneira para você e outros usuários de repositório analisarem,comentarem e mesclarem alterações de código de uma ramificação para outra. Você pode usarsolicitações de extração para analisar alterações de código de maneira colaborativa em caso de alteraçõesou correções relativamente pequenas, adições significativas de recursos ou novas versões do seusoftware lançado. Aqui está um possível fluxo de trabalho para uma solicitação pull:

Li Juan, uma desenvolvedora que trabalha em um repositório chamado MyDemoRepo, desejatrabalhar em um novo recurso para uma versão futura de um produto. Para manter o seu trabalhoseparado do código de produção, cria uma sucursal da sucursal e nomes predefinidos feature-randomizationfeatureEla escreve código, faz confirmações e envia o novo código de recurso porpush para essa ramificação. Ela quer que outros usuários do repositório analisem o código para verificar aqualidade antes de ela mesclar suas alterações na ramificação padrão. Para isso, ela cria uma solicitaçãopull. A solicitação de extração contém a comparação entre sua ramificação de trabalho e a ramificação docódigo em que ela pretende mesclar as alterações (neste caso, a ramificação padrão). Ela também podecriar uma regra de aprovação que exige que um número especificado de usuários aprovem a solicitaçãopull. Ela pode até mesmo especificar um grupo de aprovações de usuários. Outros usuários analisam seucódigo e alterações adicionando comentários e sugestões. Ela pode atualizar sua ramificação de trabalhovárias vezes com alterações de código em resposta aos comentários. Suas alterações são incorporadasna solicitação pull sempre que ela as envia para essa ramificação no CodeCommit. Ela também podeincorporar as alterações que foram feitas na ramificação de destino pretendida enquanto a solicitaçãode extração estiver aberta, para que os usuários possam ter certeza de que estão revisando todas asalterações propostas no contexto. Quando ela e seus revisores estiverem satisfeitos e as condições paraas regras de aprovação (se houver) forem atendidas, ela ou um de seus revisores mescla o código e fechaa solicitação pull.

Versão da API 2015-04-13161

Page 171: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

As solicitações de extraçãoexigem duas ramificações: uma ramificação de origem, que contém o códigoque você deseja analisar, e uma ramificação de destino, na qual você mescla o código revisado. Aramificação de origem contém a confirmação AFTER, que é a confirmação que contém as alterações quevocê deseja mesclar na ramificação de destino. A ramificação de destino contém a confirmação BEFORE,que representa o estado do código (antes de a ramificação da solicitação pull ser mesclada à ramificaçãode destino). A escolha da estratégia de fusão afecta os detalhes de como os compromissos são fundidosentre as filiais de origem e destino na CodeCommit consola. Para obter mais informações sobre asestratégias de mesclagem no CodeCommit, consulte Dividir um pedido de puxar (consola) (p. 191).

A solicitação de extração exibe as diferenças entre a extremidade da ramificação de origem e aconfirmação mais recente na ramificação de destino quando a solicitação de extração é criada para que osusuários possam visualizar e comentar sobre as alterações. Você pode atualizar a solicitação de extraçãoem resposta a comentários confirmando e enviando alterações para a ramificação de origem.

Quando o código for revisado e os requisitos da regra de aprovação (se houver) forem atendidos, serápossível fechar a solicitação pull de várias maneiras:

Versão da API 2015-04-13162

Page 172: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma solicitação pull

• Mescle as ramificações localmente e faça push de suas alterações. Isso fecha a solicitaçãoautomaticamente.

• Use o console do AWS CodeCommit para fechar a solicitação pull sem mesclar, resolver conflitosem um mesclagem ou, se não houver conflitos, fechar e mesclar as ramificações usando uma dasestratégias de mesclagem disponíveis.

• Usar o AWS CLI.

Ates de criar uma solicitação pull:

• Verifique se você confirmou e enviou as alterações de código por push que você deseja que sejamrevisadas a uma ramificação (a ramificação de origem).

• Configure notificações para seu repositório para que outros usuários possam ser notificados sobre asolicitação de extração e alterações feitas a ela. (Esta etapa é opcional, mas recomendada.)

• Crie e associe modelos de regra de aprovação ao repositório para que as regras de aprovação sejamcriadas automaticamente para solicitações pull a fim de ajudar a garantir a qualidade do código. Paraobter mais informações, consulte Trabalhar com modelos de regra de aprovação (p. 208).

Os pedidos de saída são mais eficazes quando se configurou IAM utilizadores para os utilizadores dorepositório no seu AWS conta. É mais fácil identificar qual usuário fez qual comentário. A outra vantagemé que os usuários do IAM podem usar credenciais do Git para acesso ao repositório. Para obter maisinformações, consulte Etapa 1 Configuração inicial para CodeCommit (p. 10). Você pode usar solicitaçõesde extração com outros tipos de usuários, incluindo usuários de acesso federado.

Para obter informações sobre como trabalhar com outros aspetos do seu repositório emCodeCommit, consulte Trabalhar com repositórios (p. 90), Trabalhar com modelos de regra deaprovação (p. 208), Trabalhar com ficheiros (p. 153), Trabalhar com empenho (p. 222), Trabalhar comramificações (p. 257), e Trabalhar com preferências do utilizador (p. 273).

Tópicos• Criar uma solicitação pull (p. 163)• Criar uma regra de aprovação para um pedido de pull-pull (p. 166)• Ver pedidos de pull num AWS CodeCommit repositório (p. 170)• Revisar uma solicitação pull (p. 174)• Atualizar uma solicitação pull (p. 183)• Editar ou eliminar uma regra de aprovação para um pedido de pull-pull (p. 185)• Substituir regras de aprovação num pedido de puxar (p. 189)• Intercalar um pedido de pull-in num AWS CodeCommit repositório (p. 190)• Resolver conflitos num pedido de puxar num AWS CodeCommit repositório (p. 198)• Fechar um pedido de puxar num AWS CodeCommit repositório (p. 206)

Criar uma solicitação pullA criação de solicitações pull ajuda outros usuários a ver e revisar suas alterações de código antes demesclá-las em outra ramificação. Primeiro, você cria uma ramificação para suas alterações de código. Elaé chamada de ramificação de origem para uma solicitação pull. Depois de confirmar e enviar alteraçõespara o repositório, você pode criar uma solicitação pull que compara o conteúdo dessa ramificação (aramificação de origem) com a ramificação em que deseja mesclar suas alterações após a solicitação pullser fechada (a ramificação de destino).

Versão da API 2015-04-13163

Page 173: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um pedido de puxar (consola)

Pode utilizar o AWS CodeCommit consola ou AWS CLI para criar pedidos de pull para o seu repositório.

Tópicos• Criar um pedido de puxar (consola) (p. 164)• Criar uma solicitação pullAWS CLI) (p. 165)

Criar um pedido de puxar (consola)Você pode usar o console do CodeCommit para criar uma solicitação de extração em um Repositório doCodeCommit. Se o seu repositório for configurado com notificações (p. 100), os utilizadores subscritosrecebem um e-mail quando criar um pedido de pull-pull.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende criar um pedido de puxar.3. No painel de navegação, escolha Pedidos de Pull.

Tip

Também pode criar pedidos de saída de Ramos e Código.4. Escolher Criar pedido de pull.

5. Em Criar pedido de pull, em Fonte, escolha o ramo que contém as alterações que pretende rever.6. Em Destino, escolha a sucursal onde pretende combinar o seu código muda quando o pedido de pull-

pull for fechado.7. Escolher Comparar. Uma comparação é executada nas duas ramificações, e as diferenças entre elas

são exibidas. Uma análise também é realizada para determinar se as duas ramificações podem sermescladas automaticamente quando a solicitação pull é fechada.

8. Analise os detalhes da comparação e as alterações para se certificar de que a solicitação pull contémas alterações e confirmações que você deseja analisar. Caso contrário, ajuste as suas escolhas parafiliais de origem e destino e escolha Comparar novamente.

9. Quando estiver satisfeito com os resultados de comparação para o pedido de pull, em Título, introduzaum título breve mas descritivo para esta revisão. Este é o título que aparece na lista de solicitaçõespull para o repositório.

10. (Opcional) Em Descrição, introduza detalhes sobre esta revisão e quaisquer outras informações úteispara os revisores.

11. Escolher Criar.

Versão da API 2015-04-13164

Page 174: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma solicitação pullAWS CLI)

Sua solicitação pull aparece na lista de solicitações pull para o repositório. Se notificaçõesconfiguradas (p. 100), assinantes para Amazon SNS tópico recebe um e-mail para informá-los do pedidode pull recentemente criado.

Criar uma solicitação pullAWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Para utilizar o AWS CLI para criar um pedido de puxar Repositório do CodeCommit

1. Execute o comando create-pull-request, especificando:

• O nome do pedido de pull-pull (com o --title opção).• A descrição do pedido de puxar (com o --description opção).• Uma lista de destinos para o comando create-pull-request, incluindo:

• O nome do Repositório do CodeCommit quando o pedido de pull for criado (com orepositoryName atributo).

• O nome da sucursal que contém as alterações de código que pretende revistas, tambémconhecidas como fonte de origem (com o sourceReference atributo).

• (Opcional) O nome da sucursal onde pretende combinar as alterações do código, tambémconhecido como sucursal de destino, se não quiser juntar-se à sucursal predefinida (com odestinationReference atributo).

• Um token de idempotency único e gerado pelo cliente (com o --client-request-token opção).

Este exemplo cria um pedido de puxar Pronunciation difficulty analyzer com umadescrição de Please review these changes by Tuesday que visa o jane-branch fonte deorigem. O pedido de pull-pull deve ser inserido na sucursal predefinida master em Repositório doCodeCommit nomeado MyDemoRepo:

aws codecommit create-pull-request --title "Pronunciation difficulty analyzer" --description "Please review these changes by Tuesday" --client-request-token 123Example --targets repositoryName=MyDemoRepo,sourceReference=jane-branch

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

Versão da API 2015-04-13165

Page 175: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma regra de aprovação

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd3d22fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-master" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::111111111111:user/Jane_Doe", "description": "Please review these changes by Tuesday", "title": "Pronunciation difficulty analyzer", "pullRequestTargets": [ { "destinationCommit": "5d036259EXAMPLE", "destinationReference": "refs/heads/master", "repositoryName": "MyDemoRepo", "sourceCommit": "317f8570EXAMPLE", "sourceReference": "refs/heads/jane-branch", "mergeMetadata": { "isMerged": false } } ], "lastActivityDate": 1508962823.285, "pullRequestId": "42", "clientRequestToken": "123Example", "pullRequestStatus": "OPEN", "creationDate": 1508962823.285 }}

Criar uma regra de aprovação para um pedido depull-pull

A criação de regras de aprovação de solicitações pull ajuda a garantir a qualidade do seu código, exigindoque os usuários aprovem a solicitação pull para que o código possa ser mesclado à ramificação dedestino. É possível especificar o número de usuários que devem aprovar uma solicitação pull. Tambémé possível especificar um grupo de aprovações de usuários para a regra. Se você fizer isso, somente asaprovações desses usuários contarão para o número de aprovações necessárias para a regra.

Note

Também é possível criar modelos de regras de aprovação, que podem ajudar a automatizar acriação de regras de aprovação em vários repositórios. Para obter mais informações, consulteTrabalhar com modelos de regra de aprovação (p. 208).

Versão da API 2015-04-13166

Page 176: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma regra de aprovação

para um pedido de pull (consola)

Pode utilizar o AWS CodeCommit consola ou AWS CLI para criar regras de aprovação para o seurepositório.

Tópicos• Criar uma regra de aprovação para um pedido de pull (consola) (p. 167)• Criar uma regra de aprovação para um pedido de pull-pull (AWS CLI) (p. 169)

Criar uma regra de aprovação para um pedido de pull(consola)É possível usar o console do CodeCommit para criar uma regra de aprovação de uma solicitação pull emum Repositório do CodeCommit.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende criar uma regra de aprovação para um

pedido de pull-pull.3. No painel de navegação, escolha Pedidos de Pull.4. Escolha a solicitação pull da qual você deseja criar uma regra de aprovação na lista. Só é possível

criar regras de aprovação de solicitações pull abertas.

5. No pedido pull, escolha Aprovações, e depois escolha Criar regra de aprovação.6. Em Nome da regra, dê a regra um nome descritivo para que saiba o que é para. Por exemplo, se você

deseja exigir que duas pessoas aprovem uma solicitação pull para que ela possa ser mesclada, épossível nomear a regra Require two approvals before merge.

Note

Não é possível alterar o nome de uma regra de aprovação depois de criá-la.

Em Número de aprovações necessárias, introduza o número que pretende. O padrão é 1.

Versão da API 2015-04-13167

Page 177: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma regra de aprovação

para um pedido de pull (consola)

7. (Opcional) Se pretender solicitar que as aprovações para um pedido de pull-pull sejam provenientesde um grupo específico de utilizadores, em Membros da regra de aprovação, escolha Adicionar. EmTipo de aprovador, escolha uma das seguintes opções:

• IAM nome do utilizador ou função assumida: Esta opção preenche o AWS ID da conta com a contaque utilizou para iniciar sessão e apenas requer um nome. Ela pode ser usada para usuários deacesso federado e usuários do IAM cujos nomes correspondam ao nome fornecido. Essa é umaopção muito eficiente que oferece uma grande flexibilidade. Por exemplo, se tiver sessão iniciadacom o AWS conta 123456789012 e escolha esta opção e especifique Mary_Major, todos osseguintes são contabilizados como aprovações provenientes desse utilizador:• Um usuário do IAM na conta (arn:aws:iam::123456789012:user/Mary_Major)• Um usuário federado identificado no IAM como Mary_Major

(arn:aws:sts::123456789012:federated-user/Mary_Major)

Esta opção não reconheceria uma sessão activa de alguém assumindo afunção de CodeCommitReview com um nome de sessão de Mary_Major(arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) a menosque inclua um carácter universal (*Mary_Major). Você também pode especificar o nome da funçãoexplicitamente (CodeCommitReview/Mary_Major).

• ARN totalmente qualificado: Esta opção permite-lhe especificar o Nome do Recurso Amazon (ARN)totalmente qualificado do IAM utilizador ou função. Esta opção também suporta funções assumidasutilizadas por outro AWS serviços, tais como AWS Lambda e AWS CodeBuild. Para funçõesassumidas, o formato ARN deve ser arn:aws:sts::AccountID:assumed-role/RoleNamepara funções e arn:aws:sts::AccountID:assumed-role/FunctionName para funções.

Se escolheu IAM nome do utilizador ou função assumida como o tipo de aprovador, em Valor,introduza o nome do IAM utilizador ou função ou o ARN totalmente qualificado do utilizador ou função.Escolher Adicionar novamente para adicionar mais utilizadores ou funções, até adicionar todos osutilizadores ou funções cujas aprovações contam para o número de aprovações necessárias.

Ambos os tipos de aprovadores permitem usar curingas (*) em seus valores. Por exemplo, seescolher o IAM nome do utilizador ou função assumida e especificar CodeCommitReview/*, todosos utilizadores que assumem a função de CodeCommitReview são contabilizados no grupo deaprovação. Os nomes de sessão de função individual são contabilizados no número necessário deaprovadores. Desta forma, tanto Mary_Major como Li_Juan são contabilizados como aprovações

Versão da API 2015-04-13168

Page 178: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma regra de aprovação paraum pedido de pull-pull (AWS CLI)

quando são iniciadas e assumindo a função de CodeCommitReview. Para mais informações sobreIAM arns, caracter e formatos, ver IAM Identificadores.

Note

As regras de aprovação não oferecem suporte a aprovações entre contas.8. Quando terminar de configurar a regra de aprovação, escolha Enviar.

Criar uma regra de aprovação para um pedido de pull-pull (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Como criar uma regra de aprovação de uma solicitação pull em um Repositório do CodeCommit

1. Execute o comando create-pull-request-approval-rule, especificando:

• A ID do pedido de pull-pull (com o --id opção).• O nome da regra de aprovação (com o --approval-rule-name opção).• O conteúdo da regra de aprovação (com o --approval-rule-content opção).

Ao criar a regra de aprovação, é possível especificar aprovadores em um grupo de aprovações deduas maneiras:

• responsáveis pela aprovação do catálogo: Esta opção requer apenas um AWS conta e um recurso.Ela pode ser usada para usuários de acesso federado e usuários do IAM cujo nome corresponde aonome do recurso fornecido. Essa é uma opção muito eficiente que oferece uma grande flexibilidade.Por exemplo, se especificar o AWS conta 123456789012 e Mary_Major, todos os seguintes sãocontabilizados como aprovações provenientes desse utilizador:• Um usuário do IAM na conta (arn:aws:iam::123456789012:user/Mary_Major)• Um usuário federado identificado no IAM como Mary_Major

(arn:aws:sts::123456789012:federated-user/Mary_Major)

Esta opção não reconheceria uma sessão activa de alguém assumindo afunção de CodeCommitReview com um nome de sessão de Mary_Major(arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) a menosque inclua um carácter universal (*Mary_Major).

• ARN totalmente qualificado: Esta opção permite-lhe especificar o Nome do Recurso Amazon (ARN)totalmente qualificado do IAM utilizador ou função.

Para mais informações sobre IAM arns, caracter e formatos, ver IAM Identificadores.

O exemplo seguinte cria uma regra de aprovação nomeada Require two approved approverspara um pedido de puxar com a ID de 27. A regra especifica que são necessárias duas aprovações deum grupo de aprovação. O conjunto inclui todos os utilizadores que acedem CodeCommit e assumir afunção de CodeCommitReview no 123456789012 AWS conta. Também inclui um IAM utilizador ouutilizador federado nomeado Nikhil_Jayashankar no mesmo AWS conta:

aws codecommit create-pull-request-approval-rule --pull-request-id 27 --approval-rule-name "Require two approved approvers" --approval-rule-content "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\":

Versão da API 2015-04-13169

Page 179: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar solicitações pull

2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRule": { "approvalRuleName": "Require two approved approvers", "lastModifiedDate": 1570752871.932, "ruleContentSha256": "7c44e6ebEXAMPLE", "creationDate": 1570752871.932, "approvalRuleId": "aac33506-EXAMPLE", "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major" }}

Ver pedidos de pull num AWS CodeCommitrepositório

Pode utilizar o AWS CodeCommit consola ou AWS CLI para ver pedidos de pull para o seu repositório. Porpadrão, você vê somente solicitações de extração em aberto, mas pode alterar o filtro para exibir todas assolicitações de extração, somente as solicitações fechadas, somente as solicitações de extração que vocêcriou e mais.

Tópicos• Ver pedidos de pull (consola) (p. 170)• Visualizar solicitações pullAWS CLI) (p. 171)

Ver pedidos de pull (consola)Você pode usar o console do AWS CodeCommit para visualizar uma lista de solicitações de extraçãoem um Repositório do CodeCommit. Ao alterar o filtro, você pode alterar a exibição em lista para mostrarapenas um determinado conjunto de solicitações de extração. Por exemplo, pode ver uma lista de pedidosde pull que criou com um estado de Aberto, ou pode escolher um filtro diferente e ver pedidos de pull quecriou com um estado de Fechado.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende ver pedidos de pull.3. No painel de navegação, escolha Pedidos de Pull.4. Por padrão, é exibida uma lista de todas as solicitações de extração abertas.

Versão da API 2015-04-13170

Page 180: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar solicitações pullAWS CLI)

5. Para alterar o filtro de exibição, escolha na lista de filtros disponíveis:

• Pedidos abertos (predefinição): Mostra todos os pedidos de pull com um estado de Aberto.• Todos os pedidos de pull: Apresenta todos os pedidos de pull-pull.• Pedidos de puxar fechados: Mostra todos os pedidos de pull com um estado de Fechado.• Os meus pedidos de pull-pull: Apresenta todos os pedidos de pull que criou, independentemente do

estado. Ela não mostra revisões nas quais você comentou ou das quais participou.• Os meus pedidos de pull-pull: Mostra todos os pedidos de tracção criados com um estado de

Aberto.• Os meus pedidos de pull-pull fechados: Mostra todos os pedidos de tracção criados com um estado

de Fechado.6. Quando você encontrar uma solicitação pull na lista exibida que gostaria de exibir, escolha-a.

Visualizar solicitações pullAWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Siga estas etapas para usar o AWS CLI para visualizar solicitações de extração em um Repositório doCodeCommit.

1. Para visualizar uma lista de solicitações de extração em um repositório, execute o comando list-pull-requests especificando:

• O nome do Repositório do CodeCommit onde pretende ver pedidos de pull (com --repository-nameopção).

• (Opcional) O estado do pedido de pull-pull (com o --pull-request-status opção).• (Opcional) O Nome do Recurso Amazon (ARN) do IAM utilizador que criou o pedido de pull-pull

(com o --author-arn opção).• (Opcional) Um token de enumeração que pode ser utilizado para devolver lotes de resultados (com

o --next-token opção)• (Opcional) Um limite do número de resultados devolvidos por pedido (com o --max-results opção).

Por exemplo, para listar pedidos criados por um IAM utilizador com o ARNarn:aws:iam::111111111111:user/Li_Juan e o estado de CLOSED em Repositório doCodeCommit nomeado MyDemoRepo:

aws codecommit list-pull-requests --author-arn arn:aws:iam::111111111111:user/Li_Juan --pull-request-status CLOSED --repository-name MyDemoRepo

Versão da API 2015-04-13171

Page 181: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar solicitações pullAWS CLI)

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "nextToken": "", "pullRequestIds": ["2","12","16","22","23","35","30","39","47"]}

IDs de solicitações de extração são exibidos na ordem da atividade mais recente.2. Para ver detalhes de um pedido de puxar, execute o get-pull-request com o --pull-request-id ,

especificando a ID do pedido de pull-pull. Por exemplo, para visualizar informações sobre um pedidode puxar com a ID de 27:

aws codecommit get-pull-request --pull-request-id 27

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "lastActivityDate": 1562619583.565, "pullRequestTargets": [ { "sourceCommit": "ca45e279EXAMPLE", "sourceReference": "refs/heads/bugfix-1234", "mergeBase": "a99f5ddbEXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": false }, "destinationCommit": "2abfc6beEXAMPLE", "repositoryName": "MyDemoRepo" } ], "revisionId": "e47def21EXAMPLE", "title": "Quick fix for bug 1234", "authorArn": "arn:aws:iam::123456789012:user/Nikhil_Jayashankar", "clientRequestToken": "d8d7612e-EXAMPLE", "creationDate": 1562619583.565, "pullRequestId": "27", "pullRequestStatus": "OPEN" }}

3.Para visualizar aprovações em uma solicitação pull, execute o comando get-pull-request-approval-state, especificando:

• A ID do pedido de puxar (utilizando o --pull-request-id opção).

Versão da API 2015-04-13172

Page 182: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar solicitações pullAWS CLI)

• A ID de revisão do pedido de pull-pull (utilizando o --revision-id option). Pode obter a ID de revisãoatual para um pedido de puxar utilizando o solicitar-pedido (p. 172) comando.

Por exemplo, para visualizar aprovações num pedido de puxar com uma ID de 8 e uma ID de revisãode 9f29d167EXAMPLE:

aws codecommit get-pull-request-approval-state --pull-request-id 8 --revision-id 9f29d167EXAMPLE

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvals": [ { "userArn": "arn:aws:iam::123456789012:user/Mary_Major", "approvalState": "APPROVE" } ]}

4. Para visualizar eventos num pedido de puxar, execute o describe-pull-request-events com o --pull-request-id , especificando a ID do pedido de pull-pull. Por exemplo, para ver os eventos para umpedido de pull com a ID de 8:

aws codecommit describe-pull-request-events --pull-request-id 8

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "pullRequestEvents": [ { "pullRequestId": "8", "pullRequestEventType": "PULL_REQUEST_CREATED", "eventDate": 1510341779.53, "actor": "arn:aws:iam::111111111111:user/Zhang_Wei" }, { "pullRequestStatusChangedEventMetadata": { "pullRequestStatus": "CLOSED" }, "pullRequestId": "8", "pullRequestEventType": "PULL_REQUEST_STATUS_CHANGED", "eventDate": 1510341930.72, "actor": "arn:aws:iam::111111111111:user/Jane_Doe" } ]}

5. Para visualizar se há conflitos de mesclagem para uma solicitação pull, execute o comando get-merge-conflicts especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).• A sucursal, etiqueta, HEAD ou outra referência totalmente qualificada para a origem das alterações

a utilizar na avaliação de junção (com o --source-commit-specifier opção).• A sucursal, etiqueta, HEAD ou outra referência totalmente qualificada para o destino das alterações

a utilizar na avaliação de junção (com o --destination-commit-specifier opção).• A opção de agrupamento a utilizar (com o --merge-option opção)

Versão da API 2015-04-13173

Page 183: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRevisar uma solicitação pull

Por exemplo, para ver se existem conflitos de junção entre a ponta de uma agência de origemdesignada my-feature-branch e uma agência de destino nomeada master num repositórionomeado MyDemoRepo:

aws codecommit get-merge-conflicts --repository-name MyDemoRepo --source-commit-specifier my-feature-branch --destination-commit-specifier master --merge-option FAST_FORWARD_MERGE

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "destinationCommitId": "fac04518EXAMPLE", "mergeable": false, "sourceCommitId": "16d097f03EXAMPLE"}

Revisar uma solicitação pullVocê pode usar o console do AWS CodeCommit para rever as alterações incluídas em uma solicitaçãode extração. Você pode adicionar comentários à solicitação, aos arquivos e a linhas de código individuais.Você também pode responder aos comentários feitos por outros usuários. Se o seu repositório forconfigurado com notificações (p. 100), recebe e-mails quando os utilizadores respondem aos seuscomentários ou quando os utilizadores comentam um pedido de pull-pull.

Você pode usar o AWS CLI para comentar em uma solicitação pull e responder aos comentários. Pararever as alterações, tem de utilizar o CodeCommit consola, a git diff ou uma ferramenta diff.

Tópicos• Rever um pedido de puxar (consola) (p. 174)• Rever pedidos de saída (AWS CLI) (p. 179)

Rever um pedido de puxar (consola)Você pode usar o console do CodeCommit para rever uma solicitação de extração em um Repositório doCodeCommit.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório.3. No painel de navegação, escolha Pedidos de pull.4. Por padrão, é exibida uma lista de todas as solicitações de extração abertas. Escolha a solicitação pull

aberta que você deseja analisar.

Versão da API 2015-04-13174

Page 184: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRever um pedido de puxar (consola)

Note

É possível comentar sobre uma solicitação pull fechada ou mesclada, mas não mesclá-la oureabri-la.

5. No pedido pull, escolha Alterações.6. Execute um destes procedimentos:

• Para adicionar um comentário geral para todo o pedido de pull, em Comentários sobre alterações,em Novo comentário, introduza um comentário e escolha Guardar. Pode usar Desconto, ou podeintroduzir o seu comentário em conjunto.

• Para adicionar um comentário a um ficheiro no compromisso, em Alterações, procure o nome do

ficheiro. Selecione o ícone de comentário que aparece junto ao nome do ficheiro, introduza umcomentário e escolha Guardar.

Versão da API 2015-04-13175

Page 185: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRever um pedido de puxar (consola)

• Para adicionar um comentário a uma linha alterada no pedido de pull, em Alterações, aceda à linha

que pretende comentar em. Selecione o ícone de comentário que aparece para essa linha,introduza um comentário e escolha Guardar.

7. Para responder a comentários num compromisso, em Alterações ou Atividade, escolha Responder.Pode responder com texto e com emojis.

Versão da API 2015-04-13176

Page 186: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRever um pedido de puxar (consola)

Pode ver os nomes daqueles que responderam com uma resposta de reacção de emoji particular,escolhendo-o. Para ver todas as reacções de emoji e informações sobre quem respondeu com osemojis, escolha Ver todas as reacções. Se respondeu com um avatar a um comentário, a sua respostaé apresentada no ícone para o botão de reação do emoji.

Note

As contagens de reacções apresentadas na consola são exatas à data em que a página foicarregada. Para obter as informações mais actuais sobre as contagens de reacção de emoji,atualize a página ou escolha Ver todas as reacções.

8. (Opcional) Para responder a uma recomendação criada por Amazon CodeGuru Reviewer, incluindofornecer feedback sobre a qualidade da recomendação, escolher Responder. Use os botões dereação para fornecer informações gerais sobre se você aprova ou não a recomendação. Use o campode comentário para fornecer mais detalhes sobre sua reação.

Versão da API 2015-04-13177

Page 187: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRever um pedido de puxar (consola)

Note

Amazon CodeGuru ReviewerO é um serviço automatizado de revisão de código que usaanálise de programas e machine learning para detectar problemas comuns e recomendarcorreções em seu código Java.

• Só verá Amazon CodeGuru Reviewer comentários se associou o repositório AmazonCodeGuru Reviewer, se a análise estiver concluída, e se o código no pedido de extraçãofor o código Java. Para obter mais informações, consulte Associar ou desassociar um AWSCodeCommit repositório com Amazon CodeGuru Reviewer (p. 129).

• Amazon CodeGuru Reviewer os comentários aparecem apenas no Alterações se oscomentários tiverem sido feitos na revisão mais recente do pedido de pull-pull. Aparecemsempre no Atividade separador.

• Embora possa responder com qualquer uma das reacções de emoji disponíveis a AmazonCodeGuru Reviewer as recomendações, apenas os polegares e as reações de emoji sãoutilizadas para avaliar a utilidade da recomendação.

9. Para aprovar as alterações efetuadas num pedido de pull-pull, escolha Aprovar.

Note

Não é possível aprovar uma solicitação pull que você criou.

Pode ver aprovações, regras de aprovação para um pedido de pull-pull e regras de aprovação criadaspor modelos de regras de aprovação em Aprovações. Se decidir que não pretende aprovar o pedidode pull-pull depois de tudo, pode escolher Revogar aprovação.

Versão da API 2015-04-13178

Page 188: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRever pedidos de saída (AWS CLI)

Note

É possível aprovar ou revogar a aprovação somente em uma solicitação pull aberta. Não épossível aprovar ou revogar a aprovação em uma solicitação pull cujo status seja mescladoou fechado.

Rever pedidos de saída (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Pode rever pedidos de pull com o seguinte AWS CLI comandos:

• post-comment-for-pull-request (p. 182), para adicionar um comentário a um pedido de pull• get-comments-for-pull-request (p. 181), para ver comentários deixados num pedido de puxar• update-pull-request-approval-state (p. 182), para aprovar ou revogar a aprovação para um pedido de

pull-pull• post-comment-reply (p. 182), para responder a um comentário num pedido de pull-pull

Também pode utilizar emojis com comentários num pedido de puxar com os seguintes comandos:

• Para responder a um comentário com um emoji, execute put-comment-reaction (p. 250).• Para visualizar reacções de emoji a um comentário, executar get-comment-reactions (p. 251).

Para usar o AWS CLI para analisar solicitações pull em um : Repositório do CodeCommit

Versão da API 2015-04-13179

Page 189: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRever pedidos de saída (AWS CLI)

1. Para adicionar um comentário a uma solicitação pull em um repositório, execute o comando post-comment-for-pull-request, especificando:

• A ID do pedido de pull-pull (com o --pull-request-id opção).• O nome do repositório que contém o pedido de pull-pull (com o --repository-name opção).• A ID de compromisso total do compromisso na sucursal de destino onde o pedido de pull é fundido

(com o --before-commit-id opção).• A ID de compromisso total do compromisso na sucursal de origem que é a ponta atual da sucursal

para o pedido de pull quando publica o comentário (com o --after-commit-id opção).• Um token de idempotency único e gerado pelo cliente (com o --client-request-token opção).• O conteúdo do seu comentário (com o --content opção).• Uma lista de informações de localização sobre onde colocar o comentário, incluindo:

• O nome do ficheiro a ser comparado, incluindo a sua extensão e subdiretório, se houver (com ofilePath atributo).

• O número de linha da alteração num ficheiro comparativo (com o filePosition atributo).• Se o comentário sobre a alteração é "antes" ou "depois" na comparação entre as filiais de origem

e de destino (com o relativeFileVersion atributo).

Por exemplo, utilize este comando para adicionar o comentário "These don't appear to beused anywhere. Can we remove them?" na mudança para ahs_count.py ficheiro num pedidode puxar com a ID de 47 num repositório nomeado MyDemoRepo.

aws codecommit post-comment-for-pull-request --pull-request-id "47" --repository-name MyDemoRepo --before-commit-id 317f8570EXAMPLE --after-commit-id 5d036259EXAMPLE --client-request-token 123Example --content "These don't appear to be used anywhere. Can we remove them?" --location filePath=ahs_count.py,filePosition=367,relativeFileVersion=AFTER

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comment": { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "123Example", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "lastModifiedDate": 1508369622.123, "callerReactions": [], "reactionCounts": [] } "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "47" }

Versão da API 2015-04-13180

Page 190: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRever pedidos de saída (AWS CLI)

2. Para exibir comentários de uma solicitação de pull, execute o comando get-comments-for-pull-request,especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).• O ID gerado pelo sistema do pedido de pull-pull (com o --pull-request-id opção).• (Opcional) Um token de enumeração para devolver o lote seguinte dos resultados (com o --next-token opção).

• (Opcional) Um número inteiro não negativo para limitar o número de resultados obtidos (com o --max-results opção).

Por exemplo, use esse comando para visualizar comentários de uma solicitação pull com um ID 42.

aws codecommit get-comments-for-pull-request --pull-request-id 42

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commentsForPullRequestData": [ { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comments": [ { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "lastModifiedDate": 1508369622.123, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 6, "CONFUSED" : 1 } }, { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.104, "deleted": false, "lastModifiedDate": 150836912.273, "callerReactions": ["THUMBSUP"] "reactionCounts": { "THUMBSUP" : 14 } } ], "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo",

Versão da API 2015-04-13181

Page 191: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRever pedidos de saída (AWS CLI)

"pullRequestId": "42" } ], "nextToken": "exampleToken"}

3.Para aprovar ou revogar a aprovação de uma solicitação pull, execute o comando update-pull-request-approval-state, especificando:

• A ID do pedido de puxar (utilizando o --pull-request-id opção).• A ID de revisão do pedido de pull-pull (utilizando o --revision-id option). Pode obter a ID de revisão

atual para um pedido de puxar utilizando o solicitar-pedido (p. 172) comando.• O estado de aprovação que pretende aplicar (utilizando o --approval-state) opção. Os estados de

aprovação válidos incluem APPROVE e REVOKE.

Por exemplo, utilize este comando para aprovar um pedido de puxar com a ID de 27 e uma ID derevisão de 9f29d167EXAMPLE.

aws codecommit update-pull-request-approval-state --pull-request-id 27 --revision-id 9f29d167EXAMPLE --approval-state "APPROVE"

Se houver êxito, o comando não retorna nada.4. Para enviar uma resposta a um comentário em uma solicitação pull, execute o comando post-

comment-reply, especificando:

• A ID gerada pelo sistema do comentário a que pretende responder (com o --in-reply-to opção).• Um token de idempotency único e gerado pelo cliente (com o --client-request-token opção).• O conteúdo da sua resposta (com o --content opção).

Por exemplo, utilize este comando para adicionar a resposta "Good catch. I'll removethem." ao comentário com a ID gerada pelo sistema de abcd1234EXAMPLEb5678efgh.

aws codecommit post-comment-reply --in-reply-to abcd1234EXAMPLEb5678efgh --content "Good catch. I'll remove them." --client-request-token 123Example

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.136, "deleted": false, "lastModifiedDate": 150836912.221, "callerReactions": [], "reactionCounts": [] } }

Versão da API 2015-04-13182

Page 192: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAtualizar uma solicitação pull

Atualizar uma solicitação pullPode utilizar o AWS CodeCommit consola ou AWS CLI para atualizar o título ou descrição de um pedidode pull-pull. Você pode querer atualizar a solicitação pull porque:

• Outros usuários não entendem a descrição ou o título original é enganador.• Você quer que o título ou a descrição reflita as alterações feitas à ramificação de origem de uma

solicitação pull aberta.

Atualizar um pedido de puxar (consola)Você pode usar o console do CodeCommit para atualizar o título e a descrição de uma solicitação pull emum Repositório do CodeCommit.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende actualizar um pedido de puxar.3. No painel de navegação, escolha Pedidos de pull.4. Por padrão, é exibida uma lista de todas as solicitações de extração abertas. Escolha a solicitação pull

aberta que você deseja atualizar.5. No pedido pull, escolha Detalhes, e depois escolha Editar detalhes para editar o título ou descrição.

Note

Você não pode atualizar o título ou a descrição de uma solicitação pull fechada ou mesclada.

Atualizar pedidos de pull (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Você também pode estar interessado nos seguintes comandos:

• update-pull-request-approval-state (p. 182), para aprovar ou revogar a aprovação em uma solicitaçãopull.

• create-pull-request-approval-rule (p. 169), para criar uma regra de aprovação para uma solicitação pull.• delete-pull-request-approval-rule (p. 188), para excluir uma regra de aprovação para uma solicitação

pull.

Para utilizar o AWS CLI para atualizar pedidos de pull Repositório do CodeCommit

1. Para atualizar o título de um pedido de pull-pull num repositório, execute o update-pull-request-titlecomando, especificando:

• A ID do pedido de pull-pull (com o --pull-request-id opção).• O título do pedido de puxar (com o --title opção).

Por exemplo, para atualizar o título de um pedido de pull com a ID de 47:

aws codecommit update-pull-request-title --pull-request-id 47 --title "Consolidation of global variables - updated review"

Versão da API 2015-04-13183

Page 193: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAtualizar pedidos de pull (AWS CLI)

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd8b26gr-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-master" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.12, "description": "Review the latest changes and updates to the global variables. I have updated this request with some changes, including removing some unused variables.", "lastActivityDate": 1508372657.188, "pullRequestId": "47", "pullRequestStatus": "OPEN", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables - updated review" }}

2. Para atualizar a descrição de uma solicitação pull, execute o comando update-pull-request-descriptionespecificando:

• A ID do pedido de pull-pull (com o --pull-request-id opção).• A descrição (com o --description opção).

Por exemplo, para atualizar a descrição de um pedido de pull com a ID de 47 :

aws codecommit update-pull-request-description --pull-request-id 47 --description "Updated the pull request to remove unused global variable."

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

Versão da API 2015-04-13184

Page 194: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar ou excluir uma regra de aprovação

{ "pullRequest": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.155, "description": "Updated the pull request to remove unused global variable.", "lastActivityDate": 1508372423.204, "pullRequestId": "47", "pullRequestStatus": "OPEN", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" }}

Editar ou eliminar uma regra de aprovação para umpedido de pull-pull

Quando você tem uma regra de aprovação em uma solicitação pull, não é possível mesclar essasolicitação pull até que as condições sejam atendidas. É possível alterar as regras de aprovação desolicitações pull para facilitar o atendimento de suas condições ou aumentar o rigor das revisões. Vocêpode alterar o número de usuários que devem aprovar uma solicitação pull. Também é possível adicionar,remover ou alterar a associação em um grupo de aprovações de usuários para a regra. Por fim, se nãoquiser mais usar uma regra de aprovação de uma solicitação pull, você poderá excluí-la.

Note

Também é possível substituir regras de aprovação de uma solicitação pull. Para obter maisinformações, consulte Substituir regras de aprovação num pedido de puxar (p. 189).

Pode utilizar o AWS CodeCommit consola ou AWS CLI para editar e eliminar regras de aprovação para oseu repositório.

Tópicos• Editar ou eliminar uma regra de aprovação para um pedido de pull (consola) (p. 185)• Editar ou eliminar uma regra de aprovação para um pedido de pull-pull (AWS CLI) (p. 187)

Editar ou eliminar uma regra de aprovação para umpedido de pull (consola)É possível usar o console do CodeCommit para editar ou excluir uma regra de aprovação de umasolicitação pull em um Repositório do CodeCommit.

Versão da API 2015-04-13185

Page 195: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar ou eliminar uma regra de aprovação

para um pedido de pull (consola)

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende editar ou eliminar uma regra de

aprovação para um pedido de pull-pull.3. No painel de navegação, escolha Pedidos de Pull.4. Escolha a solicitação pull em que você deseja editar ou excluir uma regra de aprovação. É possível

editar e excluir regras de aprovação somente de solicitações pull abertas.

5. No pedido pull, escolha Aprovações, e depois escolha a regra que pretende editar ou eliminar da lista.Execute um destes procedimentos:

• Se quiser editar a regra, escolha Editar.• Se quiser eliminar a regra, escolha Eliminare, em seguida, siga as instruções para verificar a

eliminação da regra.6. Em Editar regra de aprovação, faça as alterações que pretende à regra e escolha Enviar.

Versão da API 2015-04-13186

Page 196: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar ou eliminar uma regra de aprovação

para um pedido de pull-pull (AWS CLI)

7. Quando terminar de configurar a regra de aprovação, escolha Enviar.

Editar ou eliminar uma regra de aprovação para umpedido de pull-pull (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

É possível usar a AWS CLI para editar o conteúdo de uma regra de aprovação e para excluir uma regra deaprovação.

Note

Você também pode estar interessado nos seguintes comandos:

• update-pull-request-approval-state (p. 182), para aprovar ou revogar a aprovação em umasolicitação pull.

• get-pull-request-approval-states (p. 172), para visualizar as aprovações na solicitação pull.• evaluate-pull-request-approval-rules (p. 194), para determinar se as regras de aprovação de

uma solicitação pull tiveram suas condições atendidas.

Para utilizar o AWS CLI para editar ou eliminar uma regra de aprovação para um pedido de pullRepositório do CodeCommit

Versão da API 2015-04-13187

Page 197: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEditar ou eliminar uma regra de aprovação

para um pedido de pull-pull (AWS CLI)

1. Para editar uma regra de aprovação, execute o comando update-pull-request-approval-rule-content,especificando:

• A ID do pedido de pull-pull (com o --id opção).• O nome da regra de aprovação (com o --approval-rule-name opção).• O conteúdo da regra de aprovação (com o --approval-rule-content opção).

Este exemplo atualiza uma regra de aprovação nomeada Require two approved approverspara um pedido de puxar com a ID de 27. A regra requer uma aprovação de utilizador de um grupo deaprovação que inclui qualquer IAM utilizador na 123456789012 AWSConta da

aws codecommit update-pull-request-approval-rule-content --pull-request-id 27 --approval-rule-name "Require two approved approvers" --approval-rule-content "{Version: 2018-11-08, Statements: [{Type: \"Approvers\", NumberOfApprovalsNeeded: 1, ApprovalPoolMembers:[\"CodeCommitApprovers:123456789012:user/*\"]}]}}"

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRule": { "approvalRuleContent": "{Version: 2018-11-08, Statements: [{Type: \"Approvers\", NumberOfApprovalsNeeded: 1, ApprovalPoolMembers:[\"CodeCommitApprovers:123456789012:user/*\"]}]}}", "approvalRuleId": "aac33506-EXAMPLE", "originApprovalRuleTemplate": {}, "creationDate": 1570752871.932, "lastModifiedDate": 1570754058.333, "approvalRuleName": Require two approved approvers", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "cd93921cEXAMPLE", }}

3.Para excluir uma regra de aprovação, execute o comando delete-pull-request-approval-rule,especificando:

• A ID do pedido de pull-pull (com o --id opção).• O nome da regra de aprovação (com o --approval-rule-name opção).

Por exemplo, para eliminar uma regra de aprovação com o nome My Approval Rule para umpedido de puxar com a ID de 15:

aws codecommit delete-pull-request-approval-rule --pull-request-id 15 --approval-rule-name "My Approval Rule"

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRuleId": "077d8e8a8-EXAMPLE"}

Versão da API 2015-04-13188

Page 198: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioSubstituir regras de aprovação num pedido de puxar

Substituir regras de aprovação num pedido depuxar

No curso normal de desenvolvimento, convém que os usuários atendam às condições de regras deaprovação antes de mesclar solicitações pull. No entanto, pode haver momentos em que é necessárioagilizar a mesclagem de uma solicitação pull. Por exemplo, é possível que você queira colocar umacorreção de bug em produção, mas ninguém no grupo de aprovações esteja disponível para aprovar asolicitação pull. Em casos como esses, é possível optar por substituir as regras de aprovação em umasolicitação pull. Você pode substituir todas as regras de aprovação de uma solicitação pull, incluindoaquelas criadas especificamente para a solicitação pull e geradas a partir de um modelo de regra deaprovação. Não é possível substituir seletivamente uma regra de aprovação específica, somente todas asregras. Depois de reservar os requisitos de regra de aprovação substituindo as regras, é possível mesclara solicitação pull com a ramificação de destino.

Ao substituir regras de aprovação em uma solicitação pull, as informações sobre o usuário que substituiuas regras são registradas na atividade da solicitação pull. Dessa forma, é possível voltar ao histórico deuma solicitação pull e examinar quem substituiu as regras. Você também poderá optar por revogar asubstituição se a solicitação pull ainda estiver aberta. Depois que a solicitação pull for mesclada, você nãopoderá mais revogar a substituição.

Tópicos• Substituir regras de aprovação (consola) (p. 189)• Substituir regras de aprovação (AWS CLI) (p. 189)

Substituir regras de aprovação (consola)É possível substituir os requisitos de regras de aprovação em uma solicitação pull no console, como parteda revisão de uma solicitação pull. Se você mudar de ideia, poderá revogar a substituição, e os requisitosda regra de aprovação serão reaplicados. Você só poderá substituir regras de aprovação ou revogar umasubstituição se a solicitação pull ainda estiver aberta. Se ela for mesclada ou fechada, não será possívelalterar seu estado de substituição.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório.3. No painel de navegação, escolha Pedidos de pull. Escolha a solicitação pull na qual deseja substituir

os requisitos de regra de aprovação ou revogar uma substituição.4. No Aprovações , escolha Substituir regras de aprovação. Os requisitos são colocados de lado e o

texto muda para Revogar anulação. Para voltar a aplicar os requisitos da regra de aprovação, escolhaRevogar anulação.

Substituir regras de aprovação (AWS CLI)É possível usar a AWS CLI para substituir os requisitos de regra de aprovação. Também é possível usá-lapara visualizar o status de substituição de uma solicitação pull.

Como substituir requisitos de regra de aprovação em uma solicitação pull

1. Em um terminal ou uma linha de comando, execute o comando override-pull-request-approval-rules,especificando:

• O ID gerado pelo sistema da solicitação pull.

Versão da API 2015-04-13189

Page 199: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMesclar uma solicitação pull

• O ID de revisão mais recente da solicitação pull. Para visualizar essas informações, use get-pull-request.

• O estado que pretende para a anulação, OVERRIDE ou REVOKE. O REVOKE o estado remove oOVERRIDE estado mas não é guardado.

Por exemplo, para substituir regras de aprovação em uma solicitação pull com um ID 34 e um ID derevisão 927df8d8EXAMPLE:

aws codecommit override-pull-request-approval-rules --pull-request-id 34 --revision-id 927df8d8dEXAMPLE --override-status OVERRIDE

2. Se houver êxito, o comando não retorna nada.3. Para revogar a substituição em uma solicitação pull com um ID 34 e um ID de revisão

927df8d8EXAMPLE:

aws codecommit override-pull-request-approval-rules --pull-request-id 34 --revision-id 927df8d8dEXAMPLE --override-status REVOKE

Como obter informações sobre o status de substituição de uma solicitação pull

1. Em um terminal ou uma linha de comando, execute o comando get-pull-request-override-state,especificando:

• O ID gerado pelo sistema da solicitação pull.• O ID de revisão mais recente da solicitação pull. Para visualizar essas informações, use get-pull-

request.

Por exemplo, para visualizar o estado de substituição de uma solicitação pull com um ID 34 e um IDde revisão 927df8d8EXAMPLE:

aws codecommit get-pull-request-override-state --pull-request-id 34 --revision-id 927df8d8dEXAMPLE

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "overridden": true, "overrider": "arn:aws:iam::123456789012:user/Mary_Major"}

Intercalar um pedido de pull-in num AWSCodeCommit repositório

Depois que seu código for revisado e todas as regras de aprovação (se houver) na solicitação pull forematendidas, será possível mesclar uma solicitação pull de várias maneiras:

•É possível usar o console para mesclar a ramificação de origem com a ramificação de destino usandouma das estratégias de mesclagem disponíveis, que também fecha a solicitação pull. Também épossível resolver conflitos de mesclagem no console. O console exibe uma mensagem que indica

Versão da API 2015-04-13190

Page 200: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioDividir um pedido de puxar (consola)

se a solicitação pull pode ser mesclada ou se os conflitos devem ser resolvidos. Quando todos osconflitos estiverem resolvidos e você escolher Fundir, a junção é realizada utilizando a estratégia dejunção escolhida. Avanço rápido é a estratégia de mesclagem padrão, que é a opção padrão para o Git.Dependendo do estado do código nas ramificações de origem e de destino, essa estratégia pode nãoestar disponível, mas outras opções podem estar, como de compressão ou três vias.

• É possível usar a AWS CLI para tentar mesclar e fechar a solicitação pull usando a estratégia demesclagem de avanço rápido, compressão ou três vias.

•No seu computador local, você pode usar o comando git merge para mesclar a ramificação de origemna ramificação de destino e, em seguida, envie seu código mesclado por push para a ramificação dedestino. Essa abordagem tem desvantagens que devem ser consideradas cuidadosamente. Ela mesclaa solicitação pull independentemente de os requisitos para regras de aprovação na solicitação pullserem atendidos, contornando esses controles. Mesclar e enviar a ramificação de destino tambémfechará a solicitação pull automaticamente se a solicitação pull for mesclada usando a estratégiade mesclagem de avanço rápido. Uma vantagem desta abordagem é que o git merge permite-lheescolher opções de junção ou estratégias que não estão disponíveis no CodeCommit consola. Paramais informações sobre git merge e opções de junção, consulte fusão-git ou a sua documentação de Git.

O CodeCommit fechará uma solicitação pull automaticamente se a ramificação de origem ou a ramificaçãode destino da solicitação pull for excluída.

Tópicos• Dividir um pedido de puxar (consola) (p. 191)• Mesclar uma solicitação pullAWS CLI) (p. 194)

Dividir um pedido de puxar (consola)Você pode usar o console do CodeCommit para mesclar uma solicitação pull em um Repositório doCodeCommit. Após o estado de um pedido de pull ser alterado para Intercalado, deixa de aparecer nalista de pedidos de pull-pull. Uma solicitação pull mesclada é categorizada como fechada. Não podevoltar a ser alterado para Aberto, mas os utilizadores ainda podem comentar as alterações e responderaos comentários. Depois que uma solicitação pull for mesclada ou fechada, não será possível aprová-la,revogá-la ou substituir as regras de aprovação aplicadas à solicitação pull.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório.3. No painel de navegação, escolha Pedidos de pull.4. Por padrão, é exibida uma lista de todas as solicitações de extração abertas. Escolha a solicitação pull

aberta que você deseja mesclar.5. No pedido pull, escolha Aprovações. Revise a lista de aprovadores e verifique se todas as regras de

aprovação (se houver) tiveram suas condições atendidas. Não pode combinar um pedido de puxarse uma ou mais regras de aprovação tiverem o estado de Regra não satisfeita. Se ninguém tiveraprovado a solicitação pull, avalie se deseja mesclá-la ou aguardar aprovações.

Note

Se uma regra de aprovação tiver sido criada para uma solicitação pull, você poderá editá-laou excluí-la para desbloquear a mesclagem. Se a regra de aprovação tiver sido criada comum modelo de regra de aprovação, você não poderá editá-la nem excluí-la. É possível optarsomente por substituir os requisitos. Para obter mais informações, consulte Substituir regrasde aprovação num pedido de puxar (p. 189).

Versão da API 2015-04-13191

Page 201: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioDividir um pedido de puxar (consola)

6. Escolher Fundir.7. Na solicitação pull, escolha entre as estratégias de mesclagem disponíveis. As estratégias de

mesclagem que não puderem ser aplicadas serão exibidas esmaecidas. Se não houver estratégiasde mesclagem disponíveis, você pode optar por resolver conflitos manualmente no console doCodeCommit ou pode resolvê-los localmente usando o cliente Git. Para obter mais informações,consulte Resolver conflitos num pedido de puxar num AWS CodeCommit repositório (p. 198).

Versão da API 2015-04-13192

Page 202: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioDividir um pedido de puxar (consola)

• A mesclagem de avanço rápido move a referência da ramificação de destino para a confirmaçãomais recente da ramificação de origem. Esse é o comportamento padrão do Git sempre quepossível. Nenhuma confirmação de mesclagem é criada, mas todo o histórico de confirmações naramificação de origem é retido como se tivesse ocorrido na ramificação de destino. As mesclagensde avanço rápido não são exibidas como uma mesclagem de ramificação na exibição dovisualizador de confirmações do histórico da ramificação de destino porque nenhuma confirmaçãode mesclagem foi criada. A ponta da ramificação de origem é avançada rapidamente para a pontada ramificação de destino.

• Uma mesclagem de compressão cria uma confirmação que contém as alterações na ramificaçãode origem e aplica essa única confirmação de compressão à ramificação de destino. Por padrão,a mensagem de confirmação para essa confirmação de compressão contém todas as mensagensde confirmação das alterações na ramificação de origem. Nenhuma alteração no histórico deconfirmações individuais da ramificação é retida. Isso pode ajudar a simplificar o histórico dorepositório e, ao mesmo tempo, manter uma representação gráfica da mesclagem na exibição dovisualizador de confirmação do histórico da ramificação de destino.

• Uma mesclagem de três vias cria uma confirmação de mesclagem para a mesclagem naramificação de destino, mas também retém confirmações individuais feitas na ramificação de origemcomo parte do histórico da ramificação de destino. Isso pode ajudar a manter um histórico completodas alterações em seu repositório.

Versão da API 2015-04-13193

Page 203: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMesclar uma solicitação pullAWS CLI)

8. Se você escolher a estratégia de mesclagem de compressão ou três vias, revise a mensagem deconfirmação gerada automaticamente e modifique-a se deseja alterar as informações. Adicione seunome e endereço de e-mail para o histórico de confirmações.

9. (Opcional) Desmarque a opção para excluir a ramificação de origem como parte da mesclagem. Opadrão é excluir a ramificação de origem quando uma solicitação pull é mesclada.

10. Escolher Dividir pedido de pull para concluir a intercalação.

Mesclar uma solicitação pullAWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Para utilizar o AWS CLI para unir pedidos de pull num Repositório do CodeCommit

1.Para avaliar se uma solicitação pull teve todas as regras de aprovação satisfeitas e está pronta paraser mesclada, execute o comando evaluate-pull-request-approval-rules, especificando:

• A ID do pedido de puxar (utilizando o --pull-request-id opção).• A ID de revisão do pedido de pull-pull (utilizando o --revision-id option). Pode obter a ID de revisão

atual para um pedido de puxar utilizando o get-pull-request (p. 172) comando.

Por exemplo, para avaliar o estado das regras de aprovação num pedido de puxar com uma ID de 27e uma ID de revisão de 9f29d167EXAMPLE:

aws codecommit evaluate-pull-request-approval-rules --pull-request-id 27 --revision-id 9f29d167EXAMPLE

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "evaluation": { "approved": false, "approvalRulesNotSatisfied": [ "Require two approved approvers" ], "overridden": false, "approvalRulesSatisfied": [] }}

Note

Essa saída indica que uma solicitação pull não pode ser mesclada porque os requisitos deuma regra de aprovação não foram atendidos. Para mesclar essa solicitação pull, é possívelfazer com que os revisores a aprovem para atender às condições da regra. Dependendode suas permissões e de como a regra foi criada, também será possível editar, substituirou excluir a regra. Para mais informações, consulte Revisar uma solicitação pull (p. 174),Substituir regras de aprovação num pedido de puxar (p. 189), e Editar ou eliminar umaregra de aprovação para um pedido de pull-pull (p. 185).

2. Para mesclar e fechar uma solicitação pull usando a estratégia de mesclagem de avanço rápido,execute o comando merge-pull-request-by-fast-forward, especificando:

• A ID do pedido de pull-pull (com o --pull-request-id opção).• A ID completa da ponta da fonte de origem (com o --source-commit-id opção).

Versão da API 2015-04-13194

Page 204: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMesclar uma solicitação pullAWS CLI)

• O nome do repositório (com o --repository-name opção).

Por exemplo, para intercalar e fechar um pedido de pull com a ID de 47 e uma ID de origem de99132ab0EXAMPLE num repositório nomeado MyDemoRepo:

aws codecommit merge-pull-request-by-fast-forward --pull-request-id 47 --source-commit-id 99132ab0EXAMPLE --repository-name MyDemoRepo

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "I want one approver for this pull request", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" }}

3. Para mesclar e fechar uma solicitação pull usando a estratégia de mesclagem de compressão,execute o comando merge-pull-request-by-squash, especificando:

• A ID do pedido de pull-pull (com o --pull-request-id opção).• A ID completa da ponta da fonte de origem (com o --source-commit-id opção).• O nome do repositório (com o --repository-name opção).• O nível de detalhe de conflito que pretende utilizar (com o --conflict-detail-level opção). Se não

especificado, o FILE_LEVEL padrão será usado.

Versão da API 2015-04-13195

Page 205: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMesclar uma solicitação pullAWS CLI)

• A estratégia de resolução de conflitos que pretende utilizar (com o --conflict-resolution-strategyopção). Se não especificado, isso define NONE como padrão, e os conflitos devem ser resolvidosmanualmente.

• A mensagem de compromisso a incluir (com o --commit-message opção).• O nome a utilizar para o compromisso (com o --name opção).• O endereço de e-mail a utilizar para o compromisso (com o --email opção).• Se deve guardar pastas vazias (com o --keep-empty-folders opção).

O exemplo seguinte funde-se e fecha um pedido de puxar com a ID de 47 e uma ID de origemde 99132ab0EXAMPLE num repositório nomeado MyDemoRepoEle usa os detalhes de conflitosLINE_LEVEL e a estratégia de resolução de conflitos ACCEPT_SOURCE:

aws codecommit merge-pull-request-by-squash --pull-request-id 47 --source-commit-id 99132ab0EXAMPLE --repository-name MyDemoRepo --conflict-detail-level LINE_LEVEL --conflict-resolution-strategy ACCEPT_SOURCE --name "Jorge Souza" --email "[email protected]" --commit-message "Merging pull request 47 by squash and accepting source in merge conflicts"

Se bem-sucedido, esse comando produz o mesmo tipo de saída que a mesclagem por avanço rápido,uma saída semelhante à seguinte:

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd8b17fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-master" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" }

Versão da API 2015-04-13196

Page 206: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMesclar uma solicitação pullAWS CLI)

], "title": "Consolidation of global variables" }}

4. Para mesclar e fechar uma solicitação pull usando a estratégia de mesclagem de três vias, execute ocomando merge-pull-request-by-three-way, especificando:

• A ID do pedido de pull-pull (com o --pull-request-id opção).• A ID completa da ponta da fonte de origem (com o --source-commit-id opção).• O nome do repositório (com o --repository-name opção).• O nível de detalhe de conflito que pretende utilizar (com o --conflict-detail-level opção). Se não

especificado, o FILE_LEVEL padrão será usado.• A estratégia de resolução de conflitos que pretende utilizar (com o --conflict-resolution-strategy

opção). Se não especificado, isso define NONE como padrão, e os conflitos devem ser resolvidosmanualmente.

• A mensagem de compromisso a incluir (com o --commit-message opção).• O nome a utilizar para o compromisso (com o --name opção).• O endereço de e-mail a utilizar para o compromisso (com o --email opção).• Se deve guardar pastas vazias (com o --keep-empty-folders opção).

O exemplo seguinte funde-se e fecha um pedido de puxar com a ID de 47 e uma ID de origem de99132ab0EXAMPLE num repositório nomeado MyDemoRepoEle usa as opções padrão para detalhesde conflitos e estratégia de resolução de conflitos:

aws codecommit merge-pull-request-by-fast-forward --pull-request-id 47 --source-commit-id 99132ab0EXAMPLE --repository-name MyDemoRepo --name "Maria Garcia" --email "[email protected]" --commit-message "Merging pull request 47 by three-way with default options"

Se bem-sucedido, esse comando produz o mesmo tipo de saída que a mesclagem por avanço rápido,semelhante ao seguinte:

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd8b17fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-master" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155,

Versão da API 2015-04-13197

Page 207: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolver conflitos num pedido de puxar

"pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" }}

Resolver conflitos num pedido de puxar num AWSCodeCommit repositório

Se a sua solicitação pull tem conflitos e não pode ser mesclada, você pode tentar resolvê-los de váriasmaneiras:

• No computador local, você pode usar o comando git diff para localizar os conflitos entre as duasramificações e fazer alterações para resolvê-los. Você também pode usar uma ferramenta dediferenciação ou outros softwares para ajudar você a localizar e resolver as diferenças. Quando tivercerteza da sua resolução, você pode enviar por push a ramificação de origem com as alterações quecontêm os conflitos resolvidos, o que atualizará a solicitação pull. Para mais informações sobre git diff egit difftool, consulte a sua documentação de Git.

• Na consola, pode escolher Resolver conflitos. Abre um editor de texto simples que mostra os conflitosde uma forma semelhante à do git diff comando. Você pode revisar os conflitos manualmente em cadaarquivo que os contém, fazer as alterações e, em seguida, atualizar a solicitação pull com as alterações.

• No AWS CLI, pode utilizar o AWS CLI para obter informações sobre a fusão de conflitos e criar umcompromisso de fusão não referenciado para testar uma fusão.

Tópicos• Resolver conflitos num pedido de puxar (consola) (p. 198)• Resolver conflitos num pedido de puxar (AWS CLI) (p. 200)

Resolver conflitos num pedido de puxar (consola)Você pode usar o console do CodeCommit para resolver conflitos em uma solicitação pull de umRepositório do CodeCommit.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório.3. No painel de navegação, escolha Pedidos de pull.4. Por padrão, é exibida uma lista de todas as solicitações de extração abertas. Escolha a solicitação pull

aberta que você deseja mesclar, mas que contém conflitos.

Versão da API 2015-04-13198

Page 208: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolver conflitos num pedido de puxar (consola)

5. No pedido pull, escolha Resolver conflitos. Essa opção só será exibida se houver conflitos que devemser resolvidos para que a solicitação pull possa ser mesclada.

6. Uma janela de resolução de conflitos é aberta, listando cada arquivo que tem conflitos que devem serresolvidos. Escolha cada arquivo na lista para revisar os conflitos e faça as alterações necessárias atéque todos eles sejam resolvidos.

Versão da API 2015-04-13199

Page 209: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolver conflitos num pedido de puxar (AWS CLI)

• Você pode optar por usar o conteúdo do arquivo de origem, o conteúdo do arquivo de destino, ou seo arquivo não é binário, para editar manualmente o conteúdo de um arquivo para que ele contenhaapenas as alterações que você deseja. Os marcadores padrão git diff são usados para mostrar osconflitos entre o destino (HEAD) e as ramificações de origem no arquivo.

• Se um arquivo é binário, um submódulo do Git, ou se há um conflito de nome de arquivo/pasta,você deve optar por usar o arquivo de origem ou de destino para resolvê-los. Não pode ver ou editarficheiros binários no CodeCommit consola.

• Se houver conflitos de modo de arquivo, você verá a opção para resolver esse conflito ao escolherentre o modo de arquivo do arquivo de origem e o modo de arquivo do arquivo de destino.

• Se decidir que pretende eliminar as alterações de um ficheiro e restaurá-lo para o seu estado deconflito, escolha Repor ficheiro. Isso permite que você resolva os conflitos de forma diferente.

7. Quando estiver satisfeito com as suas alterações, escolha Atualizar pedido de pull.

Note

Você deve resolver todos os conflitos em todos os arquivos para atualizar com êxito asolicitação pull com as alterações.

8. A solicitação pull será atualizada com as alterações e poderá ser mesclada. Você verá a página demesclagem. Você pode optar por mesclar a solicitação pull neste momento ou pode retornar à lista desolicitações pull.

Resolver conflitos num pedido de puxar (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Nenhum único comando da AWS CLI permitirá resolver conflitos em uma solicitação pull e mesclar essasolicitação. No entanto, você pode usar comandos individuais para descobrir conflitos, tentar resolvê-los etestar se uma solicitação pull pode ser mesclada. Você pode usar:

• get-merge-options, para descobrir as opções de mesclagem disponíveis para uma mesclagem entre doisespecificadores de confirmação.

• get-merge-conflicts, para retornar uma lista de arquivos com conflitos de mesclagem em umamesclagem entre dois especificadores de confirmação.

• batch-describe-merge-conflicts, para obter informações sobre todos os conflitos de mesclagemem arquivos de uma mesclagem entre duas confirmações usando uma estratégia de mesclagemespecificada.

• describe-merge-conflicts, para obter informações detalhadas sobre conflitos de mesclagem de umarquivo específico entre duas confirmações usando uma estratégia de mesclagem especificada.

• create-unreferenced-merge-commit, para testar o resultado da mesclagem de dois especificadores deconfirmação usando uma estratégia de mesclagem especificada.

1.Para descobrir as opções de mesclagem disponíveis para uma mesclagem entre dois especificadoresde confirmação, execute o comando get-merge-options, especificando:

• Um especialista em compromisso para a origem da junção (com o --source-commit-specifier opção).• Um especialista em compromisso para o destino para a junção (com o --destination-commit-specifier

opção).• O nome do repositório (com o --repository-name opção).• (Opcional) Uma estratégia de resolução de conflitos a utilizar (com o --conflict-resolution-strategy

opção).

Versão da API 2015-04-13200

Page 210: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolver conflitos num pedido de puxar (AWS CLI)

• (Opcional) O nível de detalhe que pretende sobre quaisquer conflitos (com o --conflict-detail-levelopção).

Por exemplo, para determinar as estratégias de fusão disponíveis para unir uma agência de origemnomeada bugfix-1234 com uma agência de destino nomeada master num repositório nomeadoMyDemoRepo:

aws codecommit get-merge-options --source-commit-specifier bugfix-1234 --destination-commit-specifier master --repository-name MyDemoRepo

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "mergeOptions": [ "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE" ], "sourceCommitId": "d49940adEXAMPLE", "destinationCommitId": "86958e0aEXAMPLE", "baseCommitId": "86958e0aEXAMPLE"}

2.Para obter uma lista de arquivos que contêm conflitos de mesclagem em uma mesclagem entre doisespecificadores de confirmação, execute o comando get-merge-conflicts, especificando:

• Um especialista em compromisso para a origem da junção (com o --source-commit-specifier opção).• Um especialista em compromisso para o destino para a junção (com o --destination-commit-specifier

opção).• O nome do repositório (com o --repository-name opção).• A opção de agrupamento que pretende utilizar (com o --merge-option opção).• (Opcional) O nível de detalhe que pretende sobre quaisquer conflitos (com o --conflict-detail-level

opção).• (Opcional) Uma estratégia de resolução de conflitos a utilizar (com o --conflict-resolution-strategy

opção).• (Opcional) O número máximo de ficheiros com conflitos a devolver (com o --max-conflict-files

opção).

Por exemplo, para obter uma lista de arquivos que contêm conflitos em uma mesclagem entre umaramificação de origem chamada feature-randomizationfeature e uma ramificação de destino chamadamaster, usando a estratégia de mesclagem de três vias em um repositório chamado MyDemoRepo:

aws codecommit get-merge-conflicts --source-commit-specifier feature-randomizationfeature --destination-commit-specifier master --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "mergeable": false, "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b6958EXAMPLE", "conflictMetadataList": [

Versão da API 2015-04-13201

Page 211: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolver conflitos num pedido de puxar (AWS CLI)

{ "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": { "source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": { "source": "M", "destination": "M" } } ]}

3.Para obter informações sobre conflitos de mesclagem em todos os arquivos ou um subconjunto dearquivos em uma mesclagem entre dois especificadores de confirmação, execute o comando batch-describe-merge-conflicts, especificando:

• Um especialista em compromisso para a origem da junção (com o --source-commit-specifier opção).• Um especialista em compromisso para o destino para a junção (com o --destination-commit-specifier

opção).• A opção de agrupamento que pretende utilizar (com o --merge-option opção).• O nome do repositório (com o --repository-name opção).• (Opcional) Uma estratégia de resolução de conflitos a utilizar (com o --conflict-resolution-strategy

opção).• (Opcional) O nível de detalhe que pretende sobre quaisquer conflitos (com o --conflict-detail-level

opção).• (Opcional) O número máximo de pontos de fusão para regressar (com o --max-merge-hunks opção).• (Opcional) O número máximo de ficheiros com conflitos a devolver (com o --max-conflict-files

opção).• (Opcional) O caminho dos ficheiros alvo a utilizar para descrever os conflitos (com o --file-paths

opção).

Por exemplo, para determinar os conflitos de fusão para unir uma agência de origem nomeadafeature-randomizationfeature com uma agência de destino nomeada master usando oTHREE_WAY_MERGE a estratégia num repositório nomeado MyDemoRepo:

Versão da API 2015-04-13202

Page 212: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolver conflitos num pedido de puxar (AWS CLI)

aws codecommit batch-describe-merge-conflicts --source-commit-specifier feature-randomizationfeature --destination-commit-specifier master --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "conflicts": [ { "conflictMetadata": { "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": { "source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": { "source": "M", "destination": "M" } }, "mergeHunks": [ { "isConflict": true, "source": { "startLine": 0, "endLine": 3, "hunkContent": "VGhpcyBpEXAMPLE==" }, "destination": { "startLine": 0, "endLine": 1, "hunkContent": "VXNlIHRoEXAMPLE=" } } ] } ], "errors": [], "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b6958EXAMPLE"}

Versão da API 2015-04-13203

Page 213: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolver conflitos num pedido de puxar (AWS CLI)

4.Para obter informações detalhadas sobre conflitos de mesclagem de um arquivo específico em umamesclagem entre dois especificadores de confirmação, execute o comando describe-merge-conflicts,especificando:

• Um especialista em compromisso para a origem da junção (com o --source-commit-specifier opção).• Um especialista em compromisso para o destino para a junção (com o --destination-commit-specifier

opção).• A opção de agrupamento que pretende utilizar (com o --merge-option opção).• O caminho do ficheiro alvo a utilizar para descrever os conflitos (com o --file-path opção).• O nome do repositório (com o --repository-name opção).• (Opcional) Uma estratégia de resolução de conflitos a utilizar (com o --conflict-resolution-strategy

opção).• (Opcional) O nível de detalhe que pretende sobre quaisquer conflitos (com o --conflict-detail-level

opção).• (Opcional) O número máximo de pontos de fusão para regressar (com o --max-merge-hunks opção).• (Opcional) O número máximo de ficheiros com conflitos a devolver (com o --max-conflict-files

opção).

Por exemplo, para determinar os conflitos de intercalação para um ficheiro nomeado readme.mdnuma agência de origem designada feature-randomizationfeature com uma agência dedestino nomeada master usando o THREE_WAY_MERGE a estratégia num repositório nomeadoMyDemoRepo:

aws codecommit describe-merge-conflicts --source-commit-specifier feature-randomizationfeature --destination-commit-specifier master --merge-option THREE_WAY_MERGE --file-path readme.md --repository-name MyDemoRepo

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "conflictMetadata": { "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": { "source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": {Versão da API 2015-04-13

204

Page 214: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolver conflitos num pedido de puxar (AWS CLI)

"source": "M", "destination": "M" } }, "mergeHunks": [ { "isConflict": true, "source": { "startLine": 0, "endLine": 3, "hunkContent": "VGhpcyBpEXAMPLE==" }, "destination": { "startLine": 0, "endLine": 1, "hunkContent": "VXNlIHRoEXAMPLE=" } } ], "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b69580EXAMPLE"}

5.Para criar uma confirmação sem referência que representa o resultado da mesclagem de doisespecificadores de confirmação, execute o comando create-unreferenced-merge-commit,especificando:

• Um especialista em compromisso para a origem da junção (com o --source-commit-specifier opção).• Um especialista em compromisso para o destino para a junção (com o --destination-commit-specifier

opção).• A opção de agrupamento que pretende utilizar (com o --merge-option opção).• O nome do repositório (com o --repository-name opção).• (Opcional) Uma estratégia de resolução de conflitos a utilizar (com o --conflict-resolution-strategy

opção).• (Opcional) O nível de detalhe que pretende sobre quaisquer conflitos (com o --conflict-detail-level

opção).• (Opcional) A mensagem de compromisso a incluir (com o --commit-message opção).• (Opcional) O nome a utilizar para o compromisso (com o --name opção).• (Opcional) O endereço de e-mail a utilizar para o compromisso (com o --email opção).• (Opcional) Quer mantenha pastas vazias (com o --keep-empty-folders opção).

Por exemplo, para determinar os conflitos de fusão para unir uma agência de origemnomeada bugfix-1234 com uma agência de destino nomeada master utilizar a estratégiaACCEPT_SOURCE num repositório nomeado MyDemoRepo:

aws codecommit create-unreferenced-merge-commit --source-commit-specifier bugfix-1234 --destination-commit-specifier master --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo --name "Maria Garcia" --email "[email protected]" --commit-message "Testing the results of this merge."

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE"

Versão da API 2015-04-13205

Page 215: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioFechar uma solicitação pull

}

Fechar um pedido de puxar num AWS CodeCommitrepositório

Se você deseja fechar uma solicitação pull sem mesclar o código, é possível fazer isso de várias maneiras:

• No console, você pode fechar uma solicitação de extração sem mesclar o código. Você pode quererfazer isso se quiser usar o comando git merge para mesclar as ramificações manualmente ou se ocódigo na ramificação de origem da solicitação de extração não é um código que você deseja mesclarna ramificação de destino.

• Você pode excluir a ramificação de origem especificada na solicitação pull. O CodeCommit fecha umasolicitação pull automaticamente se a ramificação de origem ou de destino da solicitação pull é excluída.

• No AWS CLI, pode atualizar o estado de um pedido de pull-pull de OPEN para CLOSED. Isto fecha opedido de puxar sem fundir o código.

Tópicos• Fechar um pedido de puxar (consola) (p. 206)• Fechar uma solicitação pullAWS CLI) (p. 207)

Fechar um pedido de puxar (consola)Você pode usar o console do CodeCommit para fechar uma solicitação de extração em um Repositóriodo CodeCommit. Após o estado de um pedido de pull ser alterado para Fechado, não pode voltar aser alterado para Aberto, mas os utilizadores ainda podem comentar as alterações e responder aoscomentários.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório.3. No painel de navegação, escolha Pedidos de pull.4. Por padrão, é exibida uma lista de todas as solicitações de extração abertas. Escolha a solicitação de

extração aberta que você deseja fechar.

5. No pedido pull, escolha Fechar pedido de fecho. Essa opção fecha a solicitação de pull sem tentarmesclar a ramificação de origem com a ramificação de destino. Essa opção não fornece uma maneirapara excluir a ramificação de origem como parte do fechamento da solicitação pull, mas você podefazer isso depois de fechar a solicitação.

Versão da API 2015-04-13206

Page 216: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioFechar uma solicitação pullAWS CLI)

Fechar uma solicitação pullAWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Para utilizar o AWS CLI para fechar pedidos num Repositório do CodeCommit

• Para atualizar o estado de um pedido de pull-pull num repositório de OPEN para CLOSED, execute oupdate-pull-request-status comando, especificando:

• A ID do pedido de pull-pull (com o --pull-request-id opção).• O estado do pedido de puxar (com o --pull-request-status opção).

Por exemplo, para atualizar o estado de um pedido de pull com a ID de 42 a um estado de CLOSEDem Repositório do CodeCommit nomeado MyDemoRepo:

aws codecommit update-pull-request-status --pull-request-id 42 --pull-request-status CLOSED

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approvers-needed-for-this-change", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.165, "description": "Updated the pull request to remove unused global variable.", "lastActivityDate": 1508372423.12, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" }}

Versão da API 2015-04-13207

Page 217: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Trabalhar com modelos de regra deaprovação

É possível criar regras de aprovação de solicitações pull. No entanto, se você deseja ter uma ou maisregras de aprovação aplicadas automaticamente a algumas ou a todas as solicitações pull criadasem repositórios, use modelos de regra de aprovação. Os modelos de regras de aprovação ajudam apersonalizar seus fluxos de trabalho de desenvolvimento em vários repositórios para que diferentesramificações tenham níveis apropriados de aprovações e controle. É possível definir regras diferentes pararamificações de produção e desenvolvimento. Essas regras são aplica-se sempre que um pedido de puxarque corresponda às condições da regra seja criado.

Um modelo de regra de aprovação pode ser associado a um ou mais repositórios na região da AWS ondeeles são criados. Quando um modelo é associado a um repositório, ele cria automaticamente regras deaprovação de solicitações pull nesse repositório como parte da criação da solicitação pull. Assim comouma regra de aprovação única, um modelo de regra de aprovação define uma estrutura de regra deaprovação, incluindo o número de aprovações necessárias e um grupo de usuários opcional dos quaisas aprovações devem vir. Ao contrário de uma regra de aprovação, também pode definir referências dedestino (a agência ou filiais), também conhecidas como filtros da sucursal. Se você definir referências dedestino, somente as solicitações pull cujos nomes de ramificação de destino correspondam aos nomesde ramificação especificados (referências de destino) no modelo terão regras criadas para elas. Portanto,por exemplo, se você especificar refs/heads/master como uma referência de destino, a regra deaprovação definida no modelo será aplicada somente a solicitações pull se a ramificação de destino formaster.

Versão da API 2015-04-13208

Page 218: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Tópicos• Criar um modelo de regra de aprovação (p. 210)• Associar um modelo de regra de aprovação com um repositório (p. 214)• Gerenciar modelos de regras de aprovação (p. 215)• Desassociar um modelo de regra de aprovação (p. 219)

Versão da API 2015-04-13209

Page 219: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um modelo de regra de aprovação

• Eliminar um modelo de regra de aprovação (p. 221)

Criar um modelo de regra de aprovaçãoÉ possível criar um ou mais modelos de regras de aprovação para ajudá-lo a personalizar seus fluxosde trabalho de desenvolvimento em vários repositórios. Ao criar vários modelos, é possível configurar acriação automática de regras de aprovação para que diferentes ramificações tenham níveis apropriadosde aprovações e controle. Por exemplo, é possível criar modelos diferentes para ramificações de produçãoe desenvolvimento e aplicar esses modelos a um ou mais repositórios. Quando os usuários criamsolicitações pull nesses repositórios, a solicitação é avaliada em relação a esses modelos. Se a solicitaçãocorresponder às condições nos modelos aplicados, serão criadas regras de aprovação da solicitação pull.

É possível usar o console ou a AWS CLI para criar modelos de regras de aprovação.

Tópicos• Criar um modelo de regra de aprovação (consola) (p. 210)• Criar um modelo de regra de aprovaçãoAWS CLI) (p. 212)

Criar um modelo de regra de aprovação (consola)Os modelos de regras de aprovação não são associados a nenhum repositório por padrão. É possívelfazer uma associação entre um modelo e um ou mais repositórios ao criar o modelo ou adicionar asassociações mais tarde.

Como criar um modelo de regra de aprovação

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Escolher Modelos de regras de aprovação, e depois escolha Criar modelo.3. Em Nome do modelo da regra de aprovação, dê ao modelo um nome descritivo para que saiba o

que é para. Por exemplo, se você deseja exigir que uma pessoa de um conjunto de desenvolvedoresseniores aprove uma solicitação pull para que possa ser mesclada, é possível nomear a regraRequire 1 approver from a senior developer for master branch.

4. (Opcional) Em Descrição, forneça uma descrição do objetivo deste modelo. Isso pode ajudar outraspessoas a decidir se esse modelo é apropriado para os repositórios.

5. Em Número de aprovações necessárias, introduza o número que pretende. O padrão é 1.6. (Opcional) Se pretender solicitar que as aprovações para um pedido de pull-pull sejam provenientes

de um grupo específico de utilizadores, em Membros da regra de aprovação, escolha Adicionar. EmTipo de aprovador, escolha uma das seguintes opções:

• IAM nome do utilizador ou função assumida: Esta opção preenche o AWS ID da conta que utilizoupara iniciar sessão e apenas requer um nome. Ela pode ser usada para usuários de acessofederado e usuários do IAM cujos nomes correspondam ao nome fornecido. Essa é uma opçãomuito eficiente que oferece uma grande flexibilidade. Por exemplo, se escolher esta opção e tiversessão iniciada com AWS conta 123456789012, e especificar Mary_Major, todos os seguintes sãocontabilizados como aprovações provenientes desse utilizador:• Um usuário do IAM na conta (arn:aws:iam::123456789012:user/Mary_Major)• Um usuário federado identificado no IAM como Mary_Major

(arn:aws:sts::123456789012:federated-user/Mary_Major)

Esta opção não reconhece uma sessão activa de alguém assumindo afunção de CodeCommitReview com um nome de sessão de Mary_Major(arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) a menos

Versão da API 2015-04-13210

Page 220: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um modelo de regra de aprovação (consola)

que inclua um carácter universal (*Mary_Major). Você também pode especificar o nome da funçãoexplicitamente (CodeCommitReview/Mary_Major).

• ARN totalmente qualificado: Esta opção permite-lhe especificar o Nome do Recurso Amazon (ARN)totalmente qualificado do IAM utilizador ou função. Esta opção também suporta funções assumidasutilizadas por outro AWS serviços, tais como AWS Lambda e AWS CodeBuild. Para funçõesassumidas, o formato ARN deve ser arn:aws:sts::AccountID:assumed-role/RoleNamepara funções e arn:aws:sts::AccountID:assumed-role/FunctionName para funções.

Se escolheu IAM nome do utilizador ou função assumida como o tipo de aprovador, em Valor,introduza o nome do IAM utilizador ou função ou o ARN totalmente qualificado do utilizador ou função.Escolher Adicionar novamente para adicionar mais utilizadores ou funções, até adicionar todos osutilizadores ou funções cujas aprovações contam para o número de aprovações necessárias.

Ambos os tipos de aprovadores permitem usar curingas (*) em seus valores. Por exemplo, seescolher o IAM nome do utilizador ou função assumida e especificar CodeCommitReview/*, todosos utilizadores que assumem a função de CodeCommitReview são contabilizados no grupo deaprovação. Os nomes de sessão de função individual são contabilizados no número necessário deaprovadores. Desta forma, tanto Mary_Major como Li_Juan contam como aprovações quando sãoiniciadas e assumindo a função de CodeCommitReview. Para mais informações sobre IAM arns,caracter e formatos, ver IAM Identificadores.

Note

As regras de aprovação não oferecem suporte a aprovações entre contas.7. (Opcional) Em Filtros da sucursal, introduza nomes de ramos de destino para utilizar para filtrar a

criação de regras de aprovação. Por exemplo, se você especificar: master, uma regra de aprovaçãoé criada para pedidos pull em repositórios associados apenas se a sucursal de destino para o pedidode pull for uma sucursal nomeada masterÉ possível usar curingas (*) em nomes de ramificaçãopara aplicar regras de aprovação a todos os nomes de ramificação que correspondam aos caracterescuringa. No entanto, não é possível usar um curinga no início de um nome de ramificação. É possívelespecificar até 100 nomes de ramificação. Se você não especificar nenhum filtro, o modelo se aplicaráa todas as ramificações em um repositório associado.

8. (Opcional) Em Repositórios associados, no Repositórios , escolha os repositórios neste AWS Regiãoque pretende associar a esta regra de aprovação.

Note

É possível optar por associar repositórios após a criação do modelo. Para obtermais informações, consulte Associar um modelo de regra de aprovação com umrepositório (p. 214).

9. Escolher Criar.

Versão da API 2015-04-13211

Page 221: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um modelo de regra de aprovaçãoAWS CLI)

Criar um modelo de regra de aprovaçãoAWS CLI)É possível usar a AWS CLI para criar modelos de regras de aprovação. Ao usar a AWS CLI, é possívelespecificar referências de destino para o modelo, para que ele se seja aplicável somente a solicitações pullcujas ramificações de destino correspondam às do modelo.

Versão da API 2015-04-13212

Page 222: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um modelo de regra de aprovaçãoAWS CLI)

Como criar um modelo de regra de aprovação

1. Em um terminal ou uma linha de comando, execute o comando create-approval-rule-template,especificando:

• O nome do modelo de regra de aprovação. Considere usar um nome que descreva sua finalidade.• Uma descrição do modelo de regra de aprovação. Assim como acontece com o nome, considere

fornecer uma descrição detalhada.• A estrutura JSON do modelo de regra de aprovação. Essa estrutura pode incluir requisitos para

referências de destino, que são ramificações de destino para solicitações pull às quais a regra deaprovação é aplicada e membros do grupo de aprovações, que são usuários cujas aprovaçõescontam para o número de aprovações necessárias.

Ao criar o conteúdo da regra de aprovação, é possível especificar aprovadores em um grupo deaprovações de duas maneiras:

• responsáveis pela aprovação do catálogo: Esta opção requer apenas um AWS conta e um recurso.Ela pode ser usada para usuários de acesso federado e usuários do IAM cujo nome corresponde aonome do recurso fornecido. Essa é uma opção muito eficiente que oferece uma grande flexibilidade.Por exemplo, se especificar o AWS conta 123456789012 e Mary_Major, todos os seguintes sãocontabilizados como aprovações provenientes desse utilizador:• Um usuário do IAM na conta (arn:aws:iam::123456789012:user/Mary_Major)• Um usuário federado identificado no IAM como Mary_Major

(arn:aws:sts::123456789012:federated-user/Mary_Major)

Esta opção não reconhece uma sessão activa de alguém assumindo a funçãode SeniorDevelopers com um nome de sessão de função de Mary_Major(arn:aws:sts::123456789012:assumed-role/SeniorDevelopers/Mary_Major) a menosque inclua um carácter universal (*Mary_Major).

• ARN totalmente qualificado: Esta opção permite-lhe especificar o Nome do Recurso Amazon (ARN)totalmente qualificado do IAM utilizador ou função.

Para mais informações sobre IAM arns, caracter e formatos, ver IAM Identificadores.

O exemplo seguinte cria um modelo de regra de aprovação nomeado 2-approver-rule-for-master e uma descrição de Requires two developers from the team to approve thepull request if the destination branch is master. O modelo requer dois utilizadoresque assumem a função de CodeCommitReview para aprovar qualquer pedido de pull-pull antes depoder ser combinado master agência:

aws codecommit create-approval-rule-template --approval-rule-template-name 2-approver-rule-for-master --approval-rule-template-description "Requires two developers from the team to approve the pull request if the destination branch is master" --approval-rule-template-content "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRuleTemplate": { "approvalRuleTemplateName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "approvalRuleTemplateId": "dd8b17fe-EXAMPLE",

Versão da API 2015-04-13213

Page 223: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAssociar um modelo de regra deaprovação com um repositório

"approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "approvalRuleTemplateDescription": "Requires two developers from the team to approve the pull request if the destination branch is master", "lastModifiedDate": 1571356106.936, "ruleContentSha256": "4711b576EXAMPLE" }}

Associar um modelo de regra de aprovação comum repositório

Os modelos de regras de aprovação são criados num AWS Região, mas não afectam quaisquerrepositores nessa AWS Região até estarem associadas. Para aplicar um modelo a um ou maisrepositórios, é necessário associar o modelo ao repositório ou repositórios. Pode aplicar um único modeloa vários repositórios num AWS Região. Isso ajuda a automatizar e padronizar o fluxo de trabalho dedesenvolvimento em seus repositórios, criando condições consistentes para aprovar e mesclar solicitaçõespull.

É possível associar um modelo de regra de aprovação somente a repositórios na região da AWS onde omodelo de regra de aprovação foi criado.

Tópicos• Associar um modelo de regra de aprovação (consola) (p. 214)• Associar um modelo de regra de aprovação (AWS CLI) (p. 214)

Associar um modelo de regra de aprovação (consola)Talvez você tenha repositórios associados a um modelo de regra de aprovação ao criá-lo. (Esse passo éopcional.) Pode adicionar ou remover associações editando o modelo.

Como associar um modelo de regra de aprovação a repositórios

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Escolher Modelos de regras de aprovação. Escolha o modelo e escolha Editar.3. Em Repositórios associados, escolha os repositórios do Repositórios lista. Cada repositório associado

é exibido na caixa de listagem.4. Escolher Guardar. As regras de aprovação agora são aplicadas a solicitações pull criadas nesses

repositórios associados.

Associar um modelo de regra de aprovação (AWSCLI)É possível usar a AWS CLI para associar um modelo de regra de aprovação a um ou mais repositórios.

Versão da API 2015-04-13214

Page 224: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGerenciar modelos de regras de aprovação

Como associar um modelo a um único repositório

1. No terminal ou na linha de comando, execute o comando associate-approval-rule-template-with-repository, especificando:

• O nome do modelo de regra de aprovação que você deseja associar a um repositório.• O nome do repositório a ser associado ao modelo de regra de aprovação.

Por exemplo, para associar um modelo de regra de aprovação nomeado 2-approver-rule-for-master com um repositório nomeado MyDemoRepo:

aws codecommit associate-approval-rule-template-with-repository --repository-name MyDemoRepo --approval-rule-template-name 2-approver-rule-for-master

2. Se houver êxito, o comando não retorna nada.

Como associar um modelo a vários repositórios

1. No terminal ou na linha de comando, execute o comando batch-associate-approval-rule-template-with-repositories, especificando:

• O nome do modelo de regra de aprovação que você deseja associar a um repositório.• Os nomes dos repositórios a serem associados ao modelo de regra de aprovação.

Por exemplo, para associar um modelo de regra de aprovação nomeado 2-approver-rule-for-master com um repositório nomeado MyDemoRepo e MyOtherDemoRepo:

aws codecommit batch-associate-approval-rule-template-with-repositories --repository-names "MyDemoRepo", "MyOtherDemoRepo" --approval-rule-template-name 2-approver-rule-for-master

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "associatedRepositoryNames": [ "MyDemoRepo", "MyOtherDemoRepo" ], "errors": []}

Gerenciar modelos de regras de aprovaçãoÉ possível gerenciar os modelos de regras de aprovação em uma região da AWS para ajudar a entendercomo eles estão sendo usados e para que servem. Por exemplo, é possível editar os nomes e asdescrições dos modelos de regras de aprovação para ajudar outras pessoas a entenderem sua finalidade.É possível listar todos os modelos de regras de aprovação em uma região da AWS e obter informaçõessobre o conteúdo e a estrutura de um modelo. É possível revisar quais modelos estão associados a umrepositório e quais repositórios estão associados a um modelo.

Gerir modelos de regras de aprovação (consola)Pode ver e gerir os seus modelos de regras de aprovação no CodeCommit consola.

Versão da API 2015-04-13215

Page 225: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGerenciar modelos de regras de aprovaçãoAWS CLI)

Como gerenciar modelos de regras de aprovação

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Escolher Modelos de regras de aprovação para ver a lista de modelos de regras de aprovação no

AWS Região em que tem sessão iniciada.

Note

Os modelos de regra de aprovação só estão disponíveis na região da AWS onde foramcriados.

3. Se quiser fazer alterações num modelo, escolha-o da lista e escolha Editar.4. Faça as suas alterações e escolha Guardar.

Gerenciar modelos de regras de aprovaçãoAWS CLI)Pode gerir os seus modelos de regras de aprovação com o seguinte AWS CLI comandos:

• list-approval-rule-templates (p. 216), para visualizar uma lista de todos os modelos de regra deaprovação num AWS Região

• get-approval-rule-template (p. 216), para visualizar o conteúdo de um modelo de regra de aprovação• update-approval-rule-template-content (p. 217), para alterar o conteúdo de um modelo de regra de

aprovação• update-approval-rule-template-name (p. 217), para alterar o nome de um modelo de regra de

aprovação• update-approval-rule-template-description (p. 218), para alterar a descrição de um modelo de regra de

aprovação• list-repositories-for-approval-rule-template (p. 218), para visualizar todos os repositórios associados a

um modelo de regra de aprovação• list-associated-approval-rule-templates-for-repository (p. 219), para visualizar todos os modelos de

regras de aprovação associados a um repositório

Para listar todos os modelos de regra de aprovação num AWS Região

1. No terminal ou na linha de comando, execute o comando list-approval-rule-templates, especificando.Por exemplo, para listar todos os modelos de regras de aprovação no Leste dos EUA (Ohio) Região:

aws codecommit list-approval-rule-templates --region us-east-2

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRuleTemplateNames": [ "2-approver-rule-for-master", "1-approver-rule-for-all-pull-requests" ]}

Como obter o conteúdo de um modelo de regra de aprovação

1. No terminal ou na linha de comando, execute o comando get-approval-rule-template, especificando onome do modelo de regra de aprovação:

Versão da API 2015-04-13216

Page 226: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGerenciar modelos de regras de aprovaçãoAWS CLI)

aws codecommit get-approval-rule-template --approval-rule-template-name 1-approver-rule-for-all-pull-requests

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRuleTemplate": { "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "ruleContentSha256": "621181bbEXAMPLE", "lastModifiedDate": 1571356106.936, "creationDate": 1571356106.936, "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan", "approvalRuleTemplateId": "a29abb15-EXAMPLE", "approvalRuleTemplateDescription": "All pull requests must be approved by one developer on the team." }}

Como atualizar o conteúdo de um modelo de regra de aprovação

1. No terminal ou prompt de comando, execute o comando update-approval-rule-template-content,especificando o nome do modelo e o conteúdo alterado. Por exemplo, para alterar o conteúdo de ummodelo de regra de aprovação chamado 1-approver-rule para redefinir o grupo de aprovaçõespara usuários que assumem a função de CodeCommitReview:

aws codecommit update-approval-rule-template-content --approval-rule-template-name 1-approver-rule --new-rule-content "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRuleTemplate": { "creationDate": 1571352720.773, "approvalRuleTemplateDescription": "Requires 1 approval for all pull requests from the CodeCommitReview pool", "lastModifiedDate": 1571358728.41, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "ruleContentSha256": "2f6c21a5EXAMPLE", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan" }}

Como atualizar o nome de um modelo de regra de aprovação

1. No terminal ou prompt de comando, execute o comando update-approval-rule-template-name,especificando o nome atual e o nome para o qual você deseja alterá-lo. Por exemplo, para alterar o

Versão da API 2015-04-13217

Page 227: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGerenciar modelos de regras de aprovaçãoAWS CLI)

nome de um modelo de regra de aprovação de 1-approver-rule para 1-approver-rule-for-all-pull-requests:

aws codecommit update-approval-rule-template-name --old-approval-rule-template-name "1-approver-rule" --new-approval-rule-template-name "1-approver-rule-for-all-pull-requests"

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRuleTemplate": { "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "lastModifiedDate": 1571358241.619, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "creationDate": 1571352720.773, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "approvalRuleTemplateDescription": "All pull requests must be approved by one developer on the team.", "ruleContentSha256": "2f6c21a5cEXAMPLE" }}

Como atualizar a descrição de um modelo de regra de aprovação

1. No terminal ou na linha de comando, execute o comando update-approval-rule-template-description,especificando o nome do modelo de regra de aprovação e a nova descrição:

aws codecommit update-approval-rule-template-description --approval-rule-template-name "1-approver-rule-for-all-pull-requests" --approval-rule-template-description "Requires 1 approval for all pull requests from the CodeCommitReview pool"

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRuleTemplate": { "creationDate": 1571352720.773, "approvalRuleTemplateDescription": "Requires 1 approval for all pull requests from the CodeCommitReview pool", "lastModifiedDate": 1571358728.41, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "ruleContentSha256": "2f6c21a5EXAMPLE", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan" }}

Como listar todos os repositórios associados a um modelo

1. Na linha de comando ou terminal, execute o comando list-repositories-for-approval-rule-template,especificando o nome do modelo:

Versão da API 2015-04-13218

Page 228: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioDesassociar um modelo de regra de aprovação

aws codecommit list-repositories-for-approval-rule-template --approval-rule-template-name 2-approver-rule-for-master

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "repositoryNames": [ "MyDemoRepo", "MyClonedRepo" ]}

Como listar todos os modelos associados a um repositório

1. Na linha de comando ou terminal, execute o comando list-associated-approval-rule-templates-for-repository, especificando o nome do repositório:

aws codecommit list-associated-approval-rule-templates-for-repository --repository-name MyDemoRepo

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "approvalRuleTemplateNames": [ "2-approver-rule-for-master", "1-approver-rule-for-all-pull-requests" ]}

Desassociar um modelo de regra de aprovaçãoSe as regras de aprovação geradas por um modelo de regra de aprovação não fizerem mais sentidopara o fluxo de trabalho de sua equipe em um repositório, será possível desassociar o modelo desserepositório. A desassociação de um modelo não remove regras de aprovação criadas enquanto o modeloesteve associado ao repositório.

Desassociar um modelo de regra de aprovação(consola)É possível usar o console para remover a associação entre um repositório e um modelo de regra deaprovação.

Como desassociar um modelo de regra de aprovação de repositórios

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Escolher Modelos de regras de aprovação. Escolha o modelo que pretende desassociar a partir de um

repositório ou repositórios e, em seguida, escolha Editar.3. Em Repositórios associados, escolha o X junto aos repositórios que pretende desassociar. Os nomes

do repositório não são mais exibidos.4. Escolher Guardar. As regras de aprovação não são aplicadas a solicitações pull criadas nesses

repositórios. As regras ainda são aplicadas a solicitações pull que foram criadas enquanto aassociação estava em vigor.

Versão da API 2015-04-13219

Page 229: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioDesassociar um modelo de regra de aprovação (AWS CLI)

Desassociar um modelo de regra de aprovação (AWSCLI)É possível usar a AWS CLI para desassociar um ou mais repositórios de um modelo de regra deaprovação.

Como desassociar um modelo de regra de aprovação de um repositório

1. No terminal ou na linha de comando, execute o comando disassociate-approval-rule-template-from-repository, especificando:

• O nome do modelo de regra de aprovação.• O nome do repositório.

Por exemplo, para desassociar um modelo de regra de aprovação chamado 1-approver-rule-for-all-pull-requests de um repositório chamado MyDemoRepo:

aws codecommit disassociate-approval-rule-template-with-repository --repository-name MyDemoRepo --approval-rule-template-name 1-approver-rule-for-all-pull-requests

2. Se houver êxito, o comando não retorna nada.

Como desassociar um modelo de regra de aprovação de vários repositórios

1. No terminal ou na linha de comando, execute o comando batch-disassociate-approval-rule-template-from-repositories, especificando:

• O nome do modelo de regra de aprovação.• Os nomes dos repositórios.

Por exemplo, para desassociar um modelo de regra de aprovação nomeado 1-approver-rule-for-all-pull-requests de um repositório nomeado MyDemoRepo e um repositório nomeadoMyOtherDemoRepo:

aws codecommit batch-disassociate-approval-rule-template-with-repositories --repository-names "MyDemoRepo", "MyOtherDemoRepo" --approval-rule-template-name 1-approver-rule-for-all-pull-requests

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "disassociatedRepositoryNames": [ "MyDemoRepo", "MyOtherDemoRepo" ], "errors": []}

Versão da API 2015-04-13220

Page 230: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEliminar um modelo de regra de aprovação

Eliminar um modelo de regra de aprovaçãoÉ possível excluir um modelo de regra de aprovação se não o estiver usando em nenhum repositório. Aexclusão de modelos de regras de aprovação não usados ajuda a manter seus modelos organizados efacilita a localização de modelos que façam sentido para seus fluxos de trabalho.

Tópicos• Eliminar um modelo de regra de aprovação (consola) (p. 221)• Eliminar um modelo de regra de aprovação (AWS CLI) (p. 221)

Eliminar um modelo de regra de aprovação (consola)É possível excluir um modelo de regra de aprovação se não for mais relevante para seu trabalho dedesenvolvimento. Ao usar o console para excluir um modelo de regra de aprovação, ele é desassociado dequalquer repositório durante o processo de exclusão.

Como excluir um modelo de regra de aprovação

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Escolher Modelos de regras de aprovação. Escolha o modelo que pretende eliminar e escolha

Eliminar.

Eliminar um modelo de regra de aprovação (AWS CLI)É possível usar a AWS CLI para excluir uma regra de aprovação se foi desassociada de todos osrepositórios. Para obter mais informações, consulte Desassociar um modelo de regra de aprovação (AWSCLI) (p. 220).

Como excluir um modelo de regra de aprovação

1. Em um terminal ou uma linha de comando, execute o comando delete-approval-rule-template,especificando o nome do modelo de regra de aprovação que deseja excluir:

aws codecommit delete-approval-rule-template --approval-rule-template-name 1-approver-for-all-pull-requests

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte. Se o modelo de regra deaprovação já foi excluído, esse comando não retornará nada.

{ "approvalRuleTemplateId": "41de97b7-EXAMPLE"}

Versão da API 2015-04-13221

Page 231: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Trabalhar com compromisso AWSCodeCommit repositórios

As confirmações são snapshots dos conteúdos e das alterações feitas nos conteúdos do repositório.Sempre que um usuário confirmar e enviar uma alteração por push, essa informação será salva earmazenada. E também as informações que incluem quem confirmou a alteração, a data e a hora daconfirmação e as alterações feitas como parte da confirmação. Você também pode adicionar tags aconfirmações para identificar facilmente confirmações específicas. No CodeCommit, você pode:

• Analisar confirmações.• Visualizar o histórico de confirmações em um gráfico.• Comparar uma confirmação com seu pai ou outro especificador.• Adicionar comentários a suas confirmações e responder aos comentários feitos por outros.

Antes de enviar confirmações a um repositório do CodeCommit, você deve configurar seu computadorlocal para se conectar ao repositório. Para o método mais simples, consulte Para utilizadores HTTPSutilizando credenciais Git (p. 10).

Para obter informações sobre como trabalhar com outros aspetos do seu repositório em CodeCommit,consulte Trabalhar com repositórios (p. 90), Trabalhar com ficheiros (p. 153), Trabalhar com solicitaçõespull (p. 161) , Trabalhar com ramificações (p. 257), e Trabalhar com preferências do utilizador (p. 273).

Tópicos• Criar uma confirmação no AWS CodeCommit (p. 223)• Ver detalhes de compromisso em AWS CodeCommit (p. 228)• Comparar compromisso AWS CodeCommit (p. 237)• Comentar um compromisso em AWS CodeCommit (p. 241)• Criar uma marca Git em AWS CodeCommit (p. 252)• Ver detalhes da etiqueta Git em AWS CodeCommit (p. 252)• Eliminar uma marca Git em AWS CodeCommit (p. 255)

Versão da API 2015-04-13222

Page 232: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um compromisso

Criar uma confirmação no AWS CodeCommitPode utilizar Git ou AWS CLI para criar um compromisso CodeCommit repositório. Se o repo local estáligado a um Repositório do CodeCommit, utiliza Git para pressionar o compromisso do repo local para oRepositório do CodeCommit. Para criar um compromisso diretamente no CodeCommit consola, consulteCriar ou adicionar um ficheiro a um AWS CodeCommit repositório (p. 155) e Editar o conteúdo de umficheiro num AWS CodeCommit repositório (p. 157).

Note

Se utilizar o AWS CLI, certifique-se de que tem uma versão recente instalada para garantir queestá a utilizar uma versão que contém o create-commit comando.

Tópicos• Crie o primeiro compromisso para um repositório utilizando o AWS CLI (p. 223)• Criar um compromisso utilizando um cliente Git (p. 224)• Criar um compromisso utilizando o AWS CLI (p. 226)

Crie o primeiro compromisso para um repositórioutilizando o AWS CLIPode utilizar o AWS CLI e o put-file comando para criar o seu primeiro compromisso para umrepositório. Utilizar put-file cria um primeiro compromisso que adiciona um ficheiro ao seu repositório vazioe cria uma agência com o nome que especificar. Designa a nova sucursal como a sucursal predefinidapara o seu repositório.

Note

Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter maisinformações, consulte Referência da linha de comando (p. 422).

Para criar o primeiro compromisso para um repositório utilizando o AWS CLI

1. No computador local, crie o ficheiro que pretende adicionar como primeiro ficheiro para o CodeCommitrepositório. Uma prática comum é criar uma README.md ficheiro pendente que explica o objectivodeste repositório para outros utilizadores do repositório. Se incluir um README.md , o conteúdodo ficheiro será apresentado automaticamente no fundo do Código para o seu repositório noCodeCommit consola.

2. No terminal ou na linha de comando, execute o comando put-file, especificando:

• O nome do repositório onde pretende adicionar o primeiro ficheiro.• O nome do ramo que pretende criar como ramo predefinido.• A localização atual do arquivo. A sintaxe usada para essa localização varia, dependendo do seu

sistema operacional local.• O nome do ficheiro que pretende adicionar, incluindo o caminho onde o ficheiro atualizado é

guardado no repositório.• O nome de utilizador e o e-mail que pretende associar a este ficheiro.• Uma mensagem de confirmação explicando por que você adicionou este arquivo.

O nome de utilizador, o endereço de e-mail e a mensagem de compromisso são opcionais, maspodem ajudar outros utilizadores a saber quem fez a alteração e porquê. Se não fornecer um nome deutilizador, CodeCommit predefinição para utilizar o seu IAM nome de utilizador ou uma derivação doinício de sessão da consola como nome do autor.

Versão da API 2015-04-13223

Page 233: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um compromisso utilizando um cliente Git

Por exemplo, para adicionar um ficheiro nomeado README.md com o conteúdo de "Bem-vindo aonosso repositório de equipa!" para um repositório nomeado MyDemoRepo a uma filial nomeadadevelopment:

aws codecommit put-file --repository-name MyDemoRepo --branch-name development --file-path README.md --file-content "Welcome to our team repository!" --name "Mary Major" --email "[email protected]" --commit-message "I added a quick readme for our new team repository."

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commitId": "724caa36EXAMPLE", "blobId": "a8a94062EXAMPLE", "treeId": "08b2fc73EXAMPLE"}

Criar um compromisso utilizando um cliente GitPode criar um compromisso utilizando um cliente Git instalado no seu computador local e, em seguida,push os que se comprometem ao seu computador CodeCommit repositório.

1. Conclua os pré-requisitos, incluindo Configuração (p. 7).

Important

Se você não concluiu a configuração, não poderá se conectar ou enviar confirmações aorepositório usando o Git.

2. Verifique se você está criando uma confirmação na ramificação correta. Para ver uma lista desucursais disponíveis e descobrir qual a sucursal que está actualmente definida para utilizar, executargit branch. Todas as filiais são apresentadas. Um asterisco (*) aparece ao lado de sua ramificaçãoatual. Para trocar para uma ramificação diferente, execute git checkout branch-name.

3. Faça uma alteração na ramificação (como adicionar, modificar ou excluir um arquivo).

Por exemplo, no repo local, crie um ficheiro chamado bird.txt com o seguinte texto:

bird.txt--------Birds (class Aves or clade Avialae) are feathered, winged, two-legged, warm-blooded, egg-laying vertebrates.

4. Executar git status, que deve indicar que bird.txt ainda não foi incluído em qualquer compromissopendente:

... Untracked files: (use "git add <file>..." to include in what will be committed) bird.txt

5. Execute git add bird.txt para incluir o novo arquivo na confirmação pendente.6. Se você executar git status novamente, visualizará uma saída semelhante à seguinte. Isso indica que

bird.txt agora faz parte da confirmação pendente ou está preparado para a confirmação:

...

Versão da API 2015-04-13224

Page 234: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um compromisso utilizando um cliente Git

Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: bird.txt

7. Para finalizar o compromisso, executar git commit com o -m (por exemplo, git commit -m "Addingbird.txt to the repository.") O -m cria a mensagem de compromisso.

8. Se você executar git status novamente, visualizará uma saída semelhante à seguinte. Isso indicaque a confirmação está pronta para ser enviada por push do repo local para o Repositório doCodeCommit:

... nothing to commit, working directory clean

9. Antes de premir o compromisso finalizado do repo local para o Repositório do CodeCommit, pode vero que está a empurrar git diff --stat remote-name/branch-name, onde remote-name é o alcunharepo local para o Repositório do CodeCommit e branch-name o nome da agência para comparar.

Tip

Para obter o pseudónimo, execute git remote. Para obter uma lista de nomes de ramos,execute git branch. Um asterisco (*) aparece junto à sucursal atual. Você também podeexecutar git status para obter o nome da ramificação atual.

Note

Se clonou o repositório, a partir da perspectiva do repo local, remote-name não é o nomedo Repositório do CodeCommit. Quando clonar um repositório, remote-name é definidoautomaticamente para origin.

Por exemplo, git diff --stat origin/master exibiria uma saída semelhante à seguinte:

bird.txt | 1 +1 file changed, 1 insertion(+)

A saída assume que já ligou o repo local para o Repositório do CodeCommit. Para obter instruções,consulte Conexão a um repositório (p. 94).)

10. Quando estiver pronto para pressionar o compromisso do repo local para o Repositório doCodeCommit, execução git push remote-name branch-name, onde remote-name é o alcunharepo local para o Repositório do CodeCommit e branch-name é o nome da agência para pressionarRepositório do CodeCommit.

Por exemplo, executar git push origin master exibiria uma saída semelhante à seguinte:

Para HTTPS:

Counting objects: 7, done.Delta compression using up to 4 threads.Compressing objects: 100% (4/4), done.Writing objects: 100% (5/5), 516 bytes | 0 bytes/s, done.Total 5 (delta 2), reused 0 (delta 0)remote:To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo b9e7aa6..3dbf4dd master -> master

Para o SSH:

Counting objects: 7, done.Delta compression using up to 4 threads.

Versão da API 2015-04-13225

Page 235: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um compromisso utilizando o AWS CLI

Compressing objects: 100% (4/4), done.Writing objects: 100% (5/5), 516 bytes | 0 bytes/s, done.Total 5 (delta 2), reused 0 (delta 0)remote:To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo b9e7aa6..3dbf4dd master -> master

Tip

Se adicionar o -u opção para git push (por exemplo, git push -u origin master), só tem deexecutar git push no futuro porque a informação de seguimento a montante foi definida. Paraobter as informações de rastreamento upstream, execute git remote show remote-name (porexemplo, git remote show origin).

Para obter mais opções, consulte a documentação do Git.

Criar um compromisso utilizando o AWS CLIPode utilizar o AWS CLI e o create-commit comando para criar um compromisso para um repositóriona ponta de um ramo especificado. Também é possível criar uma confirmação de mesclagem semreferência para representar os resultados da mesclagem de dois especificadores de confirmação. Paramais informações, consulte Criar um compromisso não referenciado (p. 205).

Note

Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter maisinformações, consulte Referência da linha de comando (p. 422).

Para criar uma confirmação

1. No seu computador local, faça as alterações que pretende que sejam comprometidas CodeCommitrepositório.

2. No terminal ou na linha de comando, execute o comando create-commit, especificando:

• O repositório no qual você deseja confirmar as alterações.• A ramificação na qual você deseja confirmar as alterações.• O ID de confirmação completo da confirmação mais recente feita nessa ramificação, também

conhecido como a confirmação de ponta ou cabeça ou o ID de confirmação pai.• Se deseja manter pastas vazias, caso as alterações feitas excluam o conteúdo dessas pastas. Por

padrão, esse valor é false (falso).• As informações sobre os arquivos que você deseja adicionar, alterar ou excluir.• O nome de usuário e o e-mail a serem associados a essas alterações.• Uma mensagem de confirmação que explica por que as alterações foram feitas.

O nome de usuário, o endereço de e-mail e a mensagem de confirmação são opcionais, mas ajudamoutros usuários a saber quem fez as alterações e por que. Se não fornecer um nome de utilizador,CodeCommit predefinição para utilizar o seu IAM nome de utilizador ou uma derivação do início desessão da consola como nome do autor.

Por exemplo, para criar um compromisso para um repositório que adiciona um meeting.md ficheiropara um repositório nomeado MyDemoRepo no master ramificação

aws codecommit create-commit --repository-name MyDemoRepo --branch-name master --parent-commit-id a4d4d5da-EXAMPLE --put-files "filePath=meeting.md,fileContent='We will use this file for meeting notes.'"

Versão da API 2015-04-13226

Page 236: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar um compromisso utilizando o AWS CLI

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commitId": "4df8b524-EXAMPLE", "treeId": "55b57003-EXAMPLE", "filesAdded": [ { "blobId": "5e1c309d-EXAMPLE", "absolutePath": "meeting.md", "fileMode": "NORMAL" } ], "filesDeleted": [], "filesUpdated": []}

Para criar um compromisso que faça alterações aos ficheiros nomeados file1.py e file2.py,renames um ficheiro de picture.png ~to image1.png e move-o a partir de um diretóriochamado pictures para um diretório nomeado, images, e elimina um ficheiro nomeadoExampleSolution.py num repositório nomeado MyDemoRepo numa agência nomeadaMyFeatureBranch que o compromisso mais recente tem uma ID de 4c925148EXAMPLE:

aws codecommit create-commit --repository-name MyDemoRepo --branch-name MyFeatureBranch --parent-commit-id 4c925148EXAMPLE --name "Saanvi Sarkar" --email "[email protected]" --commit-message "I'm creating this commit to update a variable name in a number of files." --keep-empty-folders false --put-files '{"filePath": "file1.py", "fileMode": "EXECUTABLE", "fileContent": "bucket_name = sys.argv[1] region = sys.argv[2]"}''{"filePath": "file2.txt", "fileMode": "NORMAL", "fileContent": "//Adding a comment to explain the variable changes in file1.py"}' '{"filePath": "images/image1.png","fileMode": "NORMAL", "sourceFile": {"filePath": "pictures/picture.png", "isMove": true}}' --delete-files filePath="ExampleSolution.py"

Note

A sintaxe para o segmento --put-files variará um pouco, dependendo do seu sistemaoperacional. O exemplo acima é otimizado para usuários Linux, macOS, or Unix e usuáriosdo Windows com um emulador de Bash. Os usuários do Windows na linha de comando ou noPowershell devem usar uma sintaxe adequada para esses sistemas.

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commitId": "317f8570EXAMPLE", "treeId": "347a3408EXAMPLE", "filesAdded": [ { "absolutePath": "images/image1.png", "blobId": "d68ba6ccEXAMPLE", "fileMode": "NORMAL" } ], "filesUpdated": [ { "absolutePath": "file1.py", "blobId": "0a4d55a8EXAMPLE", "fileMode": "EXECUTABLE" }, { "absolutePath": "file2.txt",

Versão da API 2015-04-13227

Page 237: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar detalhes da confirmação

"blobId": "915766bbEXAMPLE", "fileMode": "NORMAL" } ], "filesDeleted": [ { "absolutePath": "ExampleSolution.py", "blobId": "4f9cebe6aEXAMPLE", "fileMode": "EXECUTABLE" }, { "absolutePath": "pictures/picture.png", "blobId": "fb12a539EXAMPLE", "fileMode": "NORMAL" } ]}

Ver detalhes de compromisso em AWSCodeCommit

Você pode usar o console do AWS CodeCommit para navegar pelo histórico de confirmações de umrepositório. Isso pode ajudá-lo a identificar as alterações feitas em um repositório, incluindo:

• Quando e por quem as alterações foram feitas.• Quando confirmações específicas foram mescladas em determinada ramificação.

Visualizar o histórico de confirmações de uma ramificação também pode ajudar a entender a diferençaentre ramificações. Se você usa tags, pode visualizar rapidamente a confirmação marcada com uma tag eos pais dessa confirmação marcada. Na linha de comando, você pode usar o Git para visualizar detalhessobre as confirmações em um repo local ou em um Repositório do CodeCommit.

Procurar compromisso num repositórioVocê pode usar o console do AWS CodeCommit para navegar pelo histórico de confirmações de umrepositório. Você também pode visualizar o gráfico de confirmações no repositório e suas ramificações aolongo do tempo. Isso pode ajudá-lo a entender o histórico do repositório, incluindo quando as alteraçõesforam feitas.

Note

Usar o comando git rebase para rebasear um repositório altera o histórico dele, o que podefazer com que as confirmações apareçam fora de ordem. Para mais informações, consulte GitBranching-Rebasing ou a sua documentação de Git.

Tópicos• Procurar o histórico de compromisso de um repositório (p. 228)• Ver um gráfico do histórico de compromissos de um repositório (p. 229)

Procurar o histórico de compromisso de um repositórioÉ possível navegar pelo histórico de confirmações de uma ramificação ou tag específica do repositório,incluindo informações sobre quem confirmou e a mensagem de confirmação. Você também pode visualizaro código de uma confirmação.

Versão da API 2015-04-13228

Page 238: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioProcurar compromisso num repositório

Para navegar pelo histórico de confirmações

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório para o qual pretende rever o histórico de compromissos.3. No painel de navegação, escolha Compromisso. Na exibição do histórico de confirmações, é exibido

um histórico de confirmações do repositório na ramificação padrão em ordem cronológica reversada data da confirmação. A data e a hora estão em Tempo Universal Coordenado (UTC). É possívelvisualizar o histórico de confirmações de uma ramificação diferente escolhendo o botão seletor devisualização e, em seguida, selecionando uma ramificação na lista. Se você estiver usando tagsno repositório, será possível visualizar uma confirmação com uma tag específica e seus pais aoselecioná-la no botão seletor de visualização.

4. Para exibir a diferença entre uma confirmação e seu pai e para ver qualquer comentário sobre asalterações, escolha o ID de confirmação abreviado. Para mais informações, consulte Compararum compromisso com os seus pais (p. 237) e Comentar sobre uma confirmação (p. 241).Para visualizar a diferença entre uma confirmação e qualquer outro especificador de confirmação,incluindo ramificação, tag ou ID de confirmação, consulte Comparação entre dois especificadores deconfirmação (p. 239).

5. Faça uma ou mais das coisas a seguir:

• Para visualizar a data e hora em que uma alteração foi feita, passe o mouse sobre a data daconfirmação.

• Para visualizar o ID completo da confirmação, copie-o e cole-o em um editor de texto ou outro local.Para copiar, escolha Copiar ID.

• Para ver o código como estava no momento de um compromisso, escolha Navegar. O conteúdo dorepositório como estavam no momento desse compromisso é apresentado no Código ver. O botãoseletor de visualização exibe o ID abreviado da confirmação em vez de uma ramificação ou tag.

Ver um gráfico do histórico de compromissos de um repositórioÉ possível visualizar um gráfico das confirmações feitas em um repositório. O Vista de compromisso éuma representação de gráfico acancável (DAG) dirigida de todo o compromisso feito a uma sucursaldo repositório. Essa representação gráfica pode ajudar a entender quando confirmações e recursosassociados foram adicionados ou mesclados. Ela também pode ajudar a identificar quando uma alteraçãofoi feita em relação a outras alterações.

Versão da API 2015-04-13229

Page 239: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioProcurar compromisso num repositório

Note

As confirmações mescladas usando o método fastForward não aparecem como linhas separadasno gráfico de confirmações.

Para visualizar um gráfico de confirmações

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório para o qual pretende ver um gráfico comprometido.3. No painel de navegação, escolha Compromisso, e depois escolha o Ver o visualizador separador.

No gráfico de confirmações, o ID da confirmação abreviado e o assunto de cada mensagem deconfirmação aparece próximo ao ponto no gráfico.

Note

O gráfico pode exibir até 35 ramificações em uma página. Se houver mais de 35ramificações, o gráfico será muito complexo para ser exibido. Você pode simplificar aexibição de duas formas:

• Usando o botão seletor de visualização para mostrar o gráfico de uma ramificaçãoespecífica.

• Colando um ID completo de confirmação na caixa de pesquisa para renderizar o gráfico daconfirmação.

4. Para renderizar um novo gráfico de uma confirmação, escolha o ponto no gráfico que corresponde aessa confirmação. O botão seletor de visualização altera para o ID abreviado da confirmação.

Versão da API 2015-04-13230

Page 240: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar detalhes da confirmaçãoAWS CLI)

Visualizar detalhes da confirmaçãoAWS CLI)O Git permite visualizar detalhes sobre confirmações. Também pode utilizar o AWS CLI para ver detalhessobre o compromisso num repo local ou num Repositório do CodeCommit ao executar os seguintescomandos:

• Para visualizar informações sobre uma confirmação, execute aws codecommit get-commit (p. 231).• Para visualizar informações sobre várias confirmações, execute aws codecommit batch-get-

commits (p. 233).• Para visualizar informações sobre uma confirmação de mesclagem, execute aws codecommit get-

merge-commit (p. 232).• Para visualizar informações sobre alterações em um especificador de confirmação (ramificação,

tag, HEAD ou outras referências totalmente qualificadas, como IDs de confirmação), execute awscodecommit get-differences (p. 234).

• Para visualizar o conteúdo codificado em base64 de um objeto blob do Git em um repositório, executeaws codecommit get-blob (p. 235).

Como visualizar informações sobre uma confirmação1. Execute o comando aws codecommit get-commit, especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).• O ID completo da confirmação.

Por exemplo, para visualizar informações sobre um compromisso com a ID 317f8570EXAMPLE emRepositório do CodeCommit nomeado MyDemoRepo:

aws codecommit get-commit --repository-name MyDemoRepo --commit-id 317f8570EXAMPLE

2. Se houver êxito, a saída desse comando incluirá o seguinte:

• Informações sobre o autor da confirmação (como configurado no Git), incluindo a data no formatotime stamp e o deslocamento do Tempo Universal Coordenado (UTC).

Versão da API 2015-04-13231

Page 241: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar detalhes da confirmaçãoAWS CLI)

• Informações sobre o responsável pela confirmação (como configurado no Git), incluindo a data noformato time stamp e o deslocamento do UTC.

• O ID da árvore do Git onde existe a confirmação.• O ID de confirmação da confirmação pai.• A mensagem de confirmação.

Veja um exemplo de saída com base no comando do exemplo anterior:

{ "commit": { "additionalData": "", "committer": { "date": "1484167798 -0800", "name": "Mary Major", "email": "[email protected]" }, "author": { "date": "1484167798 -0800", "name": "Mary Major", "email": "[email protected]" }, "treeId": "347a3408EXAMPLE", "parents": [ "4c925148EXAMPLE" ], "message": "Fix incorrect variable name" }}

Como visualizar informações sobre uma confirmação demesclagem1. Execute o comando get-merge-commit, especificando:

• Um especialista em compromisso para a origem da junção (com o --source-commit-specifier opção).• Um especialista em compromisso para o destino para a junção (com o --destination-commit-specifier

opção).• A opção de agrupamento que pretende utilizar (com o --merge-option opção).• O nome do repositório (com o --repository-name opção).

Por exemplo, para ver informações sobre um conjunto de fusão para o ramo de origem nomeadobugfix-bug1234 com uma agência de destino nomeada master usando o THREE_WAY_MERGE aestratégia num repositório nomeado MyDemoRepo:

aws codecommit get-merge-commit --source-commit-specifier bugfix-bug1234 --destination-commit-specifier master --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo

2. Se houver êxito, a saída desse comando retornará informações semelhantes a estas:

{ "sourceCommitId": "c5709475EXAMPLE", "destinationCommitId": "317f8570EXAMPLE", "baseCommitId": "fb12a539EXAMPLE", "mergeCommitId": "ffc4d608eEXAMPLE"

Versão da API 2015-04-13232

Page 242: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar detalhes da confirmaçãoAWS CLI)

}

Como visualizar informações sobre várias confirmações1. Execute o comando batch-get-commits, especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).• Uma lista de IDs de confirmação completos para cada confirmação sobre a qual você deseja

visualizar informações.

Por exemplo, para visualizar informações sobre o compromisso com as identificações317f8570EXAMPLE e 4c925148EXAMPLE em Repositório do CodeCommit nomeado MyDemoRepo:

aws codecommit batch-get-commits --repository-name MyDemoRepo --commit-ids 317f8570EXAMPLE 4c925148EXAMPLE

2. Se houver êxito, a saída desse comando incluirá o seguinte:

• Informações sobre os autores das confirmações (como configurado no Git), incluindo a data noformato time stamp e o deslocamento do Tempo Universal Coordenado (UTC).

• Informações sobre os responsáveis pelas confirmações (como configurado no Git), incluindo a datano formato time stamp e o deslocamento do UTC.

• Os IDs da árvore do Git onde existe a confirmação.• Os IDs de confirmação da confirmação pai.• As mensagens de confirmação.

Veja um exemplo de saída com base no comando do exemplo anterior:

{ "commits": [ { "additionalData": "", "committer": { "date": "1508280564 -0800", "name": "Mary Major", "email": "[email protected]" }, "author": { "date": "1508280564 -0800", "name": "Mary Major", "email": "[email protected]" }, "commitId": "317f8570EXAMPLE", "treeId": "1f330709EXAMPLE", "parents": [ "6e147360EXAMPLE" ], "message": "Change variable name and add new response element" }, { "additionalData": "", "committer": { "date": "1508280542 -0800", "name": "Li Juan", "email": "[email protected]" }, "author": {

Versão da API 2015-04-13233

Page 243: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVisualizar detalhes da confirmaçãoAWS CLI)

"date": "1508280542 -0800", "name": "Li Juan", "email": "[email protected]" }, "commitId": "4c925148EXAMPLE", "treeId": "1f330709EXAMPLE", "parents": [ "317f8570EXAMPLE" ], "message": "Added new class" } }

Como visualizar informações sobre as alterações em umespecificador de confirmação1. Execute o comando aws codecommit get-differences, especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).• Os especificadores de confirmação sobre os quais quer informações. Apenas --after-commit-specifier é obrigatório. Se não especificar --before-commit-specifier, todos os ficheirosactuais a partir do --after-commit-specifier são mostrados.

Por exemplo, para ver informações sobre as diferenças entre o compromisso com as Ids317f8570EXAMPLE e 4c925148EXAMPLE em Repositório do CodeCommit nomeado MyDemoRepo:

aws codecommit get-differences --repository-name MyDemoRepo --before-commit-specifier 317f8570EXAMPLE --after-commit-specifier 4c925148EXAMPLE

2. Se houver êxito, a saída desse comando incluirá o seguinte:

• Uma lista de diferenças, incluindo o tipo de alteração (A para adicionado, D para excluído ou M paramodificado).

• O modo do tipo da alteração do arquivo.• O ID de objeto do blob do Git que contém a alteração.

Veja um exemplo de saída com base no comando do exemplo anterior:

{ "differences": [ { "afterBlob": { "path": "blob.txt", "blobId": "2eb4af3bEXAMPLE", "mode": "100644" }, "changeType": "M", "beforeBlob": { "path": "blob.txt", "blobId": "bf7fcf28fEXAMPLE", "mode": "100644" } } ]}

Versão da API 2015-04-13234

Page 244: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer detalhes de compromisso (Git)

Como visualizar informações sobre um objeto do blob do Git1. Execute o comando aws codecommit get-blob, especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).• A ID do blot de Git (com o --blob-id opção).

Por exemplo, para ver informações sobre um Git blob com a ID de 2eb4af3bEXAMPLE emRepositório do CodeCommit nomeado MyDemoRepo:

aws codecommit get-blob --repository-name MyDemoRepo --blob-id 2eb4af3bEXAMPLE

2. Se houver êxito, a saída desse comando incluirá o seguinte:

• O conteúdo codificado em base64 do blob, geralmente um arquivo.

Por exemplo, a saída do comando anterior que pode ser semelhante à seguinte:

{ "content": "QSBCaW5hcnkgTGFyToEXAMPLE="}

Ver detalhes de compromisso (Git)Antes de seguir estes passos, já deve ter ligado a repo local para o Repositório do CodeCommit ealterações comprometidas. Para obter instruções, consulte Conexão a um repositório (p. 94).

Para mostrar as alterações do compromisso mais recente para um repositório, execute o git showcomando.

git show

O comando gera uma saída semelhante à seguinte:

commit 4f8c6f9dAuthor: Mary Major <[email protected]>Date: Mon May 23 15:56:48 2016 -0700

Added bumblebee.txt

diff --git a/bumblebee.txt b/bumblebee.txtnew file mode 100644index 0000000..443b974--- /dev/null+++ b/bumblebee.txt@@ -0,0 +1 @@+A bumblebee, also written bumble bee, is a member of the bee genus Bombus, in the family Apidae.\ No newline at end of file

Note

Nesse e nos exemplos a seguir, os IDs de confirmação foram abreviados. Os IDs completos deconfirmação não são mostrados.

Versão da API 2015-04-13235

Page 245: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer detalhes de compromisso (Git)

Para visualizar as alterações ocorridas, use o comando git show com o ID da confirmação:

git show 94ba1e60

commit 94ba1e60Author: John Doe <[email protected]>Date: Mon May 23 15:39:14 2016 -0700

Added horse.txt

diff --git a/horse.txt b/horse.txtnew file mode 100644index 0000000..080f68f--- /dev/null+++ b/horse.txt@@ -0,0 +1 @@+The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.

Para ver as diferenças entre dois compromissos, execute o git diff e inclua os dois Ids de compromisso.

git diff ce22850d 4f8c6f9d

Neste exemplo, a diferença entre as duas confirmações é que dois arquivos foram adicionados. Ocomando gera uma saída semelhante à seguinte:

diff --git a/bees.txt b/bees.txtnew file mode 100644index 0000000..cf57550--- /dev/null+++ b/bees.txt@@ -0,0 +1 @@+Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax.diff --git a/bumblebee.txt b/bumblebee.txtnew file mode 100644index 0000000..443b974--- /dev/null+++ b/bumblebee.txt@@ -0,0 +1 @@+A bumblebee, also written bumble bee, is a member of the bee genus Bombus, in the family Apidae.\ No newline at end of file

Para utilizar Git para ver detalhes sobre o compromisso num repo local, execute o git log comando:

git log

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

commit 94ba1e60Author: John Doe <[email protected]>Date: Mon May 23 15:39:14 2016 -0700

Added horse.txt

commit 4c925148Author: Jane Doe <[email protected]>Date: Mon May 22 14:54:55 2014 -0700

Added cat.txt and dog.txt

Versão da API 2015-04-13236

Page 246: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComparar confirmações

Para mostrar apenas Ids e mensagens, execute o git log --pretty=oneline comando:

git log --pretty=oneline

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

94ba1e60 Added horse.txt4c925148 Added cat.txt and dog.txt

Para obter mais opções, consulte a documentação do Git.

Comparar compromisso AWS CodeCommitPode utilizar o CodeCommit para ver as diferenças entre os especialistas em compromisso numCodeCommit repositório. Você pode visualizar rapidamente a diferença entre uma confirmação e seu pai.Também é possível comparar quaisquer duas referências, incluindo IDs de confirmação.

Tópicos• Comparar um compromisso com os seus pais (p. 237)• Comparação entre dois especificadores de confirmação (p. 239)

Comparar um compromisso com os seus paisVocê pode visualizar rapidamente a diferença entre uma confirmação e seu pai para analisar a mensagemde confirmação, o responsável pela confirmação e o que mudou.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No Repositórios , escolha o repositório onde pretende ver a diferença entre um compromisso e o seu

principal.3. No painel de navegação, escolha Compromisso.4. Escolha o ID de confirmação abreviado de qualquer confirmação na lista. Em seguida, visualize as

alterações para mostrar os detalhes da confirmação, incluindo as diferenças entre ela e seu pai.

Pode mostrar as alterações lado a lado (Dividir ver) ou em linha (Unificado ver). Você também podeocultar ou exibir alterações de espaços em branco. Você também pode adicionar comentários. Paraobter mais informações, consulte Comentar sobre uma confirmação (p. 241).

Versão da API 2015-04-13237

Page 247: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComparar um compromisso com os seus pais

Note

Suas preferências para visualizar código e outras configurações do console são salvas comocookies do navegador sempre que você as altera. Para obter mais informações, consulteTrabalhar com preferências do utilizador (p. 273).

Versão da API 2015-04-13238

Page 248: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComparação entre dois especificadores de confirmação

Note

Dependendo do estilo de término da linha, do editor de código e de outros fatores, talvezvocê veja linhas inteiras adicionadas ou excluídas em vez de alterações específicas em umalinha. O nível de detalhe corresponde ao que é devolvido no git show ou git diff comandos.

5. Para comparar um compromisso com os seus pais, a partir do Ver o visualizador , escolha o ID decompromisso abreviado. Os detalhes de confirmação, incluindo as alterações entre a confirmação eseu pai, são exibidos.

Comparação entre dois especificadores deconfirmaçãoPode ver as diferenças entre dois especialistas em compromisso no CodeCommit consola. Especificadoresde confirmação são referências, como ramificações, tags e IDs de confirmação.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No Repositórios , escolha o repositório onde pretende comparar compromissos, ramos ou

compromisso marcado.3. No painel de navegação, escolha Compromisso, e depois escolha Comparar compromisso.

Versão da API 2015-04-13239

Page 249: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComparação entre dois especificadores de confirmação

4. Use as caixas para comparar dois especificadores de confirmação.

• Para comparar a extremidade da ramificação, escolha o nome da ramificação na lista. Issoseleciona a confirmação mais recente dessa ramificação para comparação.

• Para comparar uma confirmação a uma tag específica associada a ela, escolha o nome da tag nalista, se houver algum. Isso seleciona a confirmação marcada com a tag para comparação.

• Para comparar uma confirmação específica, insira ou cole o ID de confirmação na caixa detexto. Para obter a ID completa, escolha Compromisso na barra de navegação e copie a ID decompromisso da lista. No Comparar compromisso , cole a ID de compromisso total na caixa de textoe escolha Utilizar ID de compromisso.

5. Depois de selecionar os especialistas, escolha Comparar.

Versão da API 2015-04-13240

Page 250: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComentar sobre uma confirmação

Pode mostrar diferenças lado a lado (Dividir ver) ou em linha (Unificado ver). Você também podeocultar ou exibir alterações de espaços em branco.

6. Para limpar as suas opções de comparação, escolha Cancelar.

Comentar um compromisso em AWS CodeCommitVocê pode usar o console do CodeCommit para comentar em confirmações em um repositório e visualizare responder aos comentários de outros usuários em confirmações. Isso pode ajudá-lo a discutir asalterações feitas em um repositório, incluindo:

• Por que as alterações foram feitas.• Se é necessário fazer mais alterações.• Se alterações devem ser mescladas em outra ramificação.

Você pode comentar em um compromisso geral, em um arquivo de uma confirmação ou em uma linhaespecífica ou alteração de um arquivo. Também é possível vincular a uma linha ou a linhas de códigoselecionando a linha ou as linhas e copiando o URL resultante no navegador.

Note

Para obter os melhores resultados, utilize o comentário quando tiver sessão iniciada como IAMutilizador. A funcionalidade de comentários não é otimizada para usuários que fazem login comcredenciais de conta raiz, acesso federado ou credenciais temporárias.

Tópicos• Ver comentários num compromisso num repositório (p. 241)• Adicionar e responder a comentários num repositório (p. 242)• Ver, adicionar, atualizar e responder às comunicações (AWS CLI) (p. 245)

Ver comentários num compromisso num repositórioVocê pode usar o console do CodeCommit para visualizar comentários em uma confirmação.

Versão da API 2015-04-13241

Page 251: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAdicionar e responder a comentários num repositório

Para visualizar comentários em uma confirmação

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório para o qual pretende rever comentários sobre o compromisso.3. No painel de navegação, escolha Compromisso. Escolha o ID da confirmação em que você deseja

visualizar comentários.

A página dessa confirmação é exibida junto com quaisquer comentários.

Adicionar e responder a comentários num repositórioVocê pode usar o console do CodeCommit para adicionar comentários para a comparação de umaconfirmação e um pai ou para a comparação entre duas confirmações especificadas. Também poderesponder a comentários com emojis, com os seus próprios comentários ou ambos.

Adicionar e responder a comentários num compromisso (consola)Pode adicionar e responder a comentários a um compromisso com texto e com emojis. Os seuscomentários e emojis são marcados como pertencendo ao IAM utilizador ou função que utilizou para iniciarsessão na consola.

Para adicionar e responder a comentários em uma confirmação

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende comentar o compromisso.3. No painel de navegação, escolha Compromisso. Escolha o ID da confirmação em que você deseja

adicionar ou responder aos comentários.

A página dessa confirmação é exibida junto com quaisquer comentários.4. Para adicionar um comentário, siga um destes procedimentos:

• Para adicionar um comentário geral, em Comentários sobre alterações, introduza o seu comentárioe escolha Guardar. Pode usar Desconto, ou pode introduzir o seu comentário em conjunto.

• Para adicionar um comentário a um arquivo na confirmação, encontre o nome do arquivo. EscolherComentar no ficheiro, introduza o seu comentário e escolha Guardar.

Versão da API 2015-04-13242

Page 252: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAdicionar e responder a comentários num repositório

• Para adicionar um comentário a uma linha alterada na confirmação, vá até a linha onde a alteração

aparece. Escolha o balão de comentário , introduza o seu comentário e escolha Guardar.

Note

Você pode editar seu comentário depois de salvá-lo. Você também pode excluir seuconteúdo. O comentário permanecerá com uma mensagem informando que o conteúdo foiexcluído. Pondere utilizar o Pré-visualizar a marcação modo para o seu comentário antes deo guardar.

5. Para responder aos comentários num compromisso, escolha Responder. Para responder a umcomentário com um emoji, escolha o emoji que pretende da lista. Só pode escolher um avatar porcomentário. Se quiser alterar a sua reação de emoji, escolha outro da lista ou escolha Nenhum pararemover a sua reação.

Versão da API 2015-04-13243

Page 253: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAdicionar e responder a comentários num repositório

Adicionar e responder a comentários ao comparar doisespecialistas em compromissoVocê pode adicionar comentários a uma comparação entre ramificações, tags ou confirmações.

Para adicionar ou responder a comentários ao comparar especificadores de confirmação

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o repositório onde pretende comparar compromissos, filiais ou compromisso

marcado.3. No painel de navegação, escolha Compromisso, e depois escolha o Comparar compromisso

separador.

4. Utilize o Destino e Fonte para comparar dois especialistas em compromisso. Use as listas suspensasou cole os IDs de confirmação. Escolher Comparar.

Versão da API 2015-04-13244

Page 254: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer, adicionar, atualizar e responder

às comunicações (AWS CLI)

5. Faça uma ou mais das coisas a seguir:

•Para adicionar comentários a arquivos ou linhas, escolha a bolha de comentários . .

• Para adicionar comentários gerais sobre as alterações comparadas, aceda a Comentários sobrealterações.

Ver, adicionar, atualizar e responder às comunicações(AWS CLI)Você pode visualizar, adicionar, responder, atualizar e excluir o conteúdo de um comentário executando osseguintes comandos:

• Para visualizar os comentários na comparação entre duas confirmações, execute get-comments-for-compared-commit (p. 245).

• Para visualizar detalhes em um comentário, execute get-comment (p. 247).• Para excluir o conteúdo de um comentário que você criou, execute delete-comment-content (p. 247).• Para criar um comentário na comparação entre duas confirmações, execute post-comment-for-

compared-commit (p. 248).• Para atualizar um comentário, execute update-comment (p. 249).• Para responder a um comentário, execute post-comment-reply (p. 249).• Para responder a um comentário com um emoji, execute put-comment-reaction (p. 250).• Para visualizar reacções de emoji a um comentário, executar get-comment-reactions (p. 251).

Para visualizar comentários em uma confirmação1. Execute o comando get-comments-for-compared-commit, especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).

Versão da API 2015-04-13245

Page 255: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer, adicionar, atualizar e responder

às comunicações (AWS CLI)

• O ID de confirmação completo da confirmação "depois" para estabelecer a direção da comparação(com --after-commit-id option).

• A ID completa do antes de se comprometer, para estabelecer a direcção da comparação (com o --before-commit-id opção).

• (Opcional) Um token de enumeração para devolver o lote seguinte dos resultados (com o --next-token opção).

• (Opcional) Um número inteiro não negativo para limitar o número de resultados obtidos (com o --max-results opção).

Por exemplo, para visualizar comentários realizados na comparação entre duas confirmações em umrepositório chamado : MyDemoRepo:

aws codecommit get-comments-for-compared-commit --repository-name MyDemoRepo --before-commit-ID 6e147360EXAMPLE --after-commit-id 317f8570EXAMPLE

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commentsForComparedCommitData": [ { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "317f8570EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "6e147360EXAMPLE", "comments": [ { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "ff30b348EXAMPLEb9aa670f", "content": "Whoops - I meant to add this comment to the line, not the file, but I don't see how to delete it.", "creationDate": 1508369768.142, "deleted": false, "CommentId": "123abc-EXAMPLE", "lastModifiedDate": 1508369842.278, "callerReactions": [], "reactionCounts": { "SMILE" : 6, "THUMBSUP" : 1 } }, { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "553b509bEXAMPLE56198325", "content": "Can you add a test case for this?", "creationDate": 1508369612.240, "deleted": false, "commentId": "456def-EXAMPLE", "lastModifiedDate": 1508369612.240, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 2 } } ], "location": { "filePath": "cl_sample.js", "filePosition": 1232,

Versão da API 2015-04-13246

Page 256: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer, adicionar, atualizar e responder

às comunicações (AWS CLI)

"relativeFileVersion": "after" }, "repositoryName": "MyDemoRepo" } ], "nextToken": "exampleToken"}

Para visualizar detalhes de um comentário em uma confirmação1. Execute o comando get-comment, especificando o ID de comentário gerado pelo sistema. Por

exemplo, .

aws codecommit get-comment --comment-id ff30b348EXAMPLEb9aa670f

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "ff30b348EXAMPLEb9aa670f", "content": "Whoops - I meant to add this comment to the line, but I don't see how to delete it.", "creationDate": 1508369768.142, "deleted": false, "commentId": "", "lastModifiedDate": 1508369842.278, "callerReactions": [], "reactionCounts": { "SMILE" : 6, "THUMBSUP" : 1 } }}

Para excluir o conteúdo de um comentário em uma confirmação1. Execute o comando delete-comment-content, especificando o ID de comentário gerado pelo sistema.

Por exemplo, .

aws codecommit delete-comment-content --comment-id ff30b348EXAMPLEb9aa670f

Note

Só pode eliminar o conteúdo de um comentário se tem o AWSCodeCommitFullAccesspolítica aplicável ou se tiver DeleteCommentContent permissão definida para Permitir.

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "comment": { "creationDate": 1508369768.142, "deleted": true, "lastModifiedDate": 1508369842.278, "clientRequestToken": "123Example",

Versão da API 2015-04-13247

Page 257: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer, adicionar, atualizar e responder

às comunicações (AWS CLI)

"commentId": "ff30b348EXAMPLEb9aa670f", "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "callerReactions": [], "reactionCounts": { "CLAP" : 1 } }}

Para criar um comentário em uma confirmação1. Execute o comando post-comment-for-compared-commit, especificando:

• O nome do Repositório do CodeCommit (com o --repository-name opção).• A ID completa do que depois cometeu, para estabelecer a direccionalidade da comparação (com o--after-commit-id opção).

• A ID completa do antes de se comprometer, para estabelecer a direcção da comparação (com o --before-commit-id opção).

• Um token de idempotency único e gerado pelo cliente (com o --client-request-token opção).• O conteúdo do seu comentário (com o --content opção).• Uma lista de informações de localização sobre onde colocar o comentário, incluindo:

• O nome do ficheiro a ser comparado, incluindo a sua extensão e subdiretório, se houver (com ofilePath atributo).

• O número de linha da alteração num ficheiro comparativo (com o filePosition atributo).• Se o comentário sobre a alteração é antes ou depois da comparação entre as filiais de origem e

destino (com o relativeFileVersion atributo).

Por exemplo, para adicionar o comentário "Can you add a test case for this?" na mudançapara cl_sample.js ficheiro na comparação entre dois compromissos num repositório nomeadoMyDemoRepo:

aws codecommit post-comment-for-compared-commit --repository-name MyDemoRepo --before-commit-id 317f8570EXAMPLE --after-commit-id 5d036259EXAMPLE --client-request-token 123Example --content "Can you add a test case for this?" --location filePath=cl_sample.js,filePosition=1232,relativeFileVersion=AFTER

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "317f8570EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "6e147360EXAMPLE", "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "553b509bEXAMPLE56198325", "content": "Can you add a test case for this?", "creationDate": 1508369612.203, "deleted": false, "commentId": "abc123-EXAMPLE", "lastModifiedDate": 1508369612.203, "callerReactions": [], "reactionCounts": [] },

Versão da API 2015-04-13248

Page 258: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer, adicionar, atualizar e responder

às comunicações (AWS CLI)

"location": { "filePath": "cl_sample.js", "filePosition": 1232, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo" }

Para atualizar um comentário em uma confirmação1. Execute o comando update-comment especificando o ID de comentário gerado pelo sistema e o

conteúdo para substituir o conteúdo existente.

Por exemplo, para adicionar o conteúdo "Fixed as requested. I'll update the pullrequest." um comentário com uma ID de 442b498bEXAMPLE5756813:

aws codecommit update-comment --comment-id 442b498bEXAMPLE5756813 --content "Fixed as requested. I'll update the pull request."

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "442b498bEXAMPLE5756813", "content": "Fixed as requested. I'll update the pull request.", "creationDate": 1508369929.783, "deleted": false, "lastModifiedDate": 1508369929.287, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 2 } } }

Para responder a um comentário em uma confirmação1. Para enviar uma resposta a um comentário em uma solicitação pull, execute o comando post-

comment-reply, especificando:

• A ID gerada pelo sistema do comentário a que pretende responder (com o --in-reply-to opção).• Um token de idempotency único e gerado pelo cliente (com o --client-request-token opção).• O conteúdo da sua resposta (com o --content opção).

Por exemplo, para adicionar a resposta "Good catch. I'll remove them." ao comentário coma ID gerada pelo sistema de abcd1234EXAMPLEb5678efgh:

aws codecommit post-comment-reply --in-reply-to abcd1234EXAMPLEb5678efgh --content "Good catch. I'll remove them." --client-request-token 123Example

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

Versão da API 2015-04-13249

Page 259: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer, adicionar, atualizar e responder

às comunicações (AWS CLI)

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.136, "deleted": false, "CommentId": "abcd1234EXAMPLEb5678efgh", "lastModifiedDate": 150836912.221, "callerReactions": [], "reactionCounts": [] } }

Responder a um comentário num compromisso com um emoji1. Para responder a um comentário num pedido de puxar com um emoji, ou para alterar o valor da sua

reação de emoji, execute o put-comment-reaction comando, especificando:

• A ID gerada pelo sistema do comentário a que pretende responder com um emoji.• O valor da reação que pretende adicionar ou atualizar. Os valores aceitáveis incluem os emojis

suportados, os códigos abreviados e os valores Unicode.

Os valores seguintes são suportados para emojis em CodeCommit:

Emoji Shortcode Unicode

  :thumbsup: U+1F44D

  :thumbsdown: U+1F44E

  :smile: U+1F604

❤ :heart: U+2764

  :angry: U+1F620

  :confused: U+1F615

  :scream: U+1F631

  :sob: U+1F62D

  :clap: U+1F44F

  :confetti_ball: U+1F38A

  :ship: U+1F6A2

  :eyes: U+1F440

  none U+0000

Versão da API 2015-04-13250

Page 260: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer, adicionar, atualizar e responder

às comunicações (AWS CLI)

Por exemplo, para adicionar o emoji :thumbsup: ao comentário com a ID gerada pelo sistema deabcd1234EXAMPLEb5678efgh:

aws codecommit put-comment-reaction --comment-id abcd1234EXAMPLEb5678efgh --reaction-value :thumbsup:

2. Se for bem sucedido, este comando não produz saída.

Para visualizar reacções de emoji a um comentário1. Para ver reacções de emoji a um comentário, incluindo os utilizadores que reagiram com esses

emojis, execute o get-comment-reactions comando, especificando a ID gerada pelo sistema docomentário.

Por exemplo, para visualizar reacções de emoji ao comentário com a ID gerada pelo sistema deabcd1234EXAMPLEb5678efgh:

aws codecommit get-comment-reactions --comment-id abcd1234EXAMPLEb5678efgh

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "reactionsForComment": { [ { "reaction": { "emoji:"##", "shortCode": "thumbsup", "unicode": "U+1F44D" }, "users": [ "arn:aws:iam::123456789012:user/Li_Juan", "arn:aws:iam::123456789012:user/Mary_Major", "arn:aws:iam::123456789012:user/Jorge_Souza" ] }, { "reaction": { "emoji": "##", "shortCode": "thumbsdown", "unicode": "U+1F44E" ], "users": [ "arn:aws:iam::123456789012:user/Nikhil_Jayashankar" ] }, { "reaction": { "emoji": "##", "shortCode": "confused", "unicode": "U+1F615" ], "users": [ "arn:aws:iam::123456789012:user/Saanvi_Sarkar" ] } ] }

Versão da API 2015-04-13251

Page 261: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma etiqueta Git

}

Criar uma marca Git em AWS CodeCommitÉ possível usar uma tag do Git para marcar uma confirmação com um rótulo que ajuda outros usuários dorepositório a entender sua importância. Para criar uma marca Git num Repositório do CodeCommit, podeutilizar Git de repo local ligado ao Repositório do CodeCommit. Depois de ter criado uma etiqueta Git norepo local, pode utilizar git push --tags para o pressionar para Repositório do CodeCommit.

Para obter mais informações, consulte Ver detalhes da etiqueta (p. 252).

Utilize Git para criar uma etiquetaSiga estas etapas para usar o Git de um repo local para criar uma tag do Git em um Repositório doCodeCommit.

Nessas etapas, presumimos que você já tenha conectado o repo local ao Repositório do CodeCommit.Para obter instruções, consulte Conexão a um repositório (p. 94).

1. Executar o git tag new-tag-name commit-id comando, onde new-tag-name é o nome da nova tagGit e commit-id é a ID do compromisso para associar à etiqueta Git.

Por exemplo, o seguinte comando cria uma tag do Git chamada beta e a associa ao ID deconfirmação dc082f9a...af873b88:

git tag beta dc082f9a...af873b88

2. Para premir a nova etiqueta Git do repo local para o Repositório do CodeCommit, execute o gitpush remote-name new-tag-name comando, onde remote-name é o nome do Repositório doCodeCommit e new-tag-name é o nome da nova etiqueta Git.

Por exemplo, para inserir uma nova etiqueta Git nomeada beta para um Repositório do CodeCommitnomeado origin:

git push origin beta

Note

Para carregar todas as novas etiquetas Git do seu repo local para o Repositório do CodeCommit,execução git push --tags.Para garantir que repo local é atualizado com todas as etiquetas Git no Repositório doCodeCommit, execução git fetch seguido de git fetch --tags.

Para obter mais opções, consulte a documentação do Git.

Ver detalhes da etiqueta Git em AWS CodeCommitNo Git, uma tag é um rótulo que você pode aplicar a uma referência, como uma confirmação, para marcá-la com informações que podem ser importantes para outros usuários do repositório. Por exemplo, podemarcar o compromisso que foi o ponto de lançamento beta para um projeto com a etiqueta beta. Paramais informações, consulte Utilize Git para criar uma etiqueta (p. 252). As tags do Git são diferentes dastags de repositório. Para obter mais informações sobre como usar tags de repositório, consulte Adicionaruma tag a um repositório (p. 106).

Versão da API 2015-04-13252

Page 262: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer detalhes da etiqueta (consola)

É possível usar o console do AWS CodeCommit para visualizar informações sobre tags do Git norepositório, incluindo a data e a mensagem de confirmação da confirmação referenciada por cada tag doGit. No console, você pode comparar a confirmação referenciada pela tag com o cabeçalho da ramificaçãopadrão do seu repositório. Como qualquer outra confirmação, também é possível visualizar o código noponto dessa tag do Git.

Também é possível usar o Git em seu terminal ou na linha de comando para visualizar detalhes sobre tagsdo Git em um repo local.

Tópicos• Ver detalhes da etiqueta (consola) (p. 253)• Ver detalhes da etiqueta Git (Git) (p. 253)

Ver detalhes da etiqueta (consola)Use o console do AWS CodeCommit para visualizar rapidamente uma lista de tags do Git para o seurepositório e os detalhes sobre as confirmações referenciadas pelas tags do Git.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende ver as etiquetas.3. No painel de navegação, escolha Etiquetas Git.

4. Execute um destes procedimentos:

• Para visualizar o código como ele estava nessa confirmação, selecione o nome da tag do Git.• Para visualizar detalhes da confirmação, incluindo a mensagem de confirmação completa, o

responsável pela confirmação e o autor, escolha o ID abreviado da confirmação.

Ver detalhes da etiqueta Git (Git)Para usar o Git a fim de visualizar detalhes sobre tags do Git em um repo local, execute um dos seguintescomandos:

• etiqueta de t (p. 254) para ver uma lista de nomes de tag de Git.• mostrar (p. 254) para visualizar informações sobre uma tag Git específica.

Versão da API 2015-04-13253

Page 263: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer detalhes da etiqueta Git (Git)

• git ls-remoto (p. 255) para ver informações sobre as marcas Git num Repositório do CodeCommit.

Note

Para garantir que o seu repo local é atualizado com todas as etiquetas Git no Repositório doCodeCommit, execução git fetch seguido de git fetch --tags.

Nas etapas a seguir, supomos que você já tenha conectado o repo local ao Repositório do CodeCommit.Para obter instruções, consulte Conexão a um repositório (p. 94).

Como visualizar uma lista de tags do Git em um repo local1. Executar o git tag comando:

git tag

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

betaversão

Note

Se nenhuma tiver sido definida, git tag não retornará nada.

Para obter mais opções, consulte a documentação do Git.

Como visualizar informações sobre uma tag do Git em um repolocal1. Executar o git show tag-name comando. Por exemplo, para visualizar informações sobre uma tag do

Git chamada beta, execute:

git show beta

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

commit 317f8570...ad9e3c09Author: John Doe <[email protected]>Date: Tue Sep 23 13:49:51 2014 -0700

Added horse.txt

diff --git a/horse.txt b/horse.txtnew file mode 100644index 0000000..df42ff1--- /dev/null+++ b/horse.txt@@ -0,0 +1 @@+The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus\ No newline at end of file

Note

Para sair da saída das informações da tag do Git, digite :q.Versão da API 2015-04-13

254

Page 264: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioExcluir uma tag

Para obter mais opções, consulte a documentação do Git.

Como visualizar informações sobre tags do Git em umRepositório do CodeCommit1. Executar o git ls-remote --tags comando.

git ls-remote --tags

2. Se for bem-sucedido, esse comando produzirá como saída uma lista das tags do Git no Repositório doCodeCommit:

129ce87a...70fbffba refs/tags/beta785de9bd...59b402d8 refs/tags/release

Se nenhuma tag do Git tiver sido definida, git ls-remote --tags retornará uma linha em branco.

Para obter mais opções, consulte a documentação do Git.

Eliminar uma marca Git em AWS CodeCommitPara eliminar uma marca Git num Repositório do CodeCommit, utilize Git de um repo local ligado aoRepositório do CodeCommit. .

Utilizar Git para eliminar uma etiqueta GitSiga estas etapas para usar o Git de um repo local para excluir uma tag do Git em um Repositório doCodeCommit.

Essas etapas foram escritas presumindo que você já tenha conectado o repo local ao Repositório doCodeCommit. Para obter instruções, consulte Conexão a um repositório (p. 94).

1. Para eliminar a etiqueta Git do repo local, execute o git tag -d tag-name comando onde tag-name éo nome da etiqueta Git que pretende eliminar.

Tip

Para obter uma lista de nomes de tags do Git, execute git tag.

Por exemplo, para excluir uma tag do Git no repo local chamado beta:

git tag -d beta

2. Para eliminar a etiqueta Git do Repositório do CodeCommit, execute o git push remote-name --deletetag-name comando onde remote-name é o alcunha repo local para o Repositório do CodeCommit etag-name é o nome da etiqueta Git que pretende eliminar do Repositório do CodeCommit.

Tip

Para obter uma lista de Repositório do CodeCommit nomes e respectivos url, executar gitremote -v comando.

Por exemplo, para eliminar uma etiqueta Git nomeada beta no Repositório do CodeCommit nomeadoorigin:

Versão da API 2015-04-13255

Page 265: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioUtilizar Git para eliminar uma etiqueta Git

git push origin --delete beta

Versão da API 2015-04-13256

Page 266: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Trabalhar com ramos em AWSCodeCommit repositórios

O que é uma ramificação? No Git, as ramificações são simplesmente ponteiros ou referências a umaconfirmação. Durante o desenvolvimento, elas são uma forma conveniente de organizar seu trabalho. Asramificações podem ser usadas para separar o trabalho em uma versão nova ou diferente de arquivossem afetar o trabalho em outras ramificações. Elas também podem ser usadas para desenvolver novosrecursos, armazenar uma versão específica do seu projeto a partir de uma confirmação particular e muitomais.

No CodeCommit, você pode alterar a ramificação padrão para o seu repositório. Essa ramificação padrãoé aquela usada como base ou ramificação padrão em repositórios locais quando os usuários clonam orepositório. Você também pode criar e excluir ramificações e visualizar detalhes sobre uma ramificação.Você pode comparar rapidamente as diferenças entre uma ramificação e a ramificação padrão (ouduas ramificações). Para ver o histórico de ramos e fundir o seu repositório, pode utilizar o Vista decompromisso (p. 229).

Para obter informações sobre como trabalhar com outros aspetos do seu repositório em CodeCommit,consulte Trabalhar com repositórios (p. 90), Trabalhar com ficheiros (p. 153), Trabalhar com solicitaçõespull (p. 161), Trabalhar com empenho (p. 222), e Trabalhar com preferências do utilizador (p. 273).

Tópicos• Criar um ramo em AWS CodeCommit (p. 258)• O limite empurra e encaixa para as ramificações em AWS CodeCommit (p. 260)• Ver detalhes da sucursal em AWS CodeCommit (p. 263)• Comparar e unir ramos em AWS CodeCommit (p. 265)• Alterar definições da agência em AWS CodeCommit (p. 269)• Eliminar uma sucursal em AWS CodeCommit (p. 270)

Versão da API 2015-04-13257

Page 267: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma ramificação

Criar um ramo em AWS CodeCommitPode utilizar o CodeCommit consola ou AWS CLI para criar ramos para o seu repositório. Esta é umamaneira rápida de separar o trabalho em uma versão nova ou diferente de arquivos sem afetar o trabalhona ramificação padrão. Depois de criar uma ramificação no console do CodeCommit, você deve efetuarpull dessa alteração para o repo local. Em alternativa, pode criar uma agência localmente e depois utilizarGit de um repo local ligado ao Repositório do CodeCommit para premir essa alteração.

Tópicos• Criar uma filial (consola) (p. 258)• Criar uma filial (Git) (p. 259)• Criar uma ramificaçãoAWS CLI) (p. 259)

Criar uma filial (consola)Você pode usar o console do CodeCommit para criar uma ramificação em um Repositório do CodeCommit.Da próxima vez que os usuários extraírem alterações do repositório, eles verão a nova ramificação.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende criar uma sucursal.3. No painel de navegação, escolha Ramos.4. Escolher Criar ramo.

Em Nome da sucursal, introduza um nome para a agência. Em Ramo de, escolha uma agência ouetiqueta da lista ou cole uma ID de compromisso. Escolher Criar ramo.

Versão da API 2015-04-13258

Page 268: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar uma filial (Git)

Criar uma filial (Git)Siga estes passos para utilizar Git de um repo local para criar uma filial num repo local e depois empurreessa sucursal para Repositório do CodeCommit.

Essas etapas foram escritas presumindo que você já tenha conectado o repo local ao Repositório doCodeCommit. Para obter instruções, consulte Conexão a um repositório (p. 94).

1. Criar uma sucursal no seu repo local ao executar o git checkout -b new-branch-name comando,onde new-branch-name é o nome da nova filial.

Por exemplo, o seguinte comando cria uma ramificação chamada MyNewBranch no repo local:

git checkout -b MyNewBranch

2. Para empurrar o novo ramo do repo local para o Repositório do CodeCommit, execute o git pushcomando, especificando o remote-name e o new-branch-name.

Por exemplo, para inserir uma nova filial no repo local nomeado MyNewBranch para o Repositório doCodeCommit com a alcunha origin:

git push origin MyNewBranch

Note

Se adicionar o -u opção para git push (por exemplo, git push -u origin master) e, no futuro, podecorrer git push sem remote-name branch-nameAs informações de rastreamento upstreamestão definidas. Para obter as informações de rastreamento upstream, execute git remote showremote-name (por exemplo, git remote show origin).Para ver uma lista de todas as ramificações de rastreamento local e remoto, execute git branch --all.Para configurar uma ramificação no repo local que está ligado a uma sucursal no Repositório doCodeCommit, execução git checkout remote-branch-name.

Para obter mais opções, consulte a documentação do Git.

Criar uma ramificaçãoAWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Siga estes passos para utilizar o AWS CLI para criar uma filial num Repositório do CodeCommit e depoisempurre essa sucursal para Repositório do CodeCommit. Para os passos para criar um compromissoinicial e especificar o nome da sucursal predefinida para um repositório vazio, consulte Crie o primeirocompromisso para um repositório utilizando o AWS CLI (p. 223).

1. Execute o comando create-branch, especificando:

• O nome do Repositório do CodeCommit onde a sucursal é criada (com o --repository-name opção).

Note

Para obter o nome do Repositório do CodeCommit, execute o list-repositories (p. 134)comando.

• O nome da nova filial (com o --branch-name opção).Versão da API 2015-04-13

259

Page 269: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioO limite empurra e encaixa para as filiais

• A ID do compromisso para o qual os novos pontos de filial (com o --commit-id opção).

Por exemplo, para criar uma agência nomeada MyNewBranch que aponta para a ID317f8570EXAMPLE em Repositório do CodeCommit nomeado MyDemoRepo:

aws codecommit create-branch --repository-name MyDemoRepo --branch-name MyNewBranch --commit-id 317f8570EXAMPLE

Esse comando gerará saídas somente se houver erros.2. Para atualizar a lista de disponíveis Repositório do CodeCommit sucursais no seu repo local com o

novo nome da sucursal remota, executar git remote update remote-name.

Por exemplo, para atualizar a lista de ramificações disponíveis do Repositório do CodeCommit com oapelido origin:

git remote update origin

Note

Em alternativa, pode executar o git fetch comando. Também pode ver todas as ramificaçõesremotas executando git branch --all, mas até atualizar a lista do seu repo local, o ramo remotoque criou não aparece na lista.Para obter mais opções, consulte a documentação do Git.

3. Para configurar uma ramificação no repo local que está ligado à nova filial na Repositório doCodeCommit, execução git checkout remote-branch-name.

Note

Para obter uma lista de Repositório do CodeCommit nomes e respectivos url, executar git remote-v comando.

O limite empurra e encaixa para as ramificações emAWS CodeCommit

Por padrão, qualquer usuário do repositório do CodeCommit com permissões suficientes para enviarpor push o código ao repositório pode contribuir para qualquer ramificação no repositório. Isso é válidoindependentemente de você adicionar uma ramificação ao repositório usando o console, a linha decomando ou o Git. No entanto, você pode desejar configurar uma ramificação para que apenas algunsusuários do repositório possam enviar por push ou mesclar o código para essa ramificação. Por exemplo,você pode desejar configurar uma ramificação usada para o código de produção para que apenasum subconjunto de desenvolvedores sênior possam enviar por push ou mesclar as alterações paraessa ramificação. Outros desenvolvedores ainda podem acionar essa ramificação, fazer suas própriasramificações e criar solicitações de pull, mas não podem enviar por push ou mesclar as alterações paraessa ramificação. Você pode configurar esse acesso criando uma política condicional que usa uma chavede contexto para uma ou mais ramificações no IAM.

Note

Para concluir alguns dos procedimentos neste tópico, tem de iniciar sessão com um utilizadoradminstrativo com permissões suficientes para configurar e aplicar IAM políticas. Para maisinformações, consulte Criar uma IAM Utilizador e grupo administrativo.

Versão da API 2015-04-13260

Page 270: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioConfigurar um IAM a política para limitar

o limite e a aposta a uma sucursal

Tópicos• Configurar um IAM a política para limitar o limite e a aposta a uma sucursal (p. 261)• Aplicar o IAM política para um IAM grupo ou função (p. 262)• Testar a política (p. 262)

Configurar um IAM a política para limitar o limite e aaposta a uma sucursalVocê pode criar uma política no IAM que impede os usuários de atualizar uma ramificação, incluindoconfirmações de push e mesclagens de solicitações de pull para ramificações. Para fazer isso, a suapolítica usa uma instrução condicional, de modo que o efeito da instrução Deny se aplica somente se acondição for atendida. As APIs incluídas por você na instrução Deny determinam quais ações não sãopermitidas. Pode configurar esta política para aplicar apenas a uma sucursal num repositório, um númerode ramos num repositório ou a todas as filiais que correspondam aos critérios em todos os repositóriosnum AWS conta.

Criar uma política condicional para ramificações

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No painel de navegação, escolha Políticas.3. Escolher Criar política.4. Escolher JSON, e depois cole a seguinte política de exemplo. Substitua o valor do Resource pelo

ARN do repositório que contém a ramificação à qual você deseja restringir o acesso. Substitua ovalor de codecommit:References por uma referência à ramificação ou ramificações às quaisvocê deseja restringir o acesso. Por exemplo, esta política nega o compromisso, ramificar ramos,intercalar pedidos e adicionar ficheiros a uma agência nomeada master e uma filial nomeada prodnum repositório nomeado MyDemoRepo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codecommit:GitPush", "codecommit:DeleteBranch", "codecommit:PutFile", "codecommit:MergeBranchesByFastForward", "codecommit:MergeBranchesBySquash", "codecommit:MergeBranchesByThreeWay", "codecommit:MergePullRequestByFastForward", "codecommit:MergePullRequestBySquash", "codecommit:MergePullRequestByThreeWay" ], "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "Condition": { "StringEqualsIfExists": { "codecommit:References": [ "refs/heads/master", "refs/heads/prod" ] }, "Null": { "codecommit:References": false } }

Versão da API 2015-04-13261

Page 271: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAplicar o IAM política para um IAM grupo ou função

} ]}

Os ramos em Git são simplesmente indicadores (referências) ao valor SHA-1 da cabeça, razão pelaqual a condição utiliza References. O Null é necessária uma declaração em qualquer apólicecujo efeito seja Deny e onde GitPush é uma das ações. Isso é necessário devido à forma comoo Git e git-receive-pack funcionam ao enviar alterações por push de um repositório local aoCodeCommit.

Tip

Para criar uma política que se aplica a todas as filiais nomeadas como mestre em todos osrepositórios num AWS conta, altere o valor de Resource de um repositório ARN para umasterisco (*).

5. Escolher Rever a política. Corrija quaisquer erros na sua declaração de política e continue a Criarpolítica.

6. Quando o JSON é validado, o Criar política é apresentada a página. Aparece um aviso no Resumo ,informando-o de que esta política não concede permissões. Isso é esperado.

• Em Nome, introduza um nome para esta política, como DenyChangesToMaster.• Em Descrição, introduza uma descrição do objectivo da política. Isso é opcional, mas recomendado.• Escolher Criar política.

Aplicar o IAM política para um IAM grupo ou funçãoCriou uma política que limita e funde uma sucursal, mas a política não tem efeito até que o aplique a umIAM utilizador, grupo ou função. Como melhor prática, considere aplicar a política a um IAM grupo oufunção. Aplicar políticas a usuários individuais do IAM não tem um bom dimensionamento.

Aplicar a política condicional a um grupo ou função

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No painel de navegação, se pretender aplicar a política a um IAM grupo, escolher Grupos.Se quiseraplicar a política a uma função que os utilizadores assumem, escolha Função. Escolha o nome dogrupo ou função.

3. No Permissões , escolha Anexar política.4. Selecione a política condicional que criou a partir da lista de políticas e escolha Anexar política.

Para mais informações, consulte Fixação e separação IAM Políticas.

Testar a políticaVocê deve testar os efeitos da política que aplicou no grupo ou função para garantir que ela funcione comoesperado. Há muitas maneiras de fazer isso. Por exemplo, para testar uma política semelhante à exibidaacima, você pode:

• Iniciar sessão no CodeCommit consola com um IAM utilizador que seja membro de um IAM grupo quetem a política aplicada ou assume uma função que tem a política aplicada. No console, adicione umarquivo na ramificação em que as restrições se aplicam. Você verá uma mensagem de erro ao tentarsalvar um arquivo ou fazer upload dele para essa ramificação. Adicionar um arquivo a uma ramificaçãodiferente. A operação deve ser bem-sucedida.

Versão da API 2015-04-13262

Page 272: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer detalhes da sucursal

• Iniciar sessão no CodeCommit consola com um IAM utilizador que seja membro de um IAM grupo quetem a política aplicada ou assume uma função que tem a política aplicada. Crie uma solicitação pullque seja mesclada com a ramificação na qual as restrições se aplicam. Você deve ser capaz de criar asolicitação pull, mas obterá um erro se tentar mesclar essa solicitação.

• A partir do terminal ou linha de comando, crie um compromisso na sucursal onde se aplicam asrestrições e, em seguida, empurre o compromisso para o CodeCommit repositório. Você verá umamensagem de erro. Confirmações e envios por push feitas de outras ramificações devem funcionarnormalmente.

Ver detalhes da sucursal em AWS CodeCommitVocê pode usar o console do CodeCommit para visualizar detalhes sobre as ramificações em umRepositório do CodeCommit. Você pode ver a data da última confirmação para uma ramificação, amensagem de confirmação e muito mais. Também pode utilizar o AWS CLI ou Git de um repo local ligadoao Repositório do CodeCommit.

Tópicos• Ver detalhes da sucursal (consola) (p. 263)• Ver detalhes da sucursal (Git) (p. 264)• Ver detalhes da sucursal (AWS CLI) (p. 264)

Ver detalhes da sucursal (consola)Use o console do CodeCommit para visualizar rapidamente uma lista de ramificações para o seurepositório e detalhes sobre as ramificações.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende ver os detalhes da sucursal.3. No painel de navegação, escolha Ramos.

4. O nome da sucursal utilizada como predefinição para o repositório é apresentado ao lado de Ramopadrão. Para ver detalhes sobre o compromisso mais recente para uma agência, escolha o ramo eescolha Ver último compromisso. Para visualizar os arquivos e o código em uma ramificação, escolhao nome da ramificação.

Versão da API 2015-04-13263

Page 273: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVer detalhes da sucursal (Git)

Ver detalhes da sucursal (Git)Para utilizar Git de um repo local para ver detalhes sobre as ramificações locais e remotas para umRepositório do CodeCommit, execute o git branch comando.

As etapas a seguir foram escritas presumindo que você já tenha conectado o repo local ao Repositório doCodeCommit. Para obter instruções, consulte Conexão a um repositório (p. 94).

1. Executar o git branch comando, especificando o --all opção:

git branch --all

2. Se houver êxito, o comando gerará uma saída semelhante à seguinte.

MyNewBranch* master remotes/origin/MyNewBranch remotes/origin/master

O asterisco (*) aparece próximo à ramificação aberta atualmente. As entradas depois disso sãoreferências de rastreamento remoto.

Tip

git branch mostra ramificações locais.git branch -r mostra ramificações remotas.git checkout existing-branch-name alterna para o nome da ramificação especificada e,se git branch for executado imediatamente após, exibe-o com um asterisco (*).git remote update remote-name atualiza o teu repo local com a lista de Repositóriodo CodeCommit filiais. (Para obter uma lista de Repositório do CodeCommit nomes erespectivos url, executar git remote -v de controlo.)

Para obter mais opções, consulte a documentação do Git.

Ver detalhes da sucursal (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Para utilizar o AWS CLI para ver detalhes sobre os ramos num Repositório do CodeCommit, execute umou mais dos seguintes comandos:

• Para visualizar uma lista de nomes de ramificação, execute list-branches (p. 264).• Para visualizar informações sobre uma ramificação específica, execute get-branch (p. 265).

Como visualizar uma lista de nomes de ramificação1. Executar o list-branches , especificando o nome do Repositório do CodeCommit (com o --

repository-name opção).

Tip

Para obter o nome do Repositório do CodeCommit, execute o list-repositories (p. 134)comando.

Versão da API 2015-04-13264

Page 274: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComparar e unir ramos

Por exemplo, para visualizar detalhes sobre as ramificações em um Repositório do CodeCommitchamado MyDemoRepo:

aws codecommit list-branches --repository-name MyDemoRepo

2. Se houver êxito, o comando gerará como saída um objeto branchNameList, com uma entrada paracada ramificação.

Veja um exemplo de saída com base no comando do exemplo anterior:

{ "branches": [ "MyNewBranch", "master" ]}

Como visualizar informações sobre uma ramificação1. Execute o comando get-branch, especificando:

• O nome do repositório (com o --repository-name opção).• O nome da sucursal (com o --branch-name opção).

Por exemplo, para ver informações sobre uma agência nomeada MyNewBranch em Repositório doCodeCommit nomeado MyDemoRepo:

aws codecommit get-branch --repository-name MyDemoRepo --branch-name MyNewBranch

2. Se houver êxito, o comando gerará como saída o nome da ramificação e o ID da última confirmaçãofeita a ela.

Veja um exemplo de saída com base no comando do exemplo anterior:

{ "branch": { "branchName": "MyNewBranch", "commitID": "317f8570EXAMPLE" }}

Comparar e unir ramos em AWS CodeCommitPode utilizar o CodeCommit para comparar ramos num CodeCommit repositório. A comparação deramificações ajuda você a exibir rapidamente as diferenças entre uma ramificação e a ramificação padrãoou a exibir as diferenças entre as duas ramificações.

Tópicos• Comparar uma filial para a sucursal predefinida (p. 266)• Comparar dois ramos específicos (p. 266)• Unir duas filiais (AWS CLI) (p. 267)

Versão da API 2015-04-13265

Page 275: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComparar uma filial para a sucursal predefinida

Comparar uma filial para a sucursal predefinidaUse o console do CodeCommit para exibir rapidamente as diferenças entre uma ramificação e aramificação padrão para o seu repositório.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende comparar sucursais.3. No painel de navegação, escolha Compromisso, e depois escolha o Comparar compromisso

separador.4. Em Destino, escolha o nome da sucursal predefinida. Em Fonte, escolha o ramo que pretende

comparar com a sucursal predefinida. Escolher Comparar.

Comparar dois ramos específicosUse o console do CodeCommit para ver as diferenças entre duas ramificações que você deseja comparar.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende comparar sucursais.3. No painel de navegação, escolha Compromisso, e depois escolha o Comparar compromisso

separador.4. Em Destino e Fonte, escolha os dois ramos para comparar e, em seguida, escolha Comparar. Para

exibir a lista de arquivos alterados, expanda a lista de arquivos alterados. Você pode ver as alteraçõesnos arquivos lado a lado (visualização dividida) ou embutida (exibição unificada).

Note

Se você entrou como um usuário do IAM, pode configurar e salvar suas preferências paravisualizar o código e outras configurações do console. Para obter mais informações, consulteTrabalhar com preferências do utilizador (p. 273).

Versão da API 2015-04-13266

Page 276: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioUnir duas filiais (AWS CLI)

Unir duas filiais (AWS CLI)Pode unir duas filiais num CodeCommit repositório utilizando o AWS CLI utilizando uma das estratégias defusão disponíveis executando um dos seguintes comandos:

• Para unir duas filiais utilizando a estratégia de fusão rápida, execute o merge-branches-by-fast-forward (p. 267) comando.

• Para unir duas ramificações utilizando a estratégia de fusão de squash, execute o merge-branches-by-squash (p. 267) comando.

• Para unir duas filiais utilizando a estratégia de fusão de três vias, execute o merge-branches-by-three-way (p. 268) comando.

Também pode testar os questionários ao executar o create-unreferenced-merge-commit comando. Paramais informações, consulte Resolver conflitos num pedido de pull (p. 205).

Note

Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter maisinformações, consulte Referência da linha de comando (p. 422).

Para utilizar o AWS CLI para unir duas filiais num CodeCommit repositório

1.Para unir duas filiais utilizando a estratégia de fusão rápida, execute o merge-branches-by-fast-forwardcomando, especificando:

• O nome do ramo de origem que contém as alterações que pretende unir (com o --source-commit-specifier opção).

• O nome da sucursal de destino onde pretende combinar as suas alterações (com o --destination-commit-specifier opção).

• O nome do repositório (com o --repository-name opção).

Por exemplo, para unir uma agência de origem nomeada bugfix-1234 para uma agência de destinonomeada preprod num repositório nomeado MyDemoRepo:

aws codecommit merge-branches-by-fast-forward --source-commit-specifier bugfix-bug1234 --destination-commit-specifier preprod --repository-name MyDemoRepo

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE"}

2.Para mesclar duas ramificações usando a estratégia de mesclagem de compressão, execute ocomando merge-branches-by-squash, especificando:

• O nome do ramo de origem que contém as alterações que pretende unir (com o --source-commit-specifier opção).

• O nome da sucursal de destino onde pretende combinar as suas alterações (com o --destination-commit-specifier opção).

• O nome do repositório (com o --repository-name opção).• A mensagem de compromisso a incluir (com o --commit-message opção).

Versão da API 2015-04-13267

Page 277: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioUnir duas filiais (AWS CLI)

• O nome a utilizar para o compromisso (com o --name opção).• O endereço de e-mail a utilizar para o compromisso (com o --email opção).

Por exemplo, para unir uma agência de origem nomeada bugfix-bug1234 com uma agência dedestino nomeada bugfix-quarterly num repositório nomeado MyDemoRepo:

aws codecommit merge-branches-by-squash --source-commit-specifier bugfix-bug1234 --destination-commit-specifier bugfix-quarterly --author-name "Maria Garcia" --email "[email protected]" --commit-message "Merging in fix branches to prepare for a general patch." --repository-name MyDemoRepo

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE"}

3.Para mesclar duas ramificações usando a estratégia de mesclagem de três vias, execute o comandomerge-branches-by-three-way, especificando:

• O nome do ramo de origem que contém as alterações que pretende unir (com o --source-commit-specifier opção).

• O nome da sucursal de destino onde pretende combinar as suas alterações (com o --destination-commit-specifier opção).

• O nome do repositório (com o --repository-name opção).• A mensagem de compromisso a incluir (com o --commit-message opção).• O nome a utilizar para o compromisso (com o --name opção).• O endereço de e-mail a utilizar para o compromisso (com o --email opção).

Por exemplo, para unir uma agência de origem nomeada master com uma agência de destinonomeada bugfix-1234 num repositório nomeado MyDemoRepo:

aws codecommit merge-branches-by-three-way --source-commit-specifier master --destination-commit-specifier bugfix-bug1234 --author-name "Jorge Souza" --email "[email protected]" --commit-message "Merging changes from master to bugfix branch before additional testing." --repository-name MyDemoRepo

Se houver êxito, o comando gerará uma saída semelhante à seguinte.

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE"}

Versão da API 2015-04-13268

Page 278: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAlterar definições da sucursal

Alterar definições da agência em AWSCodeCommit

-Pode alterar a sucursal predefinida para utilizar no AWS CodeCommit consola. Você também pode usara AWS CLI para alterar a ramificação padrão de um repositório. Para alterar outras configurações deramificação, você pode usar o Git de um repo local conectado ao Repositório do CodeCommit.

Tópicos• Alterar o ramo predefinido (consola) (p. 269)• Alterar o ramo predefinido (AWS CLI) (p. 269)

Alterar o ramo predefinido (consola)Pode especificar qual a agência que é a sucursal predefinida num CodeCommit repositório no AWSCodeCommit consola.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende alterar as definições.3. No painel de navegação, escolha Definições.4. Em Ramo padrão, escolha a lista pendente de ramo e escolha uma sucursal diferente. Escolher

Guardar.

Alterar o ramo predefinido (AWS CLI)Para usar comandos da AWS CLI com o CodeCommit, instale a AWS CLI. Para obter mais informações,consulte Referência da linha de comando (p. 422).

Para utilizar o AWS CLI para alterar as definições de sucursal de um repositório num Repositório doCodeCommit, execução o seguinte comando:

• update-default-branch (p. 269) para alterar a ramificação padrão.

Como alterar a ramificação padrão1. Execute o comando update-default-branch, especificando:

• O nome do Repositório do CodeCommit em que a sucursal predefinida é atualizada (com o --repository-name opção).

Tip

Para obter o nome do Repositório do CodeCommit, execute o list-repositories (p. 134)comando.

• O nome da nova sucursal predefinida (com o --default-branch-name opção).

Tip

Para obter o nome da agência, execute o list-branches (p. 264) comando.2. Por exemplo, para alterar o ramo predefinido para MyNewBranch em Repositório do CodeCommit

nomeado MyDemoRepo:Versão da API 2015-04-13

269

Page 279: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEliminar uma agência

aws codecommit update-default-branch --repository-name MyDemoRepo --default-branch-name MyNewBranch

Esse comando gerará saídas somente se houver erros.

Para obter mais opções, consulte a documentação do Git.

Eliminar uma sucursal em AWS CodeCommitVocê pode usar o console do CodeCommit para excluir uma ramificação em um repositório. Eliminar umaramificação em CodeCommit não elimina essa sucursal num repo local, para que os utilizadores possamcontinuar a ter cópias dessa sucursal até à próxima vez que estas forem alteradas. Para eliminar umaagência localmente e empurre essa alteração para Repositório do CodeCommit, utilize Git de um repolocal ligado ao Repositório do CodeCommit.

A exclusão de uma ramificação não exclui confirmações, mas exclui todas as referências às confirmaçõesnessa ramificação. Se você excluir uma ramificação que contém confirmações não incorporadas em outraramificação no repositório, não poderá recuperar essas confirmações, a não ser que você tenha seus IDsde confirmação completos.

Note

Você não pode usar as instruções neste tópico para excluir a ramificação padrão de umrepositório. Se você deseja excluir a ramificação padrão, crie uma ramificação, defina a novaramificação como padrão e, em seguida, exclua a antiga. Para mais informações, consulte Criaruma ramificação (p. 258) e Alterar definições da sucursal (p. 269).

Tópicos• Eliminar uma filial (consola) (p. 270)• Eliminar um ramo (AWS CLI) (p. 270)• Eliminar uma filial (Git) (p. 271)

Eliminar uma filial (consola)Você pode usar o console do CodeCommit para excluir uma ramificação em um Repositório doCodeCommit.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório onde pretende eliminar uma agência.3. No painel de navegação, escolha Ramos.4. Encontre o nome do ramo que pretende eliminar, escolha Eliminar ramo, e confirme a sua escolha.

Eliminar um ramo (AWS CLI)Pode utilizar o AWS CLI para eliminar uma ramificação num Repositório do CodeCommit, se essa sucursalnão for a sucursal predefinida para o repositório. Para obter mais informações sobre como instalar e usar aAWS CLI, consulte Referência da linha de comando (p. 422).

1. No terminal ou na linha de comando, execute o comando delete-branch, especificando:

Versão da API 2015-04-13270

Page 280: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEliminar uma filial (Git)

• O nome do Repositório do CodeCommit onde a sucursal é eliminada (com o --repository-nameopção).

Tip

Para obter o nome do Repositório do CodeCommit, execute o list-repositories (p. 134)comando.

• O nome da sucursal a eliminar (com o branch-name opção).

Tip

Para obter o nome da agência, execute o list-branches (p. 264) comando.2. Por exemplo, para eliminar uma agência nomeada MyNewBranch num Repositório do CodeCommit

nomeado MyDemoRepo:

aws codecommit delete-branch --repository-name MyDemoRepo --branch-name MyNewBranch

Esse comando retorna informações sobre a ramificação excluída, incluindo o nome da ramificaçãoexcluída e o ID de confirmação completo da confirmação que era o cabeçalho da ramificação. Porexemplo, .

"deletedBranch": { "branchName": "MyNewBranch", "commitId": "317f8570EXAMPLE"}

Eliminar uma filial (Git)Siga estas etapas para usar o Git de um repo local para excluir uma ramificação em um Repositório doCodeCommit.

Essas etapas foram escritas presumindo que você já tenha conectado o repo local ao Repositório doCodeCommit. Para obter instruções, consulte Conexão a um repositório (p. 94).

1. Para eliminar a sucursal do repo local, execute o git branch -D branch-name comando ondebranch-name o nome do ramo que pretende eliminar.

Tip

Para obter uma lista de nomes de ramificação, execute git branch --all.

Por exemplo, para excluir uma ramificação no repo local chamada MyNewBranch:

git branch -D MyNewBranch

2. Para eliminar a sucursal do Repositório do CodeCommit, execute o git push remote-name --delete branch-name comando onde remote-name é o alcunha repo local para o Repositóriodo CodeCommit e branch-name é o nome do ramo que pretende eliminar do Repositório doCodeCommit.

Tip

Para obter uma lista de Repositório do CodeCommit nomes e respectivos url, executar gitremote -v comando.

Versão da API 2015-04-13271

Page 281: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEliminar uma filial (Git)

Por exemplo, para eliminar uma agência nomeada MyNewBranch no Repositório do CodeCommitnomeado origin:

git push origin --delete MyNewBranch

Tip

Esse comando não excluirá a ramificação se ela for padrão.

Para obter mais opções, consulte a documentação do Git.

Versão da API 2015-04-13272

Page 282: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Trabalhar com preferências doutilizador

Você pode usar o console do AWS CodeCommit para definir algumas das configurações padrão. Porexemplo, você pode alterar suas preferências para visualizar as alterações de código em linha ou em umavisualização dividida. Quando você faz uma alteração em uma dessas configurações, o console do AWSCodeCommit define um cookie em seu navegador que armazena e aplica suas opções sempre que vocêusa o console. Essas preferências são aplicadas a todos os repositórios em todas as regiões sempre quevocê acessar o console do AWS CodeCommit usando esse navegador. Essa configuração de preferênciasnão é específica ao repositório ou à região. Não têm qualquer efeito nas suas interações com o AWS CLI,AWS CodeCommit API ou outros serviços que interagem com AWS CodeCommit.

Note

Os cookies de preferências de usuário são específicos a um navegador. Se você limpar oscookies de seu navegador, suas preferências serão limpas. Da mesma forma, se você usar umoutro navegador para acessar um repositório, o navegador não terá acesso aos cookies do outronavegador. As suas preferências não sãoemed.

As preferências do usuário incluem:

• Ao visualizar alterações no código, quer utilize Unificado ou Dividir ver e se mostrar ou ocultar alteraçõesde espaço branco.

• Ao visualizar, editar ou criar código, seja para usar um plano de fundo de luz ou um fundo escuro najanela do editor de código.

Não há uma página para configurar suas preferências. Em vez disso, sempre que você alterar umapreferência no console, como a maneira pela qual visualizar alterações de código, essa alteração serásalva e aplicada sempre que for apropriada.

Versão da API 2015-04-13273

Page 283: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMigrar um repositório Git para AWS CodeCommit

Migrar para o AWS CodeCommitÉ possível migrar um repositório do Git para um Repositório do CodeCommit de várias formas: clonando,espelhando, migrando todas ou apenas algumas ramificações, e assim por diante. Também é possívelmigrar o conteúdo não versionado local do seu computador para o CodeCommit.

Os seguintes tópicos mostram algumas das possíveis maneiras de migrar um repositório. As etapaspodem variar dependendo do tipo, do estilo ou da complexidade do repositório e do que você decidiu sobreo que migrar e como realizar a migração. Para repositórios muito grandes, pode querer considerar migrarde forma incremental (p. 291).

Note

É possível migrar para o CodeCommit a partir de outros sistemas de controle de versão, comoPerforce, Subversion ou TFS, mas você deverá migrar antes para o Git.Para obter mais opções, consulte a documentação do Git.Em alternativa, pode rever a informação sobre migração para Git no Git pro reserve por ScottChstata e Ben Straub.

Tópicos• Migrar um repositório Git para AWS CodeCommit (p. 274)• Migrar conteúdo local ou não versionado para AWS CodeCommit (p. 283)• Migrar um repositório incrementalmente (p. 291)

Migrar um repositório Git para AWS CodeCommitÉ possível migrar um repositório Git existente para um Repositório do CodeCommit. Os procedimentosneste tópico mostram como migrar um projeto hospedado em outro repositório Git para o CodeCommit.Como parte do processo, você:

• Concluirá a configuração inicial necessária para o CodeCommit.• Criar uma CodeCommit repositório.• Clone o repositório e o envie por push para o CodeCommit.• Ver ficheiros no CodeCommit repositório.• Compartilhará o repositório do CodeCommit com a sua equipe.

Versão da API 2015-04-13274

Page 284: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPasso 0: Configuração necessária

para acesso a CodeCommit

Tópicos• Passo 0: Configuração necessária para acesso a CodeCommit (p. 275)• Etapa 1 Criar uma CodeCommit repositório (p. 278)• Etapa 2. Clonar o repositório e pressionar CodeCommit repositório (p. 280)• Etapa 3 Ver ficheiros em CodeCommit (p. 281)• Etapa 4. Partilhar o CodeCommit repositório (p. 281)

Passo 0: Configuração necessária para acesso aCodeCommitAntes de poder migrar um repositório para CodeCommit, tem de criar e configurar um IAM utilizador paraCodeCommit e configure o seu computador local para aceder. Também é necessário instalar a AWS CLIpara gerenciar o CodeCommit. Ainda que consiga realizar mais CodeCommit tarefas sem ela, o AWS CLIoferece flexibilidade ao trabalhar com Git na linha de comando ou terminal.

Se você já configurou para o CodeCommit, pule para Etapa 1 Criar uma CodeCommitrepositório (p. 278).

Como criar e configurar um usuário do IAM para acessar o CodeCommit

1. Criar um AWS conta indo http://aws.amazon.com e escolher Registo.2. Criar um IAM utilizador ou utilize um existente, no seu AWS conta. Certifique-se de que tem uma

ID chave de acesso e uma chave de acesso secreta associada a esse IAM utilizador. Para maisinformações, consulte Criar uma IAM Utilizador na sua AWS Conta.

Note

CodeCommitO requer o AWS Key Management Service. Se estiver a utilizar um IAMutilizador, certifique-se de que não existem políticas ligadas ao utilizador que recusemexpressamente o AWS KMS ações necessárias por CodeCommit. Para obter maisinformações, consulte AWS KMS e encriptação (p. 300).

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

4. No IAM consola, no painel de navegação, escolha Utilizadores, e depois escolha o IAM utilizador quepretende configurar para CodeCommit acesso.

Versão da API 2015-04-13275

Page 285: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPasso 0: Configuração necessária

para acesso a CodeCommit

5. No Permissões , escolha Adicionar permissões.6. Em Conceder permissões, escolha Anexe directamente as políticas existentes.7. Na lista de políticas, selecione AWSCodeCommitPowerUser ou outra política gerida para CodeCommit

acesso. Para obter mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317).

Depois de selecionar a política que pretende anexar, escolha Seguinte: Revisão para rever a lista depolíticas para anexar ao IAM utilizador. Se a lista estiver correta, escolha Adicionar permissões.

Para mais informações sobre CodeCommit políticas geridas e partilha de acesso a repositórios comoutros grupos e utilizadores, consulte Partilhar um repositório (p. 97) e Autenticação e controle deacesso para o AWS CodeCommit (p. 309).

Como instalar e configurar o AWS CLI

1. Na sua máquina local, baixe e instale o AWS CLI. Esse é um pré-requisito para interagir com oCodeCommit a partir da linha de comando. Para mais informações, consulte Configurar o AWSInterface da linha de comando.

Note

CodeCommitO AWS CLI trabalha somente com as versões da 1.7.38 e posterior. Comoprática recomendada, instale ou atualize a AWS CLI para a versão mais recente disponível.Para determinar qual a versão do AWS CLI instalou, execute o aws --version comando.Para atualizar uma versão mais antiga do AWS CLI para a versão mais recente, consulteInstalar o AWS Command Line Interface.

2. Execute este comando para verificar o CodeCommit comandos para o AWS CLI estão instalados:

aws codecommit help

Este comando deve devolver uma lista de CodeCommit comandos.3. Configurar o AWS CLI com um perfil utilizando o configure como se segue:

aws configure

Quando solicitado, especifique o AWS chave de acesso e AWS chave de acesso secreta do IAMutilizador para utilizar com CodeCommit. Além disso, certifique-se de que especifica a região AWSonde o repositório existe, como us-east-2. Quando solicitado para o formato de saída predefinido,especifique json. Por exemplo:

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Para obter mais informações sobre como criar e configurar perfis para usar com a AWS CLI, consulteo seguinte:

• Perfis nomeados• Utilizar um IAM Função no AWS CLI• Comando set• A ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301)Versão da API 2015-04-13

276

Page 286: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPasso 0: Configuração necessária

para acesso a CodeCommit

Para se conectar a um repositório ou um recurso em outra região da AWS, é necessário reconfigurar aAWS CLI com o nome da região padrão. Os nomes de região padrão compatíveis com o CodeCommitincluem:

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1

Para obter mais informações sobre o CodeCommit e as regiões da AWS, consulte Parâmetros deligação de regiões e Git (p. 409). Para mais informações sobre IAM, teclas de acesso e teclassecretas, consulte Como obtenho credenciais? e Gerir chaves de acesso para IAM Utilizadores. Paramais informações sobre o AWS CLI e perfis, consulte Perfis nomeados.

Em seguida, você deve instalar o Git.

• Para Linux, macOS, or Unix:

Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git Downloads.

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recursopode afetar o modo como ele funciona com o CodeCommit. Se você tiver problemas comuma versão específica do Git e do CodeCommit, reveja as informações em Solução deproblemas (p. 388).

• Para Windows

Versão da API 2015-04-13277

Page 287: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Criar uma CodeCommit repositório

Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git for Windows. Se você usar esse link para instalar oGit, poderá aceitar todas as configurações padrão de instalação, exceto as seguintes:• Quando solicitado durante a etapa Adjusting your PATH environment (Ajuste do ambiente de PATH),

selecione a opção para usar o Git do prompt de comando do Windows.• (Opcional) Se você pretende usar HTTPS com o auxiliar de credenciais incluído na AWS CLI em

vez de configurar credenciais do Git para o CodeCommit, na página Configuring extra options(Configurar opções adicionais), certifique-se de que a opção Enable Git Credential Manager (Habilitaro Git Credential Manager) esteja desmarcada. O Git Credential Manager só será compatível com oCodeCommit se os usuários do IAM configurarem as credenciais do Git. Para obter mais informações,consulte Para utilizadores HTTPS utilizando credenciais Git (p. 10) e T para Windows: Instalei Git paraWindows, mas tenho acesso ao meu repositório (403) (p. 400).

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recursopode afetar o modo como ele funciona com o CodeCommit. Se você tiver problemas comuma versão específica do Git e do CodeCommit, reveja as informações em Solução deproblemas (p. 388).

CodeCommitO é compatível com autenticação HTTPS e SSH. Para concluir a configuração, tem deconfigurar as credenciais Git para CodeCommit (HTTPS, recomendado para a maioria dos utilizadores),um par de chaves SSH para utilizar ao aceder CodeCommit (SSH), git-remote-codecommit (recomendadopara utilizadores que usam acesso federado) ou o auxiliar de credencial incluído no AWS CLI (HTTPS).

• Para ver as credenciais do Git em todos os sistemas operacionais compatíveis, consulte Etapa 3 Criarcredenciais de Git para ligações HTTPS para CodeCommit (p. 11).

• Para ver SSH em Linux, macOS, or Unix, consulte SSH e Linux, macOS, or Unix: Configure as chavespúblicas e privadas para Git e CodeCommit (p. 37).

• Para ver SSH no Windows, consulte SSH e Windows: Configure as chaves públicas e privadas para Gite CodeCommit (p. 41).

• Para o git-remote-codecommit, consulte Passos de configuração para ligações HTTPS para AWSCodeCommit com código de controlo git-remote (p. 14).

• Para o assistente de credencial em Linux, macOS, or Unix, consulte Configurar o assistente decredencial (Linux, macOS, or Unix) (p. 48).

• Para o assistente de credencial no Windows, consulte Configurar o assistente de credencial(Windows) (p. 53).

Etapa 1 Criar uma CodeCommit repositórioNesta secção, utiliza o CodeCommit consola para criar CodeCommit repositório que utiliza para o restodeste tutorial. Para usar o AWS CLI para criar o repositório, consulte Criar um repositório do AWSCLI) (p. 92).

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor da região, escolha a região da AWS onde você deseja criar o repositório. Para obter mais

informações, consulte Parâmetros de ligação de regiões e Git (p. 409).3. No Repositórios página, escolher Criar repositório.4. No Criar repositório página, em Nome do repositório, introduza um nome para o repositório.

Versão da API 2015-04-13278

Page 288: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Criar uma CodeCommit repositório

Note

Os nomes de repositórios diferenciam maiúsculas de minúsculas. O nome deve ser único noAWS Região para o seu AWS conta.

5. (Opcional) Em Descrição, introduza uma descrição para o repositório. Isso pode ajudar você e outrosusuários a identificar a finalidade do repositório.

Note

O campo de descrição mostra Markdown no console e aceita todos os caracteres HTML etodos os caracteres válidos de Unicode. Se você for um desenvolvedor de aplicativos queestá usando as APIs GetRepository ou BatchGetRepositories e pretender exibir ocampo de descrição do repositório em um navegador web, consulte a Referência de API doCodeCommit.

6. (Opcional) Escolha Adicionar etiqueta para adicionar uma ou mais etiquetas de repositório (umaetiqueta de atributo personalizada que o ajuda a organizar e a gerir o seu AWS recursos) parao seu repositório. Para obter mais informações, consulte Repositórios de etiquetagem em AWSCodeCommit (p. 105).

7. (Opcional) Selecione Ativar Amazon CodeGuru Reviewer para Java se este repositório conters CódigoJava e pretende CodeGuru Reviewer para analisar it. CodeGuru Reviewer utiliza vários modelosde aprendizagem de máquinas para encontrar defeitos de código Java e para sugerir melhorias ecorreções nos pedidos de pull-pull. Para obter mais informações, consulte Guia do usuário do AmazonCodeGuru Reviewer.

8. Escolher Criar.

Depois de ser criado, o repositório aparece no Repositórios lista. Na coluna URL, selecione o ícone decópia e, em seguida, o protocolo (HTTPS ou SSH) a ser usado para se conectar ao CodeCommit. Copie oURL.

Versão da API 2015-04-13279

Page 289: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Clonar o repositório e

pressionar CodeCommit repositório

Por exemplo, se tiver nomeado o seu repositório MyClonedRepository e está a utilizar as credenciaisGit com HTTPS no Leste dos EUA (Ohio) Região, o URL parece o seguinte:

https://git-codecommit.us-east-2.amazonaws.com/MyClonedRepository

Você precisará desse URL posteriormente em Etapa 2. Clonar o repositório e pressionar CodeCommitrepositório (p. 280).

Etapa 2. Clonar o repositório e pressionarCodeCommit repositórioNesta seção, você clonará um repositório Git existente para o seu computador local, criando o que échamado de repositório local. Em seguida, você enviará por push o conteúdo do repositório local para orepositório do CodeCommit que você criou anteriormente.

1. A partir do terminal ou comando do comando no computador local, execute o git clone com o --mirror para clonar uma cópia não protegida do repositório remoto numa nova pasta nomeada aws-codecommit-demoEste é um repositório vazio destinado apenas à migração. Ele não é o repositóriolocal que fará a interação com o repositório migrado no CodeCommit. Pode criar mais tarde, após amigração para CodeCommit está concluído.

O exemplo seguinte é uma aplicação de demonstração alojada no github (https://github.com/awslabs/aws-demo-php-simple-app.git) para um repo local num diretório nomeado aws-codecommit-demo.

git clone --mirror https://github.com/awslabs/aws-demo-php-simple-app.git aws-codecommit-demo

2. Altere os diretórios para o diretório onde você criou o clone.

cd aws-codecommit-demo

3. Executar o git push comando, especificando o URL e o nome do destino CodeCommit e o --all opção.(Este é o URL que você copiou em Etapa 1 Criar uma CodeCommit repositório (p. 278)).

Por exemplo, se tiver nomeado o seu repositório MyClonedRepository e está configurado parautilizar HTTPS, executaria o seguinte comando:

git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos//MyClonedRepository --all

Note

A opção --all apenas envia por push todas as ramificações para o repositório. Ela não écompatível com o push de outras referências, como tags. Se quiser empurrar etiquetas,aguarde até que o botão inicial esteja concluído e, em seguida, volte a premir, desta vez,utilizando o --tags opção:

git push ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository --tags

Para mais informações, consulte Empurrar no website Git. Para obter informações sobreenviar grandes repositórios por push, principalmente ao enviar todas as referências porpush de uma vez (por exemplo, com a opção --mirror), consulte Migrar um repositório emincrementos (p. 291).

Versão da API 2015-04-13280

Page 290: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Ver ficheiros em CodeCommit

Pode eliminar o aws-codecommit-demo e o seu conteúdo depois de ter migrado o repositório paraCodeCommit. Criar uma repo local com todas as referências corretas para trabalhar com o repositório emCodeCommit, execute o git clone sem o --mirror opção:

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository

Etapa 3 Ver ficheiros em CodeCommitApós enviar os conteúdos do seu diretório por push, será possível usar o console do CodeCommit paravisualizar rapidamente todos os arquivos no repositório.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório (por exemplo, MyClonedRepository).3. Visualize os arquivos no repositório das ramificações, dos URLs clone, das configurações e mais.

Etapa 4. Partilhar o CodeCommit repositórioQuando você cria um repositório no CodeCommit, são gerados dois endpoints: um para conexões HTTPSe outro para conexões SSH. Ambos fornecem conexões seguras em uma rede. Os usuários podem usarum dos dois protocolos. Ambos os endpoints se mantêm ativos, independentemente do protocolo que vocêrecomenda aos usuários. Antes de compartilhar o repositório com outros, é necessário criar políticas doIAM que permitem o acesso de outros usuários ao seu repositório. Forneça essas instruções de acessoaos seus usuários.

Criação de uma política gerenciada por cliente para seu repositório

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No Painel área de navegação, escolher Políticas, e depois escolha Criar política.3. No Criar política página, escolha Importar política gerida.4. No Importar políticas geridas página, em Filtrar políticas, enter AWSCodeCommitPowerUser. Escolha

o botão junto ao nome da apólice e escolha Importar.5. No Criar política página, escolher JSON. Substitua a parte "*" do Resource linha para CodeCommit

acções com o Nome do Recurso Amazon (ARN) do CodeCommit repositório, como mostrado aqui:

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]

Versão da API 2015-04-13281

Page 291: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Partilhar o CodeCommit repositório

Tip

Para encontrar o ARN para o CodeCommit repositório, vá para CodeCommit e escolhao nome do repositório na lista. Para obter mais informações, consulte Ver detalhes dorepositório (p. 132).

Se você quiser que essa política seja aplicada a mais de um repositório, adicione cada um como umrecurso especificando o ARN dele. Inclua uma vírgula entre cada instrução de recurso, conformemostrado aqui:

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

Quando terminar a edição, escolha Rever a política.6. No Política de revisão página, em Nome, introduza um novo nome para a política (por exemplo,

AWSCodeCommitPowerUser-MyDemoRepo). Opcionalmente, forneça uma descrição para estapolítica.

7. Escolher Criar política.

Para gerir o acesso ao seu repositório, crie um IAM grupo para os seus utilizadores, adicionar IAMutilizadores desse grupo e, em seguida, anexe a política gerida pelo cliente que criou no passoanterior. Anexe quaisquer outras políticas necessárias para o acesso, como IAMUserSSHKeys ouIAMSelfManageServiceSpecificCredentials.

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No Painel área de navegação, escolher Grupos, e depois escolha Criar novo grupo.3. No Definir nome do grupo página, em Nome do grupo, introduza um nome para o grupo (por exemplo,

MyDemoRepoGroup) e, em seguida, escolha Passo seguinte. Considere incluir o nome do repositóriocomo parte do nome do grupo.

Note

Este nome tem de ser único num AWS conta.4. Selecione a caixa ao lado da política gerenciada pelo cliente criada na seção anterior (por exemplo,

AWSCodeCommitPowerUser-MyDemoRepo).5. No Revisão página, escolher Criar grupo. IAM cria este grupo com as políticas especificadas já

anexadas. O grupo aparece na lista de grupos associados à sua AWS conta.6. Escolha seu grupo na lista.7. Na página de resumo do grupo, escolha o Utilizadores e, em seguida, escolha Adicionar utilizadores

ao grupo. Na lista que mostra todos os utilizadores associados ao seu AWS , selecione as caixasjunto aos utilizadores aos quais pretende permitir o acesso ao CodeCommit repositório e, em seguida,escolha Adicionar utilizadores.

Tip

Você pode usar a caixa Pesquisar para encontrar rapidamente usuários por nome.8. Quando tiver adicionado os seus utilizadores, feche o IAM consola.

Depois de ter criado um IAM acesso ao utilizador CodeCommit utilizando o grupo de políticas e as políticasque configurou, envie esse utilizador a informação necessária para ligar ao repositório.

Versão da API 2015-04-13282

Page 292: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMigrar conteúdo para CodeCommit

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos para um AWS Região. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. No Repositórios , escolha o repositório que pretende partilhar.4. Em URL do clone, escolha o protocolo que pretende que os seus utilizadores utilizem. Isso copia a

URL clonada para o protocolo de conexão.5. Envie aos usuários a URL clonada juntamente com todas as outras instruções, como instalação da

AWS CLI, configuração de um perfil ou instalação do Git. Não se esqueça de incluir as informações deconfiguração para o protocolo de conexão (por exemplo, HTTPS).

Migrar conteúdo local ou não versionado para AWSCodeCommit

Os procedimentos neste tópico mostram como migrar um projeto existente ou conteúdo local no seucomputador para um Repositório do CodeCommit. Como parte do processo, você:

• Concluirá a configuração inicial necessária para o CodeCommit.• Criar uma CodeCommit repositório.• Coloque uma pasta local sob controlo de versão Git e empurre o conteúdo dessa pasta para o

CodeCommit repositório.• Ver ficheiros no CodeCommit repositório.• Compartilhará o repositório do CodeCommit com a sua equipe.

Tópicos• Passo 0: Configuração necessária para acesso a CodeCommit (p. 284)• Etapa 1 Criar uma CodeCommit repositório (p. 287)• Etapa 2. Migrar conteúdo local para o CodeCommit repositório (p. 288)• Etapa 3 Ver ficheiros em CodeCommit (p. 289)• Etapa 4. Partilhar o CodeCommit repositório (p. 289)

Versão da API 2015-04-13283

Page 293: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPasso 0: Configuração necessária

para acesso a CodeCommit

Passo 0: Configuração necessária para acesso aCodeCommitAntes de poder migrar conteúdo local para CodeCommit, tem de criar e configurar um IAM utilizador paraCodeCommit e configure o seu computador local para aceder. Também é necessário instalar a AWS CLIpara gerenciar o CodeCommit. Ainda que consiga realizar mais CodeCommit tarefas sem ela, o AWS CLIoferece flexibilidade ao trabalhar com Git.

Se você já configurou para o CodeCommit, pule para Etapa 1 Criar uma CodeCommitrepositório (p. 287).

Como criar e configurar um usuário do IAM para acessar o CodeCommit

1. Criar um AWS conta indo http://aws.amazon.com e escolher Registo.2. Criar um IAM utilizador ou utilize um existente, no seu AWS conta. Certifique-se de que tem uma

ID chave de acesso e uma chave de acesso secreta associada a esse IAM utilizador. Para maisinformações, consulte Criar uma IAM Utilizador na sua AWS Conta.

Note

CodeCommitO requer o AWS Key Management Service. Se estiver a utilizar um IAMutilizador, certifique-se de que não existem políticas ligadas ao utilizador que recusemexpressamente o AWS KMS ações necessárias por CodeCommit. Para obter maisinformações, consulte AWS KMS e encriptação (p. 300).

3. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

4. No IAM consola, no painel de navegação, escolha Utilizadores, e depois escolha o IAM utilizador quepretende configurar para CodeCommit acesso.

5. No Permissões , escolha Adicionar permissões.6. Em Conceder permissões, escolha Anexe directamente as políticas existentes.7. Na lista de políticas, selecione AWSCodeCommitPowerUser ou outra política gerida para CodeCommit

acesso. Para obter mais informações, consulte Políticas gerenciadas (predefinidas) pela AWS para oCodeCommit (p. 317).

Depois de selecionar a política que pretende anexar, escolha Seguinte: Revisão para rever a lista depolíticas para anexar ao IAM utilizador. Se a lista estiver correta, escolha Adicionar permissões.

Para mais informações sobre CodeCommit políticas geridas e partilha de acesso a repositórios comoutros grupos e utilizadores, consulte Partilhar um repositório (p. 97) e Autenticação e controle deacesso para o AWS CodeCommit (p. 309).

Como instalar e configurar o AWS CLI

1. Na sua máquina local, baixe e instale o AWS CLI. Esse é um pré-requisito para interagir com oCodeCommit a partir da linha de comando. Para mais informações, consulte Configurar o AWSInterface da linha de comando.

Note

CodeCommitO AWS CLI trabalha somente com as versões da 1.7.38 e posterior. Comoprática recomendada, instale ou atualize a AWS CLI para a versão mais recente disponível.Para determinar qual a versão do AWS CLI instalou, execute o aws --version comando.Para atualizar uma versão mais antiga do AWS CLI para a versão mais recente, consulteInstalar o AWS Command Line Interface.

2. Execute este comando para verificar o CodeCommit comandos para o AWS CLI estão instalados:

Versão da API 2015-04-13284

Page 294: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPasso 0: Configuração necessária

para acesso a CodeCommit

aws codecommit help

Este comando deve devolver uma lista de CodeCommit comandos.3. Configurar o AWS CLI com um perfil utilizando o configure como se segue:

aws configure

Quando solicitado, especifique o AWS chave de acesso e AWS chave de acesso secreta do IAMutilizador para utilizar com CodeCommit. Além disso, certifique-se de que especifica a região AWSonde o repositório existe, como us-east-2. Quando solicitado para o formato de saída predefinido,especifique json. Por exemplo:

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Para obter mais informações sobre como criar e configurar perfis para usar com a AWS CLI, consulteo seguinte:

• Perfis nomeados• Utilizar um IAM Função no AWS CLI• Comando set• A ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301)

Para se conectar a um repositório ou um recurso em outra região da AWS, é necessário reconfigurar aAWS CLI com o nome da região padrão. Os nomes de região padrão compatíveis com o CodeCommitincluem:

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1

Versão da API 2015-04-13285

Page 295: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioPasso 0: Configuração necessária

para acesso a CodeCommit

• me-south-1• cn-north-1• cn-northwest-1

Para obter mais informações sobre o CodeCommit e as regiões da AWS, consulte Parâmetros deligação de regiões e Git (p. 409). Para mais informações sobre IAM, teclas de acesso e teclassecretas, consulte Como obtenho credenciais? e Gerir chaves de acesso para IAM Utilizadores. Paramais informações sobre o AWS CLI e perfis, consulte Perfis nomeados.

Em seguida, você deve instalar o Git.

• Para Linux, macOS, or Unix:

Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git Downloads.

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recursopode afetar o modo como ele funciona com o CodeCommit. Se você tiver problemas comuma versão específica do Git e do CodeCommit, reveja as informações em Solução deproblemas (p. 388).

• Para Windows

Para trabalhar com arquivos, confirmações e outras informações nos repositórios do CodeCommit,instale o Git em sua máquina local. CodeCommit é compatível com o Git versões 1.7.9 ou posterior.Recomendamos o uso de uma versão recente do Git.

Para instalar o Git, recomendamos sites como Git for Windows. Se você usar esse link para instalar oGit, poderá aceitar todas as configurações padrão de instalação, exceto as seguintes:• Quando solicitado durante a etapa Adjusting your PATH environment (Ajuste do ambiente de PATH),

selecione a opção para usar o Git do prompt de comando do Windows.• (Opcional) Se você pretende usar HTTPS com o auxiliar de credenciais incluído na AWS CLI em

vez de configurar credenciais do Git para o CodeCommit, na página Configuring extra options(Configurar opções adicionais), certifique-se de que a opção Enable Git Credential Manager (Habilitaro Git Credential Manager) esteja desmarcada. O Git Credential Manager só será compatível com oCodeCommit se os usuários do IAM configurarem as credenciais do Git. Para obter mais informações,consulte Para utilizadores HTTPS utilizando credenciais Git (p. 10) e T para Windows: Instalei Git paraWindows, mas tenho acesso ao meu repositório (403) (p. 400).

Note

O Git é uma plataforma em constante evolução. Certas vezes, uma alteração do recursopode afetar o modo como ele funciona com o CodeCommit. Se você tiver problemas comuma versão específica do Git e do CodeCommit, reveja as informações em Solução deproblemas (p. 388).

CodeCommitO é compatível com autenticação HTTPS e SSH. Para concluir a configuração, tem deconfigurar as credenciais Git para CodeCommit (HTTPS, recomendado para a maioria dos utilizadores),um par chave SSH (SSH) para utilizar ao aceder CodeCommit, git-remote-codecommit (recomendado parautilizadores que usam acesso federado) ou o auxiliar de credencial incluído no AWS CLI.

Versão da API 2015-04-13286

Page 296: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Criar uma CodeCommit repositório

• Para ver as credenciais do Git em todos os sistemas operacionais compatíveis, consulte Etapa 3 Criarcredenciais de Git para ligações HTTPS para CodeCommit (p. 11).

• Para ver SSH em Linux, macOS, or Unix, consulte SSH e Linux, macOS, or Unix: Configure as chavespúblicas e privadas para Git e CodeCommit (p. 37).

• Para ver SSH no Windows, consulte SSH e Windows: Configure as chaves públicas e privadas para Gite CodeCommit (p. 41).

• Para o git-remote-codecommit, consulte Passos de configuração para ligações HTTPS para AWSCodeCommit com código de controlo git-remote (p. 14).

• Para o assistente de credencial em Linux, macOS, or Unix, consulte Configurar o assistente decredencial (Linux, macOS, or Unix) (p. 48).

• Para o assistente de credencial no Windows, consulte Configurar o assistente de credencial(Windows) (p. 53).

Etapa 1 Criar uma CodeCommit repositórioNesta secção, utiliza o CodeCommit consola para criar CodeCommit repositório que utiliza para o restodeste tutorial. Para usar o AWS CLI para criar o repositório, consulte Criar um repositório do AWSCLI) (p. 92).

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor da região, escolha a região da AWS onde você deseja criar o repositório. Para obter mais

informações, consulte Parâmetros de ligação de regiões e Git (p. 409).3. No Repositórios página, escolher Criar repositório.4. No Criar repositório página, em Nome do repositório, introduza um nome para o repositório.

Note

Os nomes de repositórios diferenciam maiúsculas de minúsculas. O nome deve ser único noAWS Região para o seu AWS conta.

5. (Opcional) Em Descrição, introduza uma descrição para o repositório. Isso pode ajudar você e outrosusuários a identificar a finalidade do repositório.

Note

O campo de descrição mostra Markdown no console e aceita todos os caracteres HTML etodos os caracteres válidos de Unicode. Se você for um desenvolvedor de aplicativos queestá usando as APIs GetRepository ou BatchGetRepositories e pretender exibir ocampo de descrição do repositório em um navegador web, consulte a Referência de API doCodeCommit.

6. (Opcional) Escolha Adicionar etiqueta para adicionar uma ou mais etiquetas de repositório (umaetiqueta de atributo personalizada que o ajuda a organizar e a gerir o seu AWS recursos) parao seu repositório. Para obter mais informações, consulte Repositórios de etiquetagem em AWSCodeCommit (p. 105).

7. (Opcional) Selecione Ativar Amazon CodeGuru Reviewer para Java se este repositório conters CódigoJava e pretende CodeGuru Reviewer para analisar it. CodeGuru Reviewer utiliza vários modelosde aprendizagem de máquinas para encontrar defeitos de código Java e para sugerir melhorias ecorreções nos pedidos de pull-pull. Para obter mais informações, consulte Guia do usuário do AmazonCodeGuru Reviewer.

8. Escolher Criar.

Versão da API 2015-04-13287

Page 297: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Migrar conteúdo localpara o CodeCommit repositório

Depois de ser criado, o repositório aparece no Repositórios lista. Na coluna URL, selecione o ícone decópia e, em seguida, o protocolo (HTTPS ou SSH) a ser usado para se conectar ao CodeCommit. Copie oURL.

Por exemplo, se tiver nomeado o seu repositório MyFirstRepo e está a utilizar HTTPS, o URL parece oseguinte:

https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyFirstRepo

Você precisará desse URL posteriormente em Etapa 2. Migrar conteúdo local para o CodeCommitrepositório (p. 288).

Etapa 2. Migrar conteúdo local para o CodeCommitrepositórioAgora que você tem um repositório do CodeCommit, poderá escolher um diretório no seu computador localpara converter em um repositório local do Git. O comando git init pode ser usado para converter conteúdoexistente e não versionado para um repositório do Git ou, se você ainda não tiver arquivos ou conteúdo,para inicializar um repositório novo e vazio.

1. No terminal ou na linha de comando do seu computador local, altere diretórios para o diretório quedeseja usar como origem do seu repositório.

2. Execute o comando git init para inicializar o controle de versão do Git no diretório. Isso cria umsubdiretório .git na raiz do diretório que permite o rastreamento do controle de versão. A pasta .gittambém contém todos os metadados necessários para o repositório.

git init

3. Adicione os arquivos que deseja ao controle de versão. Neste tutorial, corre o git add com o . paraadicionar todos os ficheiros neste diretório. Para outras opções, consulte a documentação do Git.

Versão da API 2015-04-13288

Page 298: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 3 Ver ficheiros em CodeCommit

git add .

4. Crie uma confirmação para os arquivos adicionados com uma mensagem de confirmação.

git commit –m "Initial commit"

5. Executar o git push comando, especificando o URL e o nome do destino CodeCommit e o --allopção. (Este é o URL que você copiou em Etapa 1 Criar uma CodeCommit repositório (p. 287).)

Por exemplo, se tiver nomeado o seu repositório MyFirstRepo e está configurado para utilizarHTTPS, executaria o seguinte comando:

git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyFirstRepo --all

Etapa 3 Ver ficheiros em CodeCommitApós enviar os conteúdos do seu diretório por push, será possível usar o console do CodeCommit paravisualizar rapidamente todos os arquivos no repositório.

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. Em Repositórios, escolha o nome do repositório (por exemplo, MyFirstRepository) da lista.3. Visualize os arquivos no repositório das ramificações, dos URLs de clone, das configurações e muito

mais.

Etapa 4. Partilhar o CodeCommit repositórioQuando você cria um repositório no CodeCommit, são gerados dois endpoints: um para conexões HTTPSe outro para conexões SSH. Ambos fornecem conexões seguras em uma rede. Os usuários podem usarum dos dois protocolos. Ambos os endpoints se mantêm ativos, independentemente do protocolo que vocêrecomenda aos usuários. Antes de compartilhar o repositório com outros, é necessário criar políticas doIAM que permitem o acesso de outros usuários ao seu repositório. Forneça essas instruções de acessoaos seus usuários.

Criação de uma política gerenciada por cliente para seu repositório

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No Painel área de navegação, escolher Políticas, e depois escolha Criar política.3. No Criar política página, escolha Importar política gerida.4. No Importar políticas geridas página, em Filtrar políticas, enter AWSCodeCommitPowerUser. Escolha

o botão junto ao nome da apólice e escolha Importar.5. No Criar política página, escolher JSON. Substitua a parte "*" do Resource linha para CodeCommit

acções com o Nome do Recurso Amazon (ARN) do CodeCommit repositório, como mostrado aqui:

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]

Versão da API 2015-04-13289

Page 299: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 4. Partilhar o CodeCommit repositório

Tip

Para encontrar o ARN para o CodeCommit repositório, vá para CodeCommit e escolhao nome do repositório na lista. Para obter mais informações, consulte Ver detalhes dorepositório (p. 132).

Se você quiser que essa política seja aplicada a mais de um repositório, adicione cada um como umrecurso especificando o ARN dele. Inclua uma vírgula entre cada instrução de recurso, conformemostrado aqui:

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

Quando terminar a edição, escolha Rever a política.6. No Política de revisão página, em Nome, introduza um novo nome para a política (por exemplo,

AWSCodeCommitPowerUser-MyDemoRepo). Opcionalmente, forneça uma descrição para estapolítica.

7. Escolher Criar política.

Para gerir o acesso ao seu repositório, crie um IAM grupo para os seus utilizadores, adicionarIAM utilizadores desse grupo e, em seguida, anexe a política gerida pelo cliente que criouno passo anterior. Anexe quaisquer outras políticas necessárias para o acesso, comoIAMSelfManageServiceSpecificCredentials ou IAMUserSSHKeys.

1. Faça login no Console de gerenciamento da AWS e abra o console da IAM em https://console.aws.amazon.com/iam/.

2. No Painel área de navegação, escolher Grupos, e depois escolha Criar novo grupo.3. No Definir nome do grupo página, em Nome do grupo, introduza um nome para o grupo (por exemplo,

MyDemoRepoGroup) e, em seguida, escolha Passo seguinte. Considere incluir o nome do repositóriocomo parte do nome do grupo.

Note

Este nome tem de ser único num AWS conta.4. Selecione a caixa ao lado da política gerenciada pelo cliente criada na seção anterior (por exemplo,

AWSCodeCommitPowerUser-MyDemoRepo).5. No Revisão página, escolher Criar grupo. IAM cria este grupo com as políticas especificadas já

anexadas. O grupo aparece na lista de grupos associados à sua AWS conta.6. Escolha seu grupo na lista.7. Na página de resumo do grupo, escolha o Utilizadores e, em seguida, escolha Adicionar utilizadores

ao grupo. Na lista que mostra todos os utilizadores associados ao seu AWS , selecione as caixasjunto aos utilizadores aos quais pretende permitir o acesso ao CodeCommit repositório e, em seguida,escolha Adicionar utilizadores.

Tip

Você pode usar a caixa Pesquisar para encontrar rapidamente usuários por nome.8. Quando tiver adicionado os seus utilizadores, feche o IAM consola.

Depois de ter criado um IAM utilizador a utilizar para aceder CodeCommit utilizando o grupo de políticas eas políticas que configurou, envie esse utilizador a informação necessária para ligar ao repositório.

Versão da API 2015-04-13290

Page 300: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMigrar um repositório em incrementos

1. Abra o console do CodeCommit em https://console.aws.amazon.com/codesuite/codecommit/home.2. No seletor de região, escolha a região da AWS onde o repositório foi criado. Os repositórios são

específicos para um AWS Região. Para obter mais informações, consulte Parâmetros de ligação deregiões e Git (p. 409).

3. No Repositórios , escolha o repositório que pretende partilhar.4. Em URL do clone, escolha o protocolo que pretende que os seus utilizadores utilizem. Isso copia a

URL clonada para o protocolo de conexão.5. Envie aos usuários a URL clonada juntamente com todas as outras instruções, como instalação da

AWS CLI, configuração de um perfil ou instalação do Git. Não se esqueça de incluir as informações deconfiguração para o protocolo de conexão (por exemplo, HTTPS).

Migrar um repositório incrementalmenteAo migrar para o AWS CodeCommit, considere enviar o repositório em incrementos ou fragmentos parareduzir a possibilidade de que um problema de rede intermitente ou desempenho de rede degradadocause uma falha em todo o envio. Ao usar pushes em incrementos com um script como o que está incluídoaqui, você poderá reiniciar a migração e enviar por push somente as confirmações que não obtiveram êxitona tentativa anterior.

Os procedimentos neste tópico mostram como criar e executar um script que migra o repositório emincrementos e reenvia por push somente os incrementos que não obtiveram êxito até a migração estarconcluída.

Essas instruções foram escritas presumindo que você já tenha concluído as etapas em Configuração (p. 7) e Criar um repositório do (p. 91).

Tópicos• Passo 0: Determine se pretende migrar incrementalmente (p. 291)• Etapa 1 Instalar pré-requisitos e adicionar CodeCommit repositório como remoto (p. 292)• Etapa 2. Criar o script para utilizar para migrar gradualmente (p. 293)• Etapa 3 Executar o script e migrar incrementalmente para CodeCommit (p. 293)• Apêndice Guião de amostras incremental-repo-migration.py (p. 294)

Passo 0: Determine se pretende migrarincrementalmenteHá vários fatores a considerar para determinar o tamanho total do seu repositório e se migrará demaneira incremental. O mais óbvio é o tamanho total dos artefatos no repositório. Fatores como históricoacumulado do repositório também podem contribuir para o tamanho. Um repositório com anos de históricoe ramificações pode ser muito grande, mesmo que os recursos individuais não sejam. Há uma sériede estratégias que você pode utilizar para tornar a migração desses repositórios mais simples e maiseficiente. Por exemplo, você pode usar uma estratégia de clonagem superficial ao clonar um repositóriocom um longo histórico de desenvolvimento, ou pode desativar a compactação delta para grandesarquivos binários. Você pode pesquisar opções consultando a documentação do Git ou optar pelaconfiguração de push em incrementos para migrar o seu repositório usando a amostra de script incluídaneste tópico, incremental-repo-migration.py.

Você pode configurar pushes em incrementos se uma ou mais das seguintes condições forem verdadeiras:

• O repositório que você quer migrar tem um histórico de mais de cinco anos.• Sua conexão com a Internet está sujeita a interrupções intermitentes, queda de pacotes, resposta lenta

ou outras interrupções no serviço.

Versão da API 2015-04-13291

Page 301: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 1 Instalar pré-requisitos e adicionar

CodeCommit repositório como remoto

• O tamanho total do repositório é maior que 2 GB e você pretende migrá-lo por inteiro.• O repositório contém grandes artefatos ou binários que não são bem compactados, como arquivos

grandes de imagem de mais de cinco versões controladas.• Você já tentou migrar para o CodeCommit antes, e recebeu uma mensagem "Internal Service Error".

Mesmo se nenhuma das condições acima for verdadeira, você ainda poderá escolher enviar pushes demaneira incremental.

Etapa 1 Instalar pré-requisitos e adicionarCodeCommit repositório como remotoÉ possível criar o seu próprio script personalizado que tenha pré-requisitos próprios. Se você usar osexemplos incluídos neste tópico, deverá:

• Instalar seus pré-requisitos.• Clonar o repositório para o computador local.• Adicionar o repositório do CodeCommit como um remoto para o repositório que deseja migrar.

Configuração para executar incremental-repo-migration.py

1. No computador local, instale o Python 2.6 ou posterior. Para mais informações e as versões maisrecentes, consulte site Python.

2. No mesmo computador, instale GitPython, uma biblioteca Python usada para interagir comrepositórios do Git. Para mais informações, consulte a documentação de gitpython.

3. Use o comando git clone --mirror para clonar o repositório que você deseja migrar para o seucomputador local. Do terminal (Linux, macOS, or Unix) ou a linha de comandos (Windows), utilize o gitclone --mirror para criar uma repo local para o repositório, incluindo o directório onde pretende criar orepo local. Por exemplo, para clonar um repositório Git nomeado MyMigrationRepo com um URL dehttps://example.com/my-repo/ para um diretório chamado my-repo:

git clone --mirror https://example.com/my-repo/MyMigrationRepo.git my-repo

Você verá uma saída semelhante à seguinte, que indica que o repositório foi clonado em umrepositório local bare chamado my-repo:

Cloning into bare repository 'my-repo'...remote: Counting objects: 20, done.remote: Compressing objects: 100% (17/17), done.remote: Total 20 (delta 5), reused 15 (delta 3)Unpacking objects: 100% (20/20), done.Checking connectivity... done.

4. Altere directórios para o repo local para o repositório que acabou de clonar (por exemplo, my-repo).A partir desse diretório, utilize o git remote add DefaultRemoteName RemoteRepositoryURLcomando para adicionar CodeCommit repositório como repositório remoto para a repo local.

Note

Ao enviar grandes repositórios por push, considere utilizar SSH em vez de HTTPS. Ao enviarpor push uma grande alteração, um grande número de alterações ou um grande repositório,as conexões HTTPS de execução prolongada costumam ser encerradas prematuramentedevido a problemas de rede ou configurações do firewall. Para mais informações sobre comoconfigurar CodeCommit para SSH, ver Para ligações SSH em Linux, macOS, or Unix (p. 35)ou Para ligações SSH no Windows (p. 40).

Versão da API 2015-04-13292

Page 302: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEtapa 2. Criar o script para utilizar para migrar gradualmente

Por exemplo, utilize o seguinte comando para adicionar o parâmetro de avaliação SSH para umCodeCommit nome do repositório MyDestinationRepo como repositório remoto para o controlo remotocodecommit:

git remote add codecommit ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDestinationRepo

Tip

Por ser um clone, o nome do repositório remoto padrão (origin) já está em uso. Vocêdeverá usar outro nome de repositório remoto. Embora o exemplo use codecommit, vocêpode usar o nome que quiser. Use o comando git remote show para analisar a lista deconjunto de repositórios remotos do seu repositório local.

5. Use o comando git remote -v para exibir as configurações de busca e push do seu repositório local econfirmar se estão corretas. Por exemplo, .

codecommit ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDestinationRepo (fetch)codecommit ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDestinationRepo (push)

Tip

Se você ainda vir entradas de busca e push de um repositório remoto diferente (por exemplo,entradas para origin), use o comando git remote set-url --delete para removê-las.

Etapa 2. Criar o script para utilizar para migrargradualmenteEstes passos são escritos com o pressuposto de que está a utilizar o incremental-repo-migration.py script de amostras.

1. Abra um editor de texto e cole o conteúdo de o script da amostra (p. 294) num documento vazio.2. Guarde o documento num directório de documentos (não o directório de trabalho da sua repo local)

e nomeie-o incremental-repo-migration.py. Certifique-se de que o directório que escolherestá configurado nas variáveis do seu ambiente local ou do caminho, para que possa executar o scriptPython a partir de uma linha de comandos ou terminal.

Etapa 3 Executar o script e migrar incrementalmentepara CodeCommitAgora que criou o seu incremental-repo-migration.py script, pode utilizá-lo para migrarincrementalmente um comentário local para um CodeCommit repositório. Por padrão, o script enviaconfirmações por push em lotes de 1.000 confirmações e tenta usar as configurações do Git para odiretório de onde é executado como configurações para os repositórios local e remoto. Você pode usaras opções incluídas em incremental-repo-migration.py para definir outras configurações, senecessário.

1. No terminal ou na linha de comando, altere os diretórios para o repositório local que você desejamigrar.

2. Nesse diretório, execute o seguinte comando:

Versão da API 2015-04-13293

Page 303: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioApêndice Guião de amostras

incremental-repo-migration.py

python incremental-repo-migration.py

3. O script executa e mostra progresso no terminal ou na linha de comando. Alguns repositórios grandesdemoram para mostrar o progresso. O script será interrompido se um único push falhar três vezes.Então, você poderá executar novamente o script, que começará pelo lote que falhou. Execute o scriptnovamente até que todos os pushes obtenham êxito e a migração seja concluída.

Tip

Pode correr incremental-repo-migration.py de qualquer directório desde que utilize o -le -r para especificar as definições locais e remotas a utilizar. Por exemplo, para utilizar o scripta partir de qualquer directório para migrar um repo local localizado em /tmp/my-repo para umcontrolo remoto codecommit:

python incremental-repo-migration.py -l "/tmp/my-repo" -r "codecommit"

Você também pode querer usar a opção -b para alterar o tamanho do lote padrão usadoao enviar por push de forma incremental. Por exemplo, se você estiver enviando por pushregularmente um repositório de arquivos binários muito grandes que costumam mudarfrequentemente e trabalham de um local com largura de banda da rede restrita, use a opção -bpara alterar o tamanho do lote para 500 em vez de 1.000. Por exemplo, .

python incremental-repo-migration.py -b 500

Isso envia o repositório local por push de maneira incremental em lotes de 500 confirmações. Sevocê decidir alterar o tamanho do lote novamente ao migrar o repositório (por exemplo, se vocêdecidir reduzir o tamanho do lote após uma tentativa falha), lembre-se de usar a opção -c pararemover as tags do lote antes de redefinir o tamanho do lote com -b:

python incremental-repo-migration.py -cpython incremental-repo-migration.py -b 250

Important

Não use a opção -c se desejar executar novamente o script após uma falha. A opção -c eliminaas tags usadas para acomodar as confirmações em lote. Use a opção -c somente se desejaralterar o tamanho do lote e iniciar novamente ou se decidir que não quer mais usar o script.

Apêndice Guião de amostras incremental-repo-migration.pyPara a sua conveniência, desenvolvemos um amostra de script Python, incremental-repo-migration.py, para enviar um repositório por push de maneira incremental. Esse script é um exemplode código aberto e é fornecido como se encontra.

# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Amazon Software License (the "License"). # You may not use this file except in compliance with the License. A copy of the License is located at # http://aws.amazon.com/asl/ # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. See the License for# the specific language governing permissions and limitations under the License.

Versão da API 2015-04-13294

Page 304: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioApêndice Guião de amostras

incremental-repo-migration.py

#!/usr/bin/env python

import osimport sysfrom optparse import OptionParserfrom git import Repo, TagReference, RemoteProgress, GitCommandError

class PushProgressPrinter(RemoteProgress): def update(self, op_code, cur_count, max_count=None, message=''): op_id = op_code & self.OP_MASK stage_id = op_code & self.STAGE_MASK if op_id == self.WRITING and stage_id == self.BEGIN: print("\tObjects: %d" % max_count)

class RepositoryMigration:

MAX_COMMITS_TOLERANCE_PERCENT = 0.05 PUSH_RETRY_LIMIT = 3 MIGRATION_TAG_PREFIX = "codecommit_migration_"

def migrate_repository_in_parts(self, repo_dir, remote_name, commit_batch_size, clean): self.next_tag_number = 0 self.migration_tags = [] self.walked_commits = set() self.local_repo = Repo(repo_dir) self.remote_name = remote_name self.max_commits_per_push = commit_batch_size self.max_commits_tolerance = self.max_commits_per_push * self.MAX_COMMITS_TOLERANCE_PERCENT

try: self.remote_repo = self.local_repo.remote(remote_name) self.get_remote_migration_tags() except (ValueError, GitCommandError): print("Could not contact the remote repository. The most common reasons for this error are that the name of the remote repository is incorrect, or that you do not have permissions to interact with that remote repository.") sys.exit(1)

if clean: self.clean_up(clean_up_remote=True) return

self.clean_up()

print("Analyzing repository") head_commit = self.local_repo.head.commit sys.setrecursionlimit(max(sys.getrecursionlimit(), head_commit.count()))

# tag commits on default branch leftover_commits = self.migrate_commit(head_commit) self.tag_commits([commit for (commit, commit_count) in leftover_commits])

# tag commits on each branch for branch in self.local_repo.heads: leftover_commits = self.migrate_commit(branch.commit) self.tag_commits([commit for (commit, commit_count) in leftover_commits])

# push the tags self.push_migration_tags()

# push all branch references for branch in self.local_repo.heads: print("Pushing branch %s" % branch.name) self.do_push_with_retries(ref=branch.name)

Versão da API 2015-04-13295

Page 305: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioApêndice Guião de amostras

incremental-repo-migration.py

# push all tags print("Pushing tags") self.do_push_with_retries(push_tags=True)

self.get_remote_migration_tags() self.clean_up(clean_up_remote=True)

print("Migration to CodeCommit was successful")

def migrate_commit(self, commit): if commit in self.walked_commits: return []

pending_ancestor_pushes = [] commit_count = 1

if len(commit.parents) > 1: # This is a merge commit # Ensure that all parents are pushed first for parent_commit in commit.parents: pending_ancestor_pushes.extend(self.migrate_commit(parent_commit)) elif len(commit.parents) == 1: # Split linear history into individual pushes next_ancestor, commits_to_next_ancestor = self.find_next_ancestor_for_push(commit.parents[0]) commit_count += commits_to_next_ancestor pending_ancestor_pushes.extend(self.migrate_commit(next_ancestor))

self.walked_commits.add(commit)

return self.stage_push(commit, commit_count, pending_ancestor_pushes)

def find_next_ancestor_for_push(self, commit): commit_count = 0

# Traverse linear history until we reach our commit limit, a merge commit, or an initial commit while len(commit.parents) == 1 and commit_count < self.max_commits_per_push and commit not in self.walked_commits: commit_count += 1 self.walked_commits.add(commit) commit = commit.parents[0]

return commit, commit_count

def stage_push(self, commit, commit_count, pending_ancestor_pushes): # Determine whether we can roll up pending ancestor pushes into this push combined_commit_count = commit_count + sum(ancestor_commit_count for (ancestor, ancestor_commit_count) in pending_ancestor_pushes)

if combined_commit_count < self.max_commits_per_push: # don't push anything, roll up all pending ancestor pushes into this pending push return [(commit, combined_commit_count)]

if combined_commit_count <= (self.max_commits_per_push + self.max_commits_tolerance): # roll up everything into this commit and push self.tag_commits([commit]) return []

if commit_count >= self.max_commits_per_push: # need to push each pending ancestor and this commit self.tag_commits([ancestor for (ancestor, ancestor_commit_count) in pending_ancestor_pushes])

Versão da API 2015-04-13296

Page 306: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioApêndice Guião de amostras

incremental-repo-migration.py

self.tag_commits([commit]) return []

# push each pending ancestor, but roll up this commit self.tag_commits([ancestor for (ancestor, ancestor_commit_count) in pending_ancestor_pushes]) return [(commit, commit_count)]

def tag_commits(self, commits): for commit in commits: self.next_tag_number += 1 tag_name = self.MIGRATION_TAG_PREFIX + str(self.next_tag_number)

if tag_name not in self.remote_migration_tags: tag = self.local_repo.create_tag(tag_name, ref=commit) self.migration_tags.append(tag) elif self.remote_migration_tags[tag_name] != str(commit): print("Migration tags on the remote do not match the local tags. Most likely your batch size has changed since the last time you ran this script. Please run this script with the --clean option, and try again.") sys.exit(1)

def push_migration_tags(self): print("Will attempt to push %d tags" % len(self.migration_tags)) self.migration_tags.sort(key=lambda tag: int(tag.name.replace(self.MIGRATION_TAG_PREFIX, ""))) for tag in self.migration_tags: print("Pushing tag %s (out of %d tags), commit %s" % (tag.name, self.next_tag_number, str(tag.commit))) self.do_push_with_retries(ref=tag.name)

def do_push_with_retries(self, ref=None, push_tags=False): for i in range(0, self.PUSH_RETRY_LIMIT): if i == 0: progress_printer = PushProgressPrinter() else: progress_printer = None

try: if push_tags: infos = self.remote_repo.push(tags=True, progress=progress_printer) elif ref is not None: infos = self.remote_repo.push(refspec=ref, progress=progress_printer) else: infos = self.remote_repo.push(progress=progress_printer)

success = True if len(infos) == 0: success = False else: for info in infos: if info.flags & info.UP_TO_DATE or info.flags & info.NEW_TAG or info.flags & info.NEW_HEAD: continue success = False print(info.summary)

if success: return except GitCommandError as err: print(err)

if push_tags: print("Pushing all tags failed after %d attempts" % (self.PUSH_RETRY_LIMIT)) elif ref is not None: print("Pushing %s failed after %d attempts" % (ref, self.PUSH_RETRY_LIMIT))

Versão da API 2015-04-13297

Page 307: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioApêndice Guião de amostras

incremental-repo-migration.py

print("For more information about the cause of this error, run the following command from the local repo: 'git push %s %s'" % (self.remote_name, ref)) else: print("Pushing all branches failed after %d attempts" % (self.PUSH_RETRY_LIMIT)) sys.exit(1)

def get_remote_migration_tags(self): remote_tags_output = self.local_repo.git.ls_remote(self.remote_name, tags=True).split('\n') self.remote_migration_tags = dict((tag.split()[1].replace("refs/tags/",""), tag.split()[0]) for tag in remote_tags_output if self.MIGRATION_TAG_PREFIX in tag)

def clean_up(self, clean_up_remote=False): tags = [tag for tag in self.local_repo.tags if tag.name.startswith(self.MIGRATION_TAG_PREFIX)]

# delete the local tags TagReference.delete(self.local_repo, *tags)

# delete the remote tags if clean_up_remote: tags_to_delete = [":" + tag_name for tag_name in self.remote_migration_tags] self.remote_repo.push(refspec=tags_to_delete)

parser = OptionParser()parser.add_option("-l", "--local", action="store", dest="localrepo", default=os.getcwd(), help="The path to the local repo. If this option is not specified, the script will attempt to use current directory by default. If it is not a local git repo, the script will fail.")parser.add_option("-r", "--remote", action="store", dest="remoterepo", default="codecommit", help="The name of the remote repository to be used as the push or migration destination. The remote must already be set in the local repo ('git remote add ...'). If this option is not specified, the script will use 'codecommit' by default.")parser.add_option("-b", "--batch", action="store", dest="batchsize", default="1000", help="Specifies the commit batch size for pushes. If not explicitly set, the default is 1,000 commits.")parser.add_option("-c", "--clean", action="store_true", dest="clean", default=False, help="Remove the temporary tags created by migration from both the local repo and the remote repository. This option will not do any migration work, just cleanup. Cleanup is done automatically at the end of a successful migration, but not after a failure so that when you re-run the script, the tags from the prior run can be used to identify commit batches that were not pushed successfully.")

(options, args) = parser.parse_args()

migration = RepositoryMigration()migration.migrate_repository_in_parts(options.localrepo, options.remoterepo, int(options.batchsize), options.clean)

Versão da API 2015-04-13298

Page 308: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioProteção de dados

Segurança em AWS CodeCommitA segurança da nuvem na AWS é a nossa maior prioridade. Como cliente da AWS, você se beneficiaráde um datacenter e de uma arquitetura de rede criados para atender aos requisitos das empresas com asmaiores exigências de segurança.

A segurança é uma responsabilidade compartilhada entre a AWS e você. O modelo de responsabilidadepartilhada descreve isto como segurança de a nuvem e a segurança em a nuvem:

• Segurança da nuvem – AWS é responsável por proteger a infraestrutura que funciona AWS serviçosno AWS Nuvem. AWS também lhe fornece serviços que pode utilizar com segurança. Os auditoresterceiros testam e verificam regularmente a eficácia da nossa segurança como parte do AWS Programasde conformidade. Para saber mais sobre os programas de conformidade que se aplicam a AWSCodeCommit, consulte Serviços AWS no âmbito pelo programa de conformidade.

• Segurança na nuvem – A sua responsabilidade é determinada pelo AWS que utiliza. Você tambémé responsável por outros fatores, incluindo a confidencialidade de seus dados, os requisitos da suaempresa e as leis e regulamentos aplicáveis.

Esta documentação ajuda a entender como aplicar o modelo de responsabilidade compartilhada ao usaro CodeCommit. Os tópicos a seguir mostram como configurar o CodeCommit para atender aos seusobjetivos de segurança e de conformidade. Também aprende a utilizar outros serviços AWS que o ajudama monitorizar e a proteger o seu CodeCommit recursos.

Tópicos• Proteção de dados no AWS CodeCommit (p. 299)• Identity and Access Management para o AWS CodeCommit (p. 304)• Resiliência no AWS CodeCommit (p. 359)• Segurança da infraestrutura no AWS CodeCommit (p. 359)

Proteção de dados no AWS CodeCommitAWS CodeCommit em conformidade com o AWS modelo de responsabilidade partilhada, que incluiregulamentos e diretrizes para proteção de dados. AWS é responsável por proteger a infraestruturaglobal que executa todos os AWS serviços. AWS mantém o controlo sobre os dados alojados nestainfraestrutura, incluindo os controlos de configuração de segurança para lidar com o conteúdo do cliente eos dados pessoais. AWS clientes e parceiros APN, agindo como responsáveis pelo tratamento de dadosou subcontratantes, são responsáveis por quaisquer dados pessoais que os mesmos coloquem no AWSNuvem.

Para fins de proteção de dados, recomendamos que proteja AWS credenciais de conta e configurar contasde utilizador individuais com AWS Identity and Access Management (IAM), para que cada utilizador recebaapenas as permissões necessárias para cumprir os seus deveres profissionais. Recomendamos tambémque você proteja seus dados das seguintes formas:

• Use uma autenticação multifator (MFA) com cada conta.• Utilizar SSL/TLS para comunicar com AWS recursos.

• Configure o registro em log das atividades da API e do usuário com o AWS CloudTrail.• Utilização AWS soluções de encriptação, juntamente com todos os controlos de segurança predefinidos

em AWS serviços.

Versão da API 2015-04-13299

Page 309: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAWS KMS e encriptação

• Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajudam a localizar eproteger dados pessoais que são armazenados no ()Amazon S3.

Recomendamos vivamente que nunca coloque informações de identificação sensíveis, tais como osnúmeros de conta dos seus clientes, em campos de forma livre, tais como Nome campo. Isto inclui quandotrabalha com CodeCommit ou outro AWS serviços utilizando a consola, API, AWS CLI, ou AWS ks. Todosos dados inseridos no CodeCommit ou em outros serviços poderão ser selecionados para inclusão emlogs de diagnóstico. Ao fornecer um URL para um servidor externo, não inclua informações de credenciaisno URL para validar a solicitação a esse servidor.

Para mais informações sobre proteção de dados, consulte o AWS Modelo de Responsabilidade Partilhadae RGPD publicação do blogue no AWS Blogue de segurança.

CodeCommitOs repositórios do são criptografados automaticamente quando estão em repouso. Nenhumaação do cliente é necessária. O CodeCommit também criptografa dados do repositório em trânsito. Podeutilizar o protocolo HTTPS, o protocolo SSH ou ambos com CodeCommit repositórios. Para obter maisinformações, consulte Configuração do AWS CodeCommit (p. 7). Também pode configurar acesso à contacruzada (p. 142) para CodeCommit repositórios.

Tópicos• AWS Key Management Service e encriptação para AWS CodeCommit repositórios (p. 300)• A ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301)

AWS Key Management Service e encriptação paraAWS CodeCommit repositóriosOs dados nos repositórios do CodeCommit estão criptografados em trânsito e em repouso. Quando osdados são inseridos num Repositório do CodeCommit (por exemplo, ao ligar para git push), CodeCommitencripta os dados recebidos, uma vez que são armazenados no repositório. Quando os dados sãoretirados de um Repositório do CodeCommit (por exemplo, ao ligar para git pull), CodeCommit descodificaros dados e envia-os para o chamador. Isso pressupõe que o usuário do IAM associado à solicitação depush ou de pull já tenha sido autenticado pela AWS. Os dados enviados ou recebidos são transferidosusando protocolos de rede criptografada HTTPS ou SSH.

A primeira vez que cria uma Repositório do CodeCommit numa nova região AWS no seu AWS conta,CodeCommit cria uma chave gerida pela AWS (o aws/codecommit ) na mesma região AWS em AWSKey Management Service (AWS KMS). Esta chave só é utilizada por CodeCommit (o aws/codecommitchave). É guardado no seu AWS conta. CodeCommit utiliza esta chave gerida AWS para encriptar edesencriptar os dados neste e em todos os outros CodeCommit repositórios dentro dessa região no seuAWS conta.

Important

CodeCommit realiza o seguinte AWS KMS acções contra a predefinição aws/codecommitchave. Um IAM o utilizador não necessita de permissões explícitas para estas acções, maso utilizador não pode ter quaisquer políticas em anexo que nejam estas acções para o aws/codecommit chave. Ao criar seu primeiro repositório, sua conta da AWS não deverá ter nenhumadas seguintes permissões definidas como deny:

• "kms:Encrypt"

• "kms:Decrypt"

• "kms:ReEncrypt"

• "kms:GenerateDataKey"

• "kms:GenerateDataKeyWithoutPlaintext"

Versão da API 2015-04-13300

Page 310: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioUtilizar credenciais de rotação

• "kms:DescribeKey"

Para ver informações sobre a chave de ativação gerenciada pela AWS gerada pelo CodeCommit, faça oseguinte:

1. Faça login no Console de gerenciamento da AWS e abra o console do AWS Key Management Service(AWS KMS) em https://console.aws.amazon.com/kms.

2. Para alterar a região do AWS, use o seletor Region (Região) no canto superior direito da página.3. No painel de navegação de serviço, escolha AWS teclas geridas. Verifique se você está conectado à

região da AWS onde pretende revisar as chaves.4. Na lista de chaves de encriptação, escolha a tecla gerida AWS com o alias aws/codecommit. São

exibidas informações básicas sobre a chave gerenciada pela AWS.

Você não pode alterar ou excluir a chave de ativação gerenciada pela AWS. Não pode utilizar uma chavegerida pelo cliente em AWS KMS para encriptar ou descodificar dados em CodeCommit repositórios.

Como os algoritmos de encriptação são utilizados para encriptaros dados do repositórioCodeCommitO usa duas abordagens diferentes para criptografar dados. Objetos Git individuais commenos de 6 MB são criptografados usando AES-GCM-256, que fornece validação de integridade de dados.Objetos entre 6 MB e, no máximo, 2 GB para um único blob são criptografados usando AES-CBC-256. OCodeCommit sempre valida o contexto de criptografia.

Contexto de criptografiaCada serviço integrado ao AWS KMS especifica um contexto de criptografia para operações de criptografiae de descriptografia. O contexto de criptografia significa informações adicionais autenticadas que o AWSKMS usa para verificar a integridade dos dados. Quando especificado para a operação de criptografia, eletambém deve ser especificado na operação de descriptografia. Caso contrário, a descodificação falhou.CodeCommit utiliza o Repositório do CodeCommit ID para o contexto de encriptação. Pode utilizar o get-repository ou o CodeCommit para encontrar a ID do repositório. Pesquisar Repositório do CodeCommitID em AWS CloudTrail registos para compreender que operações de encriptação foram tomadas em quechave AWS KMS para encriptar ou descodificar dados no Repositório do CodeCommit.

Para mais informações sobre AWS KMS, consulte o AWS Key Management Service Guia da Ferramentade Desenvolvimento.

A ligar a AWS CodeCommit repositórios comcredenciais rotativasPode dar aos utilizadores acesso ao seu AWS CodeCommit repositórios sem configurar IAM utilizadorespara eles ou utilizando uma chave de acesso e chave secreta. Em vez de criar um usuário do IAM, vocêpode usar identidades existentes do AWS Directory Service, do diretório de usuário da sua empresaou de um provedor de identidades da Web. Estes são conhecidos como usuários federados. A AWSatribui uma função a um usuário federado quando o acesso é solicitado por meio de um provedor deidentidades. Para obter mais informações sobre usuários federados, consulte Usuários federados efunções no Guia do usuário do IAM. Também pode configurar o acesso à função para IAM utilizadorespara aceder CodeCommit repositórios em separado AWS contas (uma técnica conhecida como acesso àconta cruzada). Para obter uma explicação detalhada sobre como configurar o acesso entre várias contasde um repositório, consulte Configurar o acesso entre contas cruzadas a um AWS CodeCommit repositórioutilizando funções (p. 142).

Versão da API 2015-04-13301

Page 311: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioUtilizar credenciais de rotação

É possível configurar o acesso para usuários que desejam ou devem ser autenticados por meio demétodos como:

• Security Assertion Markup Language (SAML)• Autenticação multifator (MFA)• Federação• Login with Amazon• Amazon Cognito• Facebook• Google• Provedor de identidade compatível com OpenID Connect (OIDC)

Note

As seguintes informações aplicam-se apenas à utilização de git-remote-codecommit ou oAWS CLI assistente de credencial para ligar a CodeCommit repositórios. Porque a abordagemrecomendada para acesso temporário ou federado a CodeCommit é configurar git-remote-codecommit, este tópico fornece exemplos utilizando esse utilitário. Para obter mais informações,consulte Passos de configuração para ligações HTTPS para AWS CodeCommit com código decontrolo git-remote (p. 14).Não é possível usar credenciais SSH ou Git e HTTPS para se conectar a repositórios doCodeCommit com credenciais de acesso temporárias ou rotativas.

Não será necessário executar estas etapas se todas as seguintes condições forem verdadeiras:

• Iniciou sessão num Amazon EC2 instância.• Está a utilizar Git e HTTPS com o AWS CLI assistente de credencial para ligar a partir do Amazon EC2

instância para CodeCommit repositórios.• O Amazon EC2 instância tem um anexo IAM perfil de instância que contém as permissões de

acesso descritas em Para ligações HTTPS em Linux, macOS, or Unix com o AWS CLI auxiliar decredencial (p. 45) ou Para ligações HTTPS no Windows com o AWS CLI auxiliar de credencial (p. 50).

• Instalou e configurou o auxiliar de credencial Git no Amazon EC2 exemplo, conforme descrito em Paraligações HTTPS em Linux, macOS, or Unix com o AWS CLI auxiliar de credencial (p. 45) ou Paraligações HTTPS no Windows com o AWS CLI auxiliar de credencial (p. 50).

Amazon EC2 as instâncias que cumprem os requisitos anteriores já estão configuradas para comunicarcredenciais de acesso temporário a CodeCommit em seu nome.

Note

Pode configurar e utilizar git-remote-codecommit em Amazon EC2 instâncias.

Para oferecer aos usuários acesso temporário aos seus repositórios do CodeCommit, realize as seguintesetapas.

Etapa 1 Concluir os pré-requisitos do .Conclua as etapas de configuração para fornecer a um usuário acesso aos repositórios do CodeCommitusando credenciais rotativas:

• Para aceder à conta cruzada, consulte Acompanhamento: Delegar acesso ao AWS Contas UtilizandoIAM Funções e Configurar o acesso entre contas cruzadas a um AWS CodeCommit repositórioutilizando funções (p. 142).

• Para SAML e federação, consulte Utilizar o Sistema de Autenticação da sua Organização paraConceder Acesso a AWS Recursos e Sobre AWS STS Federação com base na SAML 2.0.

Versão da API 2015-04-13302

Page 312: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioUtilizar credenciais de rotação

• Para a MFA, consulte Utilizar dispositivos de autenticação multifator (MFA) com AWS e Criar credenciaisde segurança temporárias para permitir o acesso IAM Utilizadores.

• Para iniciar sessão com a Amazon, Amazon Cognito, Facebook, Google, ou qualquer fornecedor deidentidade compatível com OIDC, consulte Sobre AWS STS Federação de Identidade Web.

Utilize a informação em Autenticação e controle de acesso para o AWS CodeCommit (p. 309) paraespecificar o CodeCommit permissões que pretende conceder ao utilizador.

Etapa 2. Obter nome da função ou credenciais de acessoSe você quiser que seus usuários acessem repositórios assumindo uma função, forneça aos usuárioso nome de recurso da Amazon (ARN) dessa função. Caso contrário, dependendo da forma como vocêconfigura o acesso, seu usuário pode obter credenciais rotativas de uma das seguintes maneiras:

• Para aceder à conta cruzada, ligue para o AWS CLI assumir-função ou ligar para o AWS STS permeroleAPI.

• Para SAML, ligue para o AWS CLI assumir-função-com-saml ou o AWS STS permerolewithsaml API.• Para a federação, ligue para o AWS CLI assumir-função ou obter-token-federação comandos ou AWS

STS permerole ou getfederationtoken API.• Para a MFA, ligue para o AWS CLI obter-token-sessão ou o AWS STS getsessiontoken API.• Para iniciar sessão com a Amazon, Amazon Cognito, Facebook, Google, ou qualquer fornecedor de

identidade compatível com OIDC, ligue para o AWS CLI assumir-função-com-identidade-web ou o AWSSTS assuntivasdeentidade API.

Etapa 3 Instale o código de controlo remoto configurar o AWSCLITem de configurar o seu computador local para utilizar as credenciais de acesso por instalar git-remote-codecommit e configurar um perfil no AWS CLI.

1. Siga as instruções em Configuração (p. 7) para configurar a AWS CLI. Use o comando aws configurepara configurar um ou mais perfis. Considere criar um perfil nomeado a ser usado ao se conectar arepositórios do CodeCommit usando credenciais rotativas.

2. É possível associar a credencial de acesso temporária ao perfil nomeado da AWS CLI do usuário dasformas a seguir.

• Se você estiver assumindo uma função para acessar o CodeCommit, configure um perfil nomeadocom as informações necessárias para assumir essa função. Por exemplo, se quiser assumir umafunção nomeada CodeCommitAccess no AWS conta 111111111111, pode configurar um perfilpredefinido para utilizar quando trabalhar com outro AWS recursos e um perfil nomeado para utilizarquando assumir essa função. Os seguintes comandos criam um perfil designado CodeAccess queassume uma função designada CodeCommitAccessO nome do usuário. Maria Garcia estáassociado à sessão e o perfil predefinido é definido como a fonte do AWS credenciais:

aws configure set role_arn arn:aws:iam:::111111111111:role/CodeCommitAccess --profile CodeAccessaws configure set source_profile default --profile CodeAccessaws configure set role_session_name "Maria Garcia" --profile CodeAccess

Se quiser verificar as alterações, visualize ou edite manualmente o ~/.aws/config ficheiro(para Linux) ou %UserProfile%.aws\config (para Windows) e reveja as informações no perfildesignado. Por exemplo, o arquivo pode ser semelhante ao seguinte:

Versão da API 2015-04-13303

Page 313: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIdentity and Access Management

[default]region = us-east-1output = json

[profile CodeAccess]source_profile = defaultrole_session_name = Maria Garciarole_arn = arn:aws:iam:::111111111111:role/CodeCommitAccess

Depois de ter configurado o seu perfil, pode então clonar CodeCommit repositórios com o git-remote-codecommit intermédio utilizando o perfil designado. Por exemplo, para excluir umrepositório denominado : MyDemoRepo:

git clone codecommit://CodeAccess@MyDemoRepo

• Se estiver a utilizar a federação de identidade web e a Openid Connect (OIDC), configure um perfilnomeado que faça o AWS Security Token Service (AWS STS) AssumeRoleWithWebIdentity AAPI contacta em seu nome para actualizar as credenciais temporárias. Utilize o aws configure setou editar manualmente o ~/.aws/credentials ficheiro (para Linux) ou %UserProfile%.aws\credentials (para Windows) para adicionar um AWS CLI perfil nomeado com os valores dedefinição necessários. Por exemplo, para criar um perfil que assuma o CodeCommitAccess funçãoe utiliza um ficheiro de autenticação de Web engenhomy-credentials/my-token-file:

[CodeCommitWebIdentity]role_arn = arn:aws:iam:::111111111111:role/CodeCommitAccessweb_identity_token_file=~/my-credentials/my-token-filerole_session_name = Maria Garcia

Para mais informações, consulte Configurar o AWS Command Line Interface e Utilizar um IAM Funçãono AWS CLI no AWS Command Line Interface Guia do utilizador.

Etapa 4. Aceder ao CodeCommit repositóriosAssumindo que o seu utilizador seguiu as instruções em Conexão a um repositório (p. 94) para ligar aoCodeCommit repositórios, o utilizador utiliza então a funcionalidade alargada fornecida por git-remote-codecommit e Git para ligar git clone, git push, e git pull para clonar, empurrar e puxar, o CodeCommitrepositórios para os quais ele ou ela tem acesso. Por exemplo, para clonar um repositório:

git clone codecommit://CodeAccess@MyDemoRepo

Os comandos commit, push e pull do Git usam sintaxe regular do Git.

Quando o utilizador utiliza o AWS CLI e especifica o AWS CLI perfil designado associado às credenciaisde acesso rotativo, os resultados colados a esse perfil são devolvidos.

Identity and Access Management para o AWSCodeCommit

O AWS Identity and Access Management (IAM) é um serviço da AWS que ajuda um administrador acontrolar com segurança o acesso aos recursos da AWS. Os administradores do IAM controlam quem

Versão da API 2015-04-13304

Page 314: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAudience

pode ser autenticado (conectado) e autorizado (ter permissões) para usar os recursos do CodeCommit. OIAM é um serviço da AWS que pode ser usado sem custo adicional.

Tópicos• Audience (p. 305)• Autenticar com identidades (p. 305)• Gerenciamento do acesso usando políticas (p. 307)• Autenticação e controle de acesso para o AWS CodeCommit (p. 309)• Como o AWS CodeCommit funciona com o IAM (p. 352)• CodeCommitPolíticas baseadas em recursos do (p. 352)• Autorização baseada em CodeCommit etiquetas (p. 352)• CodeCommit IAM funções (p. 355)• AWS CodeCommitExemplos de políticas baseadas em identidade do (p. 355)• Resolução de problemas AWS CodeCommit identidade e acesso (p. 357)

AudienceO uso do AWS Identity and Access Management (IAM) varia, dependendo do trabalho que você realiza noCodeCommit.

Usuário do serviço – se você usar o CodeCommit para fazer sua tarefa, o administrador fornecerá ascredenciais e as permissões de que você precisa. À medida que usar mais recursos do CodeCommitpara fazer seu trabalho, você poderá precisar de permissões adicionais. Entender como o acesso égerenciado pode ajudar você a solicitar as permissões corretas ao seu administrador. Se não for possívelacessar um recurso no CodeCommit, consulte Resolução de problemas AWS CodeCommit identidade eacesso (p. 357).

Administrador do serviço – se você for o responsável pelos recursos do CodeCommit em sua empresa,você provavelmente terá acesso total ao CodeCommit. Seu trabalho é determinar quais recursos doCodeCommit seus funcionários devem acessar. Assim, é necessário enviar solicitações ao administradordo IAM para alterar as permissões dos usuários de seu serviço. Revise as informações nesta página paraentender os conceitos básicos do IAM. Para saber mais sobre como sua empresa pode usar o IAM com oCodeCommit, consulte Como o AWS CodeCommit funciona com o IAM (p. 352).

Administrador do IAM – se você é um administrador do IAM, talvez queira saber detalhes sobrecomo pode escrever políticas para gerenciar o acesso ao CodeCommit. Para visualizar exemplosde políticas baseadas em identidade do CodeCommit que podem ser usadas no IAM, consulte AWSCodeCommitExemplos de políticas baseadas em identidade do (p. 355).

Autenticar com identidadesA autenticação é a forma como você faz login na AWS usando suas credenciais de identidade. Para obtermais informações sobre como fazer login usando o Console de gerenciamento da AWS, consulte A páginade login e do console do IAM no Guia do usuário do IAM.

Você deve ser autenticado (fazer login na AWS) como o Usuário raiz da conta da AWS, um usuário doIAM, ou assumindo uma função do IAM. Também é possível usar a autenticação de logon único da suaempresa, ou até mesmo fazer login usando o Google ou o Facebook. Nesses casos, seu administradorconfigurou anteriormente a federação de identidades usando funções do IAM. Ao acessar a AWS usandocredenciais de outra empresa, você estará assumindo uma função indiretamente.

Para fazer login diretamente no Console de gerenciamento da AWS, use sua senha com o e-mail dousuário raiz ou seu nome de usuário do IAM. É possível acessar a AWS de maneira programática usando

Versão da API 2015-04-13305

Page 315: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticar com identidades

seu usuário raiz ou as chaves de acesso do usuário do IAM. A AWS fornece ferramentas do SDK ou dalinha de comando para assinar sua solicitação de forma criptográfica usando suas credenciais. Se vocênão utilizar ferramentas da AWS, cadastre a solicitação você mesmo. Faça isso usando o Signature versão4, um protocolo para autenticação de solicitações de API de entrada. Para obter mais informações sobre aautenticação de solicitações, consulte Processo de cadastramento do Signature versão 4 na AWS GeneralReference.

Independentemente do método de autenticação usado, também pode ser exigido que você forneçainformações adicionais de segurança. Por exemplo, a AWS recomenda o uso da autenticação multifator(MFA) para aumentar a segurança de sua conta. Para saber mais, consulte Usar a autenticação multifator(MFA) na AWS no Guia do usuário do IAM.

Usuário raiz da conta da AWSAo criar uma conta da AWS, você começa com uma única identidade de login que tenha acesso total atodos os recursos e serviços da AWS na conta. Essa identidade é chamada de AWS da conta da usuárioraiz e é acessada pelo login com o endereço de e-mail e a senha que você usou para criar a conta.Recomendamos que não use o usuário raiz para suas tarefas diárias, nem mesmo as administrativas.Em vez disso, siga as melhores práticas de uso do usuário raiz somente para criar seu primeiro usuáriodo IAM. Depois, armazene as credenciais usuário raiz com segurança e use-as para executar apenasalgumas tarefas de gerenciamento de contas e de serviços.

IAMGrupos e usuários doUm usuário do IAM é uma identidade em sua conta da AWS que tem permissões específicas para umaúnica pessoa ou um único aplicativo. Um usuário do IAM pode ter credenciais de longo prazo, como umnome de usuário e uma senha ou um conjunto de chaves de acesso. Para saber como gerar chaves deacesso, consulte Gerenciar chaves de acesso para usuários do IAM no Guia do usuário do IAM. Ao gerarchaves de acesso para um usuário do IAM, visualize e salve o par de chaves de maneira segura. Não serápossível recuperar a chave de acesso secreta futuramente. Em vez disso, você deverá gerar outro par dechaves de acesso.

Um grupo do IAM é uma identidade que especifica uma coleção de usuários do IAM. Não é possívelfazer login como um grupo. É possível usar grupos para especificar permissões para vários usuários deuma vez. Os grupos facilitam o gerenciamento de permissões para grandes conjuntos de usuários. Porexemplo, você pode ter um grupo chamado Administradores do IAM e atribuir a esse grupo permissõespara administrar recursos do IAM.

Usuários são diferentes de funções. Um usuário é exclusivamente associado a uma pessoa ou a umaplicativo, mas uma função pode ser assumida por qualquer pessoa que precisar dela. Os usuários têmcredenciais permanentes de longo prazo, mas as funções fornecem credenciais temporárias. Para sabermais, consulte Quando criar um usuário do IAM (em vez de uma função) no Guia do usuário do IAM.

IAMFunções do doUma função do IAM é uma identidade dentro de sua conta da AWS que tem permissões específicas.Ela é semelhante a um usuário do IAM, mas não está associada a uma pessoa específica. É possívelassumir temporariamente uma função do IAM no Console de gerenciamento da AWS alternando funções.É possível assumir uma função chamando uma operação de API da AWS CLI ou da AWS, ou usando umURL personalizado. Para obter mais informações sobre os métodos para o uso de funções, consulte Usarfunções do IAM no Guia do usuário do IAM.

As funções do IAM com credenciais temporária são úteis nas seguintes situações:

• Permissões temporárias para usuários do IAM – um usuário do IAM pode assumir uma função do IAMpara obter temporariamente permissões diferentes para uma tarefa específica.

Versão da API 2015-04-13306

Page 316: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGerenciamento do acesso usando políticas

• Acesso de usuário federado – Em vez de criar um usuário do IAM, você pode usar identidadesexistentes do AWS Directory Service, do diretório de usuário da sua empresa ou de um provedor deidentidades da Web. Estes são conhecidos como usuários federados. A AWS atribui uma função a umusuário federado quando o acesso é solicitado por meio de um provedor de identidades. Para obter maisinformações sobre usuários federados, consulte Usuários federados e funções no Guia do usuário doIAM.

• Acesso entre contas – é possível usar uma função do IAM para permitir que alguém (um principalconfiável) em outra conta acesse recursos em sua conta. As funções são a principal forma de concederacesso entre contas. No entanto, alguns serviços da AWS permitem que você anexe uma políticadiretamente a um recurso (em vez de usar uma função como proxy). Para saber a diferença entrefunções e políticas baseadas em recurso para acesso entre contas, consulte Como as funções do IAMdiferem das políticas baseadas em recurso no Guia do usuário do IAM.

• Acesso a serviços da AWS – Uma função de serviço é uma função do IAM que um serviço assumepara realizar ações em seu nome na sua conta. Ao configurar alguns ambientes de serviço da AWS,você deve definir uma função a ser assumida pelo serviço. Essa função de serviço deve incluir todasas permissões necessárias para o serviço acessar os recursos da AWS de que precisa. As funções deserviço variam de acordo com o serviço, mas muitas permitem que você escolha as permissões, desdeque atenda aos requisitos documentados para esse serviço. As funções de serviço fornecem acessoapenas dentro de sua conta e não podem ser usadas para conceder acesso a serviços em outrascontas. Você pode criar, modificar e excluir uma função de serviço no IAM. Por exemplo, você podecriar uma função que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nome ecarregue dados desse bucket em um cluster Amazon Redshift. Para obter mais informações, consulteCriar uma função para delegar permissões a um serviço da AWS no Guia do usuário do IAM.

• Aplicativos em execução no Amazon EC2 –Você pode usar uma função do IAM para gerenciarcredenciais temporárias para aplicativos que estão sendo executados em uma instância do EC2 e quefazem solicitações de API da AWS CLI ou AWS. É preferível fazer isso do que armazenar chaves deacesso na instância do EC2. Para atribuir uma função da AWS a uma instância do EC2 e disponibilizá-la para todos os seus aplicativos, crie um perfil de instância que esteja anexado à instância. Um perfilde instância contém a função e permite que programas que estão em execução na instância do EC2obtenham credenciais temporárias. Para mais informações, consulte Uso de uma função do IAM paraconceder permissões aos aplicativos em execução nas instâncias do Amazon EC2 no Guia do usuáriodo IAM.

Para saber se você deve usar funções do IAM, consulte Quando criar uma função do IAM (em vez de umusuário) no Guia do usuário do IAM.

Gerenciamento do acesso usando políticasVocê controla o acesso na AWS criando políticas e anexando-as às identidades do IAM ou aos recursosda AWS. Uma política é um objeto na AWS que, quando associado a uma identidade ou a um recurso,define suas permissões. A AWS avalia essas políticas quando uma entidade (usuário raiz, usuário doIAM ou função do IAM) faz uma solicitação. As permissões nas políticas determinam se a solicitação serápermitida ou negada. A maioria das políticas são armazenadas na AWS como documentos JSON. Paraobter mais informações sobre a estrutura e o conteúdo de documentos de políticas JSON, consulte Visãogeral de políticas JSON no Guia do usuário do IAM.

Um administrador do IAM pode usar políticas para especificar quem tem acesso aos recursos da AWS equais ações essas pessoas podem executar nesses recursos. Cada entidade do IAM (usuário ou função)começa sem permissões. Em outras palavras, por padrão, os usuários não podem fazer nada, nem mesmoalterar sua própria senha. Para dar permissão a um usuário para fazer algo, um administrador deve anexaruma política de permissões ao usuário. Ou o administrador pode adicionar o usuário a um grupo que tenhaas permissões pretendidas. Quando um administrador concede permissões a um grupo, todos os usuáriosdesse grupo recebem essas permissões.

As políticas do IAM definem permissões para uma ação, independentemente do método usadopara executar a operação. Por exemplo, suponha que você tenha uma política que permite a ação

Versão da API 2015-04-13307

Page 317: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGerenciamento do acesso usando políticas

iam:GetRole. Um usuário com essa política pode obter informações de funções do Console degerenciamento da AWS, da AWS CLI ou da API da AWS.

Políticas baseadas em identidadeAs políticas baseadas em identidade são documentos JSON de políticas de permissões que você podeanexar a uma entidade, como um usuário, função ou grupo do IAM. Essas políticas controlam quais açõescada identidade pode realizar, em quais recursos e em que condições. Para saber como criar uma políticabaseada em identidade, consulte Criar políticas do IAM no Guia do usuário do IAM.

As políticas baseadas em identidade podem ser categorizadas ainda mais como políticas em linha oupolíticas gerenciadas. As políticas em linha são anexadas diretamente a um único usuário, grupo oufunção. As políticas gerenciadas são políticas independentes que podem ser anexadas a vários usuários,grupos e funções em sua conta da AWS. As políticas gerenciadas incluem políticas gerenciadas pela AWSe políticas gerenciadas pelo cliente. Para saber como escolher entre uma política gerenciada ou umapolítica em linha, consulte Escolher entre políticas gerenciadas e políticas em linha no Guia do usuário doIAM.

Políticas baseadas em recursosPolíticas baseadas em recursos são documentos de política JSON que você anexa a um recurso, comoum bucket do Amazon S3. Os administradores do serviço podem usar essas políticas para definir quaisações um principal especificado (função, usuário ou membro da conta) pode executar nesse recurso e sobquais condições. As políticas baseadas em recurso são políticas em linha. Não há políticas baseadas emrecurso gerenciadas.

Listas de controle de acesso (ACLs)As listas de controle de acesso (ACLs) são um tipo de política que controla quais principais (membros,usuários ou funções da conta) têm permissões para acessar um recurso. As ACLs são semelhantes àspolíticas baseadas em recurso, embora não usem o formato de documento de política JSON. O AmazonS3, o AWS WAF e a Amazon VPC são exemplos de serviços que oferecem suporte a ACLs. Para sabermais sobre as ACLs, consulte Visão geral da lista de controle de acesso (ACL) no Guia do desenvolvedordo Amazon Simple Storage Service.

Outros tipos de políticaA AWS oferece suporte a tipos de política menos comuns. Esses tipos de política podem definir o máximode permissões concedidas a você pelos tipos de política mais comuns.

• Limites de permissões – um limite de permissões é um recurso avançado no qual você define omáximo de permissões que uma política baseada em identidade pode conceder a uma entidade doIAM (usuário ou função do IAM). É possível definir um limite de permissões para uma entidade. Aspermissões resultantes são a interseção das políticas baseadas em identidade da entidade e seuslimites de permissões. As políticas baseadas em recurso que especificam o usuário ou a função nocampo Principal não são limitadas pelo limite de permissões. Uma negação explícita em qualqueruma dessas políticas substitui a permissão. Para obter mais informações sobre limites de permissões,consulte Limites de permissões para entidades do IAM no Guia do usuário do IAM.

• Políticas de controle de serviço (SCPs – Service control policies) – SCPs são políticas JSON queespecificam o máximo de permissões para uma organização ou unidade organizacional (UO) noAWS Organizations. O AWS Organizations é um serviço para agrupamento e gerenciamento centraldas várias contas da AWS que sua empresa possui. Se você habilitar todos os recursos em umaorganização, poderá aplicar políticas de controle de serviço (SCPs) a qualquer uma ou a todas ascontas. O SCP limita as permissões para entidades em contas-membro, incluindo cada Usuário raizda conta da AWS. Para obter mais informações sobre Organizações e SCPs, consulte Como SCPsfuncionam no Guia do usuário do AWS Organizations.

Versão da API 2015-04-13308

Page 318: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

• Políticas de sessão – as políticas de sessão são políticas avançadas que você transmite como umparâmetro quando cria de forma programática uma sessão temporária para uma função ou um usuáriofederado. As permissões da sessão resultante são a interseção das políticas baseadas em identidadedo usuário ou da função e das políticas de sessão. As permissões também podem ser provenientes deuma política baseada em recurso. Uma negação explícita em qualquer uma dessas políticas substitui apermissão. Para obter mais informações, consulte Políticas de sessão no Guia do usuário do IAM.

Vários tipos de políticaQuando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender aspermissões resultantes. Para saber como a AWS determina se deve permitir uma solicitação quandovários tipos de política estão envolvidos, consulte Lógica de avaliação de políticas no Guia do usuário doIAM.

Autenticação e controle de acesso para o AWSCodeCommitO acesso ao AWS CodeCommit exige credenciais. Essas credenciais têm de ter permissões para acederAWS recursos, tais como CodeCommit repositórios e o seu IAM utilizador, que utiliza para gerir as suascredenciais Git ou a chave pública SSH que utiliza para fazer ligações Git. As secções seguintes fornecemdetalhes sobre como pode utilizar AWS Identity and Access Management (IAM) e CodeCommit para ajudara garantir o acesso aos seus recursos:

• Authentication (p. 309)• Controle de acesso (p. 311)

AuthenticationPorque CodeCommit os repositórios são baseados em Git e suportam a funcionalidade básica de Git,incluindo credenciais Git, recomendamos que utilize um IAM utilizador ao trabalhar com CodeCommit.Você pode acessar o CodeCommit com outros tipos de identidade, mas os outros tipos de identidade estãosujeitos a limitações, conforme descrito abaixo.

Tipos de identidade:

• IAM utilizador – Um IAM utilizador é simplesmente uma identidade no seu AWS conta com permissõespersonalizadas específicas. Por exemplo, um IAM o utilizador pode ter permissões para criar e gerircredenciais Git para aceder CodeCommit repositórios. Este é o tipo de usuário recomendado paratrabalhar com o CodeCommit. Pode utilizar um IAM nome de utilizador e palavra-passe para iniciarsessão AWS páginas web como o Console de gerenciamento da AWS, Fóruns de discussão AWS, ou oAWS Support Center.

Pode gerar credenciais de Git ou associar chaves públicas SSH com o seu IAM utilizador ou podeinstalar e configurar git-remote-codecommit. Estas são as formas mais fáceis de configurar Git paratrabalhar com o seu CodeCommit repositórios. Com Credenciais de Git (p. 10), gera um nome deutilizador estático e palavra-passe em IAM. Essas credenciais são usadas para conexões HTTP com oGit e qualquer outra ferramenta de terceiros com suporte para a autenticação usando o nome de usuárioe a senha do Git. Com conexões SSH, você cria arquivos de chave pública e privada em sua máquinalocal que o Git e o CodeCommit usam para a autenticação SSH. Associe a chave pública ao seu usuáriodo IAM e armazene a chave privada na sua máquina local. git-remote-codecommit (p. 14) estende a Gite não requer a configuração de credenciais Git para o utilizador.

Além disso, pode gerar teclas de acesso para cada utilizador. Utilize as teclas de acesso quandoaceder AWS serviços programaticamente, seja através de um dos AWS sdks ou utilizando o AWS

Versão da API 2015-04-13309

Page 319: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Command Line Interface (AWS CLI). As ferramentas de SDK e de CLI usam as chaves de acesso para ocadastramento criptográfico das suas solicitações. Se não utilizar o AWS ferramentas, tem de assinar ospedidos a si próprio. CodeCommit supports Assinatura Versão 4, um protocolo para autenticar pedidosde API de entrada. Para mais informações sobre a autenticação de pedidos, consulte Assinatura doprocesso de assinatura da Versão 4 no AWS General Reference.

• Utilizador raiz de conta AWS – Quando se regista para AWS, fornece um endereço de e-mail e palavra-passe associados ao seu AWS conta. Estes são os seus credenciais de raiz, e oferecem acessocompleto a todos os seus AWS recursos. Alguns recursos do CodeCommit não estão disponíveispara usuários da conta raiz. Além disso, a única forma de utilizar Git com a sua conta raiz é instalar econfigurar git-remote-codecommit (recomendado) ou para configurar o AWS auxiliar de credenciais, queestá incluído com o AWS CLI. Você não pode usar as credenciais do Git ou os pares de chaves público/privada SSH com o usuário da sua conta raiz. Por esses motivos, não recomendamos usar o usuário dasua conta raiz ao interagir com o CodeCommit.

Important

Por motivos de segurança, recomendamos que utilize as credenciais de raiz apenas para criaruma utilizador administrador, que é um Utilizador de IAM com permissões completas para o seuAWS conta. Em seguida, use esse usuário administrador para criar outros usuários e funçõesdo IAM com permissões limitadas. Para mais informações, consulte Melhores práticas da MGAe Criar um utilizador e grupo admin no Guia do usuário do IAM.

• IAM função – Como um IAM utilizador, um Função de IE é um IAM identidade que pode criar na suaconta para conceder permissões específicas. É semelhante a um usuário IAM, mas não está associadaa uma pessoa específica. Ao contrário de uma identidade de usuário do IAM, você não pode usar ascredenciais do Git ou as chaves SSH com esse tipo de identidade. No entanto, um IAM função permiteobter teclas de acesso temporárias que pode utilizar para aceder AWS serviços e recursos. IAM asfunções com credenciais temporárias são úteis nas seguintes situações:• Acesso de utilizador federado – Em vez de criar um IAM utilizador, pode utilizar identidades de

utilizador pré-existentes de AWS Directory Service, o seu diretório de utilizador empresarial ou umfornecedor de identidade web. Estes são conhecidos como utilizadores federados. AWS atribui umafunção a um utilizador federado quando o acesso é solicitado através de fornecedor de identidade.Para mais informações sobre os utilizadores federados, consulte Utilizadores e Funções Federados noGuia do usuário do IAM.

Note

Você não pode usar as credenciais do Git ou pares de chaves pública/privada SSH comusuários federados. Além disso, preferências do usuário não estão disponíveis para usuáriosfederados. Para obter informações sobre como configurar conexões usando acesso federado,consulte Passos de configuração para ligações HTTPS para AWS CodeCommit com códigode controlo git-remote (p. 14).

• Acesso à conta cruzada – Pode utilizar um IAM função na sua conta para conceder outro AWSpermissões de conta para aceder aos recursos da sua conta. Para um exemplo, consulte Configuraro acesso entre contas cruzadas a um AWS CodeCommit repositório utilizando funções (p. 142) eTutorial: Delegar acesso ao AWS Contas Utilizando IAM Funções no Guia do usuário do IAM.

• Acesso ao serviço AWS – Pode utilizar um IAM função na sua conta para conceder um AWS efetueas autorizações necessárias para aceder aos recursos da sua conta. Por exemplo, pode criar umafunção que permita AWS Lambda para aceder a um CodeCommit repositório em seu nome. Paramais informações, consulte Criar uma função para delegar permissões a um AWS Serviço no Guia dousuário do IAM.

• Aplicações em execução Amazon EC2 – Em vez de armazenar as chaves de acesso dentro de umainstância EC2 para utilização por aplicações a decorrer na instância e por fazer AWS Pedidos deAPI, pode utilizar um IAM função para gerir credenciais temporárias para estas aplicações. Paraatribuir uma função de AWS a uma instância de EC2 e disponibilizá-la para todas as suas aplicações,crie um perfil de instância que esteja anexado à instância. Um perfil de instância contém a função epermite que os programas executados na instância EC2 obtenham credenciais temporárias. Para maisinformações, consulte Utilizar Funções para Aplicações na Amazon EC2 no Guia do usuário do IAM.

Versão da API 2015-04-13310

Page 320: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Controle de acessoVocê pode ter credenciais válidas para autenticar as solicitações, mas só poderá criar e acessar osrecursos do CodeCommit se tiver permissões. Por exemplo, você deve ter permissões para visualizarrepositórios, enviar código por push, criar e gerenciar credenciais do Git e assim por diante.

As seções a seguir descrevem como gerenciar permissões para o CodeCommit. Recomendamos que vocêleia a visão geral primeiro.

• Visão geral da gestão de permissões de acesso ao seu CodeCommit recursos (p. 311)• Utilizar políticas baseadas em identidade (IAM Políticas) para CodeCommit (p. 315)• CodeCommitReferência de permissões do (p. 337)

Visão geral da gestão de permissões de acesso ao seuCodeCommit recursosCada AWS o recurso é propriedade de AWS conta. As permissões para criar ou acessar um recurso sãoregidas por políticas de permissões. Um administrador de conta pode anexar políticas de permissões aidentidades do IAM (ou seja, usuários, grupos e funções). Alguns serviços, como o AWS Lambda, tambémoferecem suporte à anexação de políticas de permissões aos recursos.

Note

Um administrador de conta (ou utilizador administrador) é um utilizador com privilégios deadministrador. Para mais informações, consulte Melhores práticas da MGA no Guia do usuário doIAM.

Ao conceder permissões, você decide quem recebe as permissões, os recursos relacionados àspermissões concedidas e as ações específicas que deseja permitir nesses recursos.

Tópicos• CodeCommitRecursos e operações do (p. 311)• Entender a propriedade de recursos (p. 312)• Gerenciar o acesso aos recursos (p. 313)• Âmbito do recurso em CodeCommit (p. 314)• Especificar elementos de políticas: recursos, acções, efeitos e princípios (p. 314)• Especificar condições em uma política (p. 315)

CodeCommitRecursos e operações do

No CodeCommit, o principal recurso é um repository. Cada recurso possui um nome de recurso daAmazon (ARN) exclusivo associado. Em uma política, você usa um Nome de recurso da Amazon (ARN)para identificar o recurso a que a política se aplica. Para mais informações sobre os arcos, consulte Nomesde Recursos Amazon (ARN) e AWS Nomes de serviço no Referência geral do Amazon Web Services.CodeCommit não suporta atualmente outros tipos de recursos, que são referidos como subrecursos.

A tabela seguinte descreve como especificar CodeCommit recursos.

Tipo de recurso Formato do nome de recurso da Amazon (ARN)

Repositório arn:aws:codecommit:*region:account-id:repository-name

Versão da API 2015-04-13311

Page 321: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Tipo de recurso Formato do nome de recurso da Amazon (ARN)

Todos CodeCommitrepositórios

arn:aws:codecommit:*

Todos CodeCommitrepositórios detidos pelaconta especificada naregião AWS especificada

arn:aws:codecommit:*region:account-id:*

Note

A maioria dos serviços AWS trata o caractere de dois-pontos (:) e a barra inclinada (/) em ARNscomo o mesmo caractere. No entanto, o CodeCommit requer uma correspondência exata nospadrões e regras de recursos. Ao criar padrões de eventos, certifique-se de usar os caracterescorretos do ARN para que eles correspondam à sintaxe de ARN no recurso.

Por exemplo, pode indicar um repositório específico (MyDemoRepo) na sua declaração utilizando o seuARN como se segue:

"Resource": "arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo"

Para especificar todos os repositories que pertencem a uma conta específica, use o caractere curinga (*),da seguinte maneira:

"Resource": "arn:aws:codecommit:us-west-2:111111111111:*"

Para especificar todos os recursos ou se uma ação de API específica não for compatível com ARNs, use ocaractere curinga (*) no elemento Resource, da seguinte maneira:

"Resource": "*"

Você também pode usar o caractere curinga (*) para especificar todos os recursos que correspondemà parte de um nome de repositório. Por exemplo, o ARN seguinte especifica qualquer CodeCommitrepositório que começa com o nome MyDemo e que está registado no AWS conta 111111111111 no us-east-2 Região AWS:

arn:aws:codecommit:us-east-2:111111111111:MyDemo*

Para obter uma lista das operações disponíveis que funcionam com recursos do CodeCommit, consulteCodeCommitReferência de permissões do (p. 337).

Entender a propriedade de recursos

A conta da AWS tem os recursos criados na conta, independentemente de quem os criou.Especificamente, o proprietário do recurso é o AWS conta do entidade principal (isto é, a conta raiz, umaIAM utilizador ou um IAM função) que autentica o pedido de criação de recursos. Os exemplos a seguirilustram como isso funciona.

• Se criar um IAM utilizador na sua AWS e conceder permissões para criar CodeCommit recursos paraesse utilizador, o utilizador pode criar CodeCommit recursos. No entanto, o seu AWS conta, à qual outilizador pertence, detém o CodeCommit recursos.

• Se utilizar as credenciais da conta raiz do seu AWS para criar uma regra, AWS conta é o proprietário doCodeCommit recurso.

Versão da API 2015-04-13312

Page 322: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

• Se criar um IAM o seu AWS conta com permissões para criar CodeCommit recursos, qualquer pessoaque possa assumir a função pode criar CodeCommit recursos. O seu AWS conta, à qual pertence afunção CodeCommit recursos.

Gerenciar o acesso aos recursos

Para gerenciar o acesso aos recursos da AWS, você usa políticas de permissões. Um política depermissões descreve quem tem acesso ao que. A seção a seguir explica as opções para criar políticas depermissões.

Note

Esta seção aborda como usar o IAM no contexto do CodeCommit. Não fornece informaçõesdetalhadas sobre o IAM serviço. Para mais informações sobre IAM, consulte O que é IAM? noGuia do usuário do IAM. Para informações sobre IAM sintaxe e descrições da política, consulteReferência da política AWS IAM no Guia do usuário do IAM.

Políticas de permissões ligadas a um IAM são referidas como políticas baseadas em identidade (IAMpolíticas). As políticas de permissões anexadas a um recurso são chamadas de políticas baseadas emrecursos. Atualmente, CodeCommit apoia apenas políticas baseadas em identidade (IAM políticas).

Tópicos• Políticas baseadas em identidade (IAM políticas) (p. 313)• Políticas baseadas em recursos (p. 314)

Políticas baseadas em identidade (IAM políticas)

Para gerir o acesso a AWS recursos, anexar políticas de permissões a IAM identidades. No CodeCommit,você usa políticas baseadas em identidade para controlar o acesso a repositórios. Por exemplo, você podefazer o seguinte:

• Anexe uma política de permissões a um utilizador ou grupo na sua conta – Para conceder permissõesde utilizador a ver CodeCommit recursos no CodeCommit consola, anexe uma política de permissõesbaseada na identidade a um utilizador ou grupo que o utilizador pertence a.

• Anexar uma política de permissões a uma função (para conceder permissões de contas cruzadas)– A delegação, tal como quando pretende conceder acesso à conta cruzada, envolve a definição deuma confiança entre a conta proprietária do recurso (a conta de confiança) e a conta que contém osutilizadores que precisam de aceder ao recurso (a conta de confiança). Uma política de permissõesconcede ao usuário de uma função as permissões necessárias para realizar as tarefas pretendidas norecurso. Uma política de confiança especifica quais contas confiáveis podem conceder a seus usuáriospermissões para assumir a função. Para mais informações, consulte IAM Termos e conceitos.

Para conceder permissões de conta cruzada, anexe uma política de permissões com base na identidadea um IAM função. Por exemplo, o administrador na Conta A pode criar uma função para concederpermissões de conta cruzada a outra AWS (por exemplo, Conta B) ou um AWS o serviço da seguinteforma:1. Um administrador da Conta A cria uma função do IAM e anexa uma política de permissões à função

que concede permissões em recursos da Conta A.2. Um administrador da Conta A anexa uma política de confiança à função identificando a Conta B como

a principal, que pode assumir a função.3. O administrador da Conta B pode então delegar permissões para assumir a função a quaisquer

utilizadores na Conta B. O que faz isto permite que os utilizadores na Conta B criem ou acedamrecursos na Conta A. Se quiser conceder um AWS autorização de serviço para assumir a função, oresponsável principal na política de confiança também pode ser um AWS responsável de serviço.Para mais informações, consulte Delegação em IAM Termos e conceitos.

Versão da API 2015-04-13313

Page 323: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Para mais informações sobre a utilização IAM para delegar permissões, consulte Gestão de acesso noGuia do usuário do IAM.

A política de exemplo a seguir permite que um usuário crie uma ramificação em um repositório chamado :MyDemoRepo:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:CreateBranch" ], "Resource" : "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" } ]}

Para restringir as chamadas e recursos que os utilizadores na sua conta têm acesso, crie IAM e, emseguida, anexe essas políticas a IAM utilizadores. Para mais informações sobre como criar IAM funçõese explorar exemplo IAM declarações de política para CodeCommit, consulte Exemplos de política deidentidade gerida pelo cliente (p. 329).

Políticas baseadas em recursos

Alguns serviços, como o Amazon S3, também dão suporte a políticas de permissões com base emrecursos. Por exemplo, pode anexar uma apólice baseada em recursos a um balde S3 para gerir aspermissões de acesso para esse balde. CodeCommit não suporta políticas baseadas em recursos, maspode utilizar etiquetas para identificar recursos, que pode utilizar em IAM políticas. Para um exemplo deuma política baseada em etiquetas, consulte Políticas baseadas em identidade (IAM políticas) (p. 313).

Âmbito do recurso em CodeCommitNo CodeCommit, você pode definir o escopo das políticas e permissões baseadas em identidade paraos recursos, conforme descrito em CodeCommitRecursos e operações do (p. 311). No entanto, vocênão pode definir o escopo da permissão ListRepositories para um recurso. Em vez disso, você devedefinir o escopo para todos os recursos (usando o curinga *). Caso contrário, a ação falhará.

Todas as outras permissões do CodeCommit podem ter escopos definidos para recursos.

Especificar elementos de políticas: recursos, acções, efeitos e princípiosPode criar políticas para permitir ou negar acesso aos utilizadores a recursos, ou permitir ou negar aosutilizadores que tomem acções específicas sobre esses recursos. CodeCommit define um conjunto deoperações públicas API que definem como os utilizadores trabalham com o serviço, quer seja atravésdo CodeCommit consola, os sdks, o AWS CLI, ou ligando directamente para essas api. Para concederpermissões a essas operações da API, o CodeCommit define um conjunto de ações que podem serespecificadas em uma política.

Algumas operações de API podem exigir permissões para mais de uma ação. Para obter mais informaçõessobre os recursos e operações da API, consulte CodeCommitRecursos e operações do (p. 311)eCodeCommitReferência de permissões do (p. 337).

Estes são os elementos básicos de uma política:

• Recurso – Para identificar o recurso que a política se aplica, utiliza um Nome de Recurso Amazon(ARN). Para obter mais informações, consulte CodeCommitRecursos e operações do (p. 311).

Versão da API 2015-04-13314

Page 324: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

• Ação – Para identificar operações de recursos que pretende autorizar ou recusar, utiliza palavras-chavede ação. Por exemplo, dependendo do especificado Effect, o codecommit:GetBranch permissãopermite ou nega o utilizador para realizar o GetBranch que obtém detalhes sobre uma sucursal numCodeCommit repositório.

• Efeito – Especifique o efeito, quer permita ou recuse, que ocorre quando o utilizador solicita a acçãoespecífica. Se você não conceder explicitamente acesso para permitir um recurso, o acesso estaráimplicitamente negado. Você também pode negar explicitamente o acesso a um recurso, para ter acerteza de que um usuário não consiga acessá-lo, mesmo que uma política diferente conceda acesso.

• Principal – Em políticas baseadas em identidade (IAM políticas), o único tipo de políticas queCodeCommit apoia, o utilizador de que a apólice está anexada ao principal responsável.

Para saber mais sobre IAM sintaxe da política, ver AWS IAM Referência da política no Guia do usuário doIAM.

Para obter uma tabela que mostre todas as ações da API do CodeCommit e os recursos a que elas seaplicam, consulte CodeCommitReferência de permissões do (p. 337).

Especificar condições em uma política

Ao conceder permissões, você usa a linguagem de políticas de acesso do IAM para especificar ascondições em que uma política deve entrar em vigor. Por exemplo, é recomendável que uma política sóseja aplicada após uma data específica. Para mais informações sobre como especificar condições numidioma de política, consulte Condição e Gramática da apólice no Guia do usuário do IAM.

Para expressar condições, você usa chaves de condição predefinidas. Não existem chaves de condiçãoespecíficas do CodeCommit. No entanto, existem chaves de condição em toda a AWS que você podeusar conforme apropriado. Para uma lista completa de AWSteclas grandes, ver Teclas disponíveis paracondições no Guia do usuário do IAM.

Utilizar políticas baseadas em identidade (IAM Políticas) paraCodeCommitOs seguintes exemplos de políticas baseadas em identidade demonstram como um administrador de contapode anexar políticas de permissões a IAM identidades (utilizadores, grupos e funções) para concederpermissões para realizar operações em CodeCommit recursos.

Important

Recomendamos que reveja primeiro os tópicos introdutórios que explicam os conceitos básicose as opções disponíveis para gerir o acesso ao seu CodeCommit recursos. Para obter maisinformações, consulte Visão geral da gestão de permissões de acesso ao seu CodeCommitrecursos (p. 311).

Tópicos• Permissões necessárias para utilizar o CodeCommit consola (p. 316)• Visualizar recursos no console (p. 316)• Políticas gerenciadas (predefinidas) pela AWS para o CodeCommit (p. 317)• Exemplos de política gerenciada pelo cliente (p. 329)

O seguinte é um exemplo de uma política de permissões com base em identidade:

{ "Version": "2012-10-17", "Statement" : [ {

Versão da API 2015-04-13315

Page 325: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Effect" : "Allow", "Action" : [ "codecommit:BatchGetRepositories" ], "Resource" : [ "arn:aws:codecommit:us-east-2:111111111111:MyDestinationRepo", "arn:aws:codecommit:us-east-2:111111111111:MyDemo*" ] } ]}

Esta política tem uma declaração que permite ao utilizador obter informações sobre CodeCommit nome dorepositório MyDestinationRepo e todos CodeCommit repositórios que começam pelo nome MyDemo nous-east-2 Região.

Permissões necessárias para utilizar o CodeCommit consolaPara ver as permissões necessárias para cada CodeCommit Operação API e para mais informações sobreCodeCommit operações, consulte CodeCommitReferência de permissões do (p. 337).

Para permitir aos utilizadores utilizar o CodeCommit consola, o administrador deve conceder-lhespermissões para CodeCommit ações. Por exemplo, pode anexar o utilizadorutilizaçãodeemprego (p. 320)política gerida ou equivalente a um utilizador ou grupo.

Além das permissões concedidas aos utilizadores por políticas baseadas em identidade, CodeCommitrequer permissões para AWS Key Management Service (AWS KMS) ações. Um IAM o utilizador nãoprecisa de ser explícito Allow permissões para estas acções, mas o utilizador não pode ter quaisquerpolíticas anexas que definam as seguintes permissões para Deny:

"kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey"

Para obter mais informações sobre criptografia e o CodeCommit, consulte AWS KMS eencriptação (p. 300).

Visualizar recursos no consoleO CodeCommit a consola requer o ListRepositories permissão para apresentar uma lista derepositórios para o seu AWS conta no AWS Região em que tem sessão iniciada. A consola também incluiuma Ir para recurso função para executar rapidamente uma pesquisa insensível de caso por recursos.Esta pesquisa é realizada no seu AWS conta no AWS Região em que tem sessão iniciada. Os seguintesrecursos são exibidos nos seguintes serviços:

• AWS CodeBuild: projetos de compilação• AWS CodeCommit: repositórios• AWS CodeDeploy: aplicativos• AWS CodePipeline: pipelines

Para realizar essa pesquisa nos recursos em todos os serviços, você deve ter as seguintes permissões:

• CodeBuild: ListProjects• CodeCommit: ListRepositories• CodeDeploy: ListApplications

Versão da API 2015-04-13316

Page 326: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

• CodePipeline: ListPipelines

Os resultados não serão retornados para os recursos de um serviço se você não tiver permissões paraesse serviço. Mesmo se você tiver permissões para visualizar recursos, recursos específicos não serãoretornados se houver um Deny explícito para visualizar esses recursos.

Políticas gerenciadas (predefinidas) pela AWS para o CodeCommitA AWS resolve muitos casos de uso comuns, fornecendo políticas do IAM autônomas criadas eadministradas pela AWS. Essas políticas gerenciadas da AWS concedem as permissões necessárias paracasos de uso comuns. As políticas geridas para CodeCommit também fornecer permissões para realizaroperações noutros serviços, tais como IAM, Amazon SNS, e Eventos do Amazon CloudWatch, conformenecessário para as responsabilidades dos utilizadores que foram atribuídos à política em questão. Porexemplo, o AWSCodeCommitFullAccess política é uma política de utilizador de nível administrativo quepermite aos utilizadores com esta política criar e gerir Eventos do CloudWatch regras para repositórios(regras cujos nomes são pré-fixados com codecommit) e Amazon SNS tópicos para notificações sobreeventos relacionados com o repositório (tópicos cujos nomes estão pré-fixados com codecommit), bemcomo administrar repositórios em CodeCommit.

As seguintes políticas gerenciadas da AWS, que você pode associar a usuários na sua conta, sãoespecíficas do :CodeCommit.

Tópicos• AWSCodeCommitFullAccess (p. 317)• AWSCodeCommitPowerUser (p. 320)• AWSCodeCommitReadOnly (p. 323)• CodeCommit managed policies and notifications (p. 325)• AWS CodeCommit políticas geridas e Amazon CodeGuru Reviewer (p. 327)

AWSCodeCommitFullAccess

AWSCodeCommitFullAccess – concede acesso total ao CodeCommit. Aplicar esta política apenas autilizadores de nível administrativo aos quais pretende conceder total controlo CodeCommit repositórios erecursos relacionados no seu AWS conta, incluindo a capacidade de eliminar repositórios.

A política AWSCodeCommitFullAccess contém a seguinte declaração:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:*" ], "Resource": "*" }, { "Sid": "CloudWatchEventsCodeCommitRulesAccess", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:DescribeRule", "events:DisableRule", "events:EnableRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets",

Versão da API 2015-04-13317

Page 327: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"events:ListTargetsByRule" ], "Resource": "arn:aws:events:*:*:rule/codecommit*" }, { "Sid": "SNSTopicAndSubscriptionAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:DeleteTopic", "sns:Subscribe", "sns:Unsubscribe", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codecommit*" }, { "Sid": "SNSTopicAndSubscriptionReadAccess", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:GetTopicAttributes" ], "Resource": "*" }, { "Sid": "LambdaReadOnlyListAccess", "Effect": "Allow", "Action": [ "lambda:ListFunctions" ], "Resource": "*" }, { "Sid": "IAMReadOnlyListAccess", "Effect": "Allow", "Action": [ "iam:ListUsers" ], "Resource": "*" }, { "Sid": "IAMReadOnlyConsoleAccess", "Effect": "Allow", "Action": [ "iam:ListAccessKeys", "iam:ListSSHPublicKeys", "iam:ListServiceSpecificCredentials" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "IAMUserSSHKeys", "Effect": "Allow", "Action": [ "iam:DeleteSSHPublicKey", "iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:UpdateSSHPublicKey", "iam:UploadSSHPublicKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "IAMSelfManageServiceSpecificCredentials",

Versão da API 2015-04-13318

Page 328: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Effect": "Allow", "Action": [ "iam:CreateServiceSpecificCredential", "iam:UpdateServiceSpecificCredential", "iam:DeleteServiceSpecificCredential", "iam:ResetServiceSpecificCredential" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codecommit:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "AmazonCodeGuruReviewerFullAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:AssociateRepository", "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DisassociateRepository", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerSLRCreation", "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",

Versão da API 2015-04-13319

Page 329: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Condition": { "StringLike": { "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CloudWatchEventsManagedRules", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource": "*" } ] }

AWSCodeCommitPowerUser

AWSCodeCommitPowerUser – Permite aos utilizadores aceder a todas as funcionalidades deCodeCommit e recursos relacionados com o repositório, excepto se não lhes permitir eliminar CodeCommitrepositórios ou criar ou eliminar recursos relacionados com o repositório noutro AWS serviços, tais comoEventos do Amazon CloudWatch. Recomendamos que você aplique essa política à maioria dos usuários.

A política AWSCodeCommitPowerUser contém a seguinte declaração:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:AssociateApprovalRuleTemplateWithRepository", "codecommit:BatchAssociateApprovalRuleTemplateWithRepositories", "codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories", "codecommit:BatchGet*", "codecommit:BatchDescribe*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:DeleteFile", "codecommit:Describe*", "codecommit:DisassociateApprovalRuleTemplateFromRepository", "codecommit:EvaluatePullRequestApprovalRules", "codecommit:Get*", "codecommit:List*", "codecommit:Merge*", "codecommit:OverridePullRequestApprovalRules", "codecommit:Put*",

Versão da API 2015-04-13320

Page 330: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"codecommit:Post*", "codecommit:TagResource", "codecommit:Test*", "codecommit:UntagResource", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": "*" }, { "Sid": "CloudWatchEventsCodeCommitRulesAccess", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:DescribeRule", "events:DisableRule", "events:EnableRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets", "events:ListTargetsByRule" ], "Resource": "arn:aws:events:*:*:rule/codecommit*" }, { "Sid": "SNSTopicAndSubscriptionAccess", "Effect": "Allow", "Action": [ "sns:Subscribe", "sns:Unsubscribe" ], "Resource": "arn:aws:sns:*:*:codecommit*" }, { "Sid": "SNSTopicAndSubscriptionReadAccess", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:GetTopicAttributes" ], "Resource": "*" }, { "Sid": "LambdaReadOnlyListAccess", "Effect": "Allow", "Action": [ "lambda:ListFunctions" ], "Resource": "*" }, { "Sid": "IAMReadOnlyListAccess", "Effect": "Allow", "Action": [ "iam:ListUsers" ], "Resource": "*" }, { "Sid": "IAMReadOnlyConsoleAccess", "Effect": "Allow", "Action": [ "iam:ListAccessKeys", "iam:ListSSHPublicKeys",

Versão da API 2015-04-13321

Page 331: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"iam:ListServiceSpecificCredentials" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "IAMUserSSHKeys", "Effect": "Allow", "Action": [ "iam:DeleteSSHPublicKey", "iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:UpdateSSHPublicKey", "iam:UploadSSHPublicKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "IAMSelfManageServiceSpecificCredentials", "Effect": "Allow", "Action": [ "iam:CreateServiceSpecificCredential", "iam:UpdateServiceSpecificCredential", "iam:DeleteServiceSpecificCredential", "iam:ResetServiceSpecificCredential" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codecommit:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerFullAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:AssociateRepository", "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DisassociateRepository", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ],

Versão da API 2015-04-13322

Page 332: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerSLRCreation", "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer", "Condition": { "StringLike": { "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CloudWatchEventsManagedRules", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource": "*" } ] }

AWSCodeCommitReadOnly

AWSCodeCommitReadOnly – Concede acesso apenas de leitura a CodeCommit e recursos relacionadoscom o repositório noutro AWS serviços, bem como a capacidade de criar e gerir os seus própriosCodeCommit-recursos relacionados (como credenciais de Git e chaves SSH para os seus IAM utilizadora utilizar ao aceder a repositórios). Aplique essa política aos usuários a quem você deseja conceder acapacidade de ler o conteúdo de um repositório, mas não de fazer alterações a seus conteúdos.

A política AWSCodeCommitReadOnly contém a seguinte declaração:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "codecommit:BatchGet*", "codecommit:BatchDescribe*", "codecommit:Describe*", "codecommit:EvaluatePullRequestApprovalRules", "codecommit:Get*", "codecommit:List*", "codecommit:GitPull"

Versão da API 2015-04-13323

Page 333: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

], "Resource":"*" }, { "Sid":"CloudWatchEventsCodeCommitRulesReadOnlyAccess", "Effect":"Allow", "Action":[ "events:DescribeRule", "events:ListTargetsByRule" ], "Resource":"arn:aws:events:*:*:rule/codecommit*" }, { "Sid":"SNSSubscriptionAccess", "Effect":"Allow", "Action":[ "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:GetTopicAttributes" ], "Resource":"*" }, { "Sid":"LambdaReadOnlyListAccess", "Effect":"Allow", "Action":[ "lambda:ListFunctions" ], "Resource":"*" }, { "Sid":"IAMReadOnlyListAccess", "Effect":"Allow", "Action":[ "iam:ListUsers" ], "Resource":"*" }, { "Sid":"IAMReadOnlyConsoleAccess", "Effect":"Allow", "Action":[ "iam:ListAccessKeys", "iam:ListSSHPublicKeys", "iam:ListServiceSpecificCredentials", "iam:ListAccessKeys", "iam:GetSSHPublicKey" ], "Resource":"arn:aws:iam::*:user/${aws:username}" }, { "Sid":"CodeStarNotificationsReadOnlyAccess", "Effect":"Allow", "Action":[ "codestar-notifications:DescribeNotificationRule" ], "Resource":"*", "Condition":{ "StringLike":{ "codestar-notifications:NotificationsForResource":"arn:aws:codecommit:*" } } }, { "Sid":"CodeStarNotificationsListAccess", "Effect":"Allow",

Versão da API 2015-04-13324

Page 334: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Action":[ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource":"*" }, { "Sid": "AmazonCodeGuruReviewerReadOnlyAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" } ] }

CodeCommit managed policies and notifications

AWS CodeCommit supports notifications, which can notify users of important changes to repositories.Managed policies for CodeCommit include policy statements for notification functionality. For moreinformation, see What are notifications?.

Permissions related to notifications in full access managed policies

The AWSCodeCommitFullAccess managed policy includes the following statements to allow full accessto notifications. Users with this managed policy applied can also create and manage Amazon SNS topicsfor notifications, subscribe and unsubscribe users to topics, list topics to choose as targets for notificationrules, and list AWS Chatbot clients configured for Slack.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource," "codestar-notifications:ListEventTypes" ], "Resource": "*" }, {

Versão da API 2015-04-13325

Page 335: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource": "*" }

Permissions related to notifications in read-only managed policies

The AWSCodeCommitReadOnlyAccess managed policy includes the following statements to allow read-only access to notifications. Users with this managed policy applied can view notifications for resources, butcannot create, manage, or subscribe to them.

{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" }

Permissions related to notifications in other managed policies

The AWSCodeCommitPowerUser managed policy includes the following statements to allow users tocreate, edit, and subscribe to notifications. Users cannot delete notification rules or manage tags forresources.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ],

Versão da API 2015-04-13326

Page 336: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource": "*" }

For more information about IAM and notifications, see Identity and Access Management for AWS CodeStarNotifications.

AWS CodeCommit políticas geridas e Amazon CodeGuru Reviewer

CodeCommit suporta Amazon CodeGuru Reviewer, um serviço de revisão de código automatizado queutiliza a análise do programa e a aprendizagem da máquina para detetar problemas comuns e recomendarcorreções no seu código Java. Políticas geridas para CodeCommit incluir declarações de políticas paraCodeGuru Reviewer funcionalidade. Para mais informações, consulte O que é Amazon CodeGuruReviewer.

Permissões relacionadas com CodeGuru Reviewer em AWSCodeCommitFullAccess

O AWSCodeCommitFullAccess a política gerida inclui as seguintes declarações para permitir CodeGuruReviewer para estar associado e desassociado a CodeCommit repositórios. Os utilizadores com estapolítica gerida também podem ver o estado da associação entre CodeCommit repositórios e CodeGuruReviewer e ver o estado dos trabalhos de revisão para pedidos de pull-pull.

{ "Sid": "AmazonCodeGuruReviewerFullAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:AssociateRepository", "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DisassociateRepository", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ],

Versão da API 2015-04-13327

Page 337: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerSLRCreation", "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer", "Condition": { "StringLike": { "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CloudWatchEventsManagedRules", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "codeguru-reviewer.amazonaws.com" } } }

Permissões relacionadas com CodeGuru Reviewer em AWSCodeCommitPowerUser

O AWSCodeCommitPowerUser a política gerida inclui as seguintes declarações para permitir aosutilizadores associar e desassociar repositórios com CodeGuru Reviewer, visualize o estado da associaçãoe veja o estado dos trabalhos de revisão para pedidos de pull-pull.

{ "Sid": "AmazonCodeGuruReviewerFullAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:AssociateRepository", "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DisassociateRepository", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerSLRCreation", "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer", "Condition": { "StringLike": { "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CloudWatchEventsManagedRules",

Versão da API 2015-04-13328

Page 338: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "codeguru-reviewer.amazonaws.com" } } }

Permissões relacionadas com CodeGuru Reviewer em AWSCodeCommitReadOnly

O AWSCodeCommitReadOnlyAccess a política gerida inclui as seguintes afirmações para permitir oacesso apenas de leitura a CodeGuru Reviewer estado da associação e visualizar o estado de tarefas derevisão para pedidos de pull-pull. Os usuários com essa política gerenciada aplicada não podem associarou desassociar repositórios.

{ "Sid": "AmazonCodeGuruReviewerReadOnlyAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" }

Amazon CodeGuru ReviewerFunção vinculada ao serviço do

Quando associa um repositório com CodeGuru Reviewer, uma função ligada ao serviço é criada para queCodeGuru Reviewer pode detectar problemas e recomendar correções para o código Java em pedidos depull-pull. A função vinculada ao serviço é chamada de AWSServiceRoleForAmazonCodeGuruReviewer.Para mais informações, consulte Utilizar funções ligadas ao serviço para Amazon CodeGuru Reviewer.

Para mais informações, consulte Políticas geridas pela AWS no Guia do usuário do IAM.

Exemplos de política gerenciada pelo cliente

Pode criar o seu próprio personalizado IAM políticas para permitir permissões para CodeCommit açõese recursos. Você pode anexar essas políticas personalizadas a usuários ou grupos do IAM que exijamessas permissões. Também pode criar o seu próprio personalizado IAM políticas para integração entreCodeCommit e outros AWS serviços.

Tópicos• Exemplos de política de identidade gerida pelo cliente (p. 329)• Exemplos da política de integração gerida pelo cliente (p. 334)

Exemplos de política de identidade gerida pelo cliente

O exemplo seguinte IAM de concessão de apólices para vários CodeCommit ações. Utilize-os para limitarCodeCommit acesso para o seu IAM utilizadores e funções. Estas políticas controlam a capacidade derealizar ações com o CodeCommit consola, API, AWS sdks ou AWS CLI.

Versão da API 2015-04-13329

Page 339: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Note

Todos os exemplos usam a região Região Oeste dos EUA (Oregon) (us-west-2) e contêm IDs deconta fictícios.

Exemplos:

• Exemplo: = 1. Permitir que um utilizador realize CodeCommit operações numa única regiãoAWS (p. 330)

• Exemplo: = 2. Permitir que um utilizador utilize Git para um único repositório (p. 330)• Exemplo 3 Permitir que um utilizador ligue a partir de um intervalo de endereços IP especificado acesso

a um repositório (p. 331)• Exemplo 4 Rejeitar ou permitir acções nas filiais (p. 332)• Exemplo: = 5 Recusar ou permitir ações em repositórios com etiquetas (p. 333)

Exemplo: = 1. Permitir que um utilizador realize CodeCommit operações numa única região AWS

A seguinte política de permissões utiliza um carácter universal ("codecommit:*") para permitir que osutilizadores executem todos CodeCommit ações no us-east-2 Região e não de outra AWS Regiões.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codecommit:*", "Resource": "arn:aws:codecommit:us-east-2:111111111111:*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-2" } } }, { "Effect": "Allow", "Action": "codecommit:ListRepositories", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-2" } } } ]}

Exemplo: = 2. Permitir que um utilizador utilize Git para um único repositório

Em CodeCommit, o GitPull IAM as permissões de política aplicam-se a qualquer comando de clienteGit onde os dados são recuperados de CodeCommit, incluindo git fetch, git clone, e assim em. Da mesmaforma, o GitPush IAM aplicam-se permissões de políticas a qualquer comando de cliente Git onde osdados são enviados para CodeCommit. Por exemplo, se o GitPush IAM a permissão da apólice estádefinida para Allow, um utilizador pode pressionar a eliminação de uma sucursal utilizando o protocoloGit. Esse push não é afetado por quaisquer permissões aplicadas ao DeleteBranch funcionamento paraIAM utilizador. O DeleteBranch aplicam-se as acções realizadas com a consola, a AWS CLI, os sdks e aAPI, mas não o protocolo Git.

O exemplo a seguir permite que o usuário especificado efetue pull e push de e para o repositório doCodeCommit chamado MyDemoRepo:

Versão da API 2015-04-13330

Page 340: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:GitPull", "codecommit:GitPush" ], "Resource" : "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" } ]}

Exemplo 3 Permitir que um utilizador ligue a partir de um intervalo de endereços IP especificadoacesso a um repositório

Você pode criar uma política que só permite que os usuários se conectem a um repositório doCodeCommit se o endereço IP deles estiver dentro de determinado intervalo de endereços IP. Existemduas abordagens igualmente válidas para isso. Pode criar uma Deny política que permite CodeCommitse o endereço IP para o utilizador não estiver dentro de um bloco específico, ou pode criar um Allow quepermite CodeCommit operações se o endereço IP para o utilizador estiver dentro de um bloco específico.

Você pode criar uma política Deny que nega o acesso a todos os usuários que não estão dentrode um determinado intervalo de IPs. Por exemplo, você pode anexar a política gerenciadaAWSCodeCommitPowerUser e uma política gerenciada pelo cliente a todos os usuários que necessitamde acesso ao seu repositório. A política de exemplo a seguir nega todas as permissões do CodeCommitpara usuários cujos endereços IP não estejam dentro do bloco de endereços IP especificado de203.0.113.0/16:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codecommit:*" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "203.0.113.0/16" ] } } } ]}

A seguinte política de exemplo permite ao utilizador especificado aceder a um CodeCommit nome dorepositório MyDemoRepo com as permissões equivalentes do AWSCodeCommitPowerUser política geridaapenas se o seu endereço IP estiver dentro do bloco de endereços especificado de 203.0.113.0/16:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGetRepositories",

Versão da API 2015-04-13331

Page 341: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"codecommit:CreateBranch", "codecommit:CreateRepository", "codecommit:Get*", "codecommit:GitPull", "codecommit:GitPush", "codecommit:List*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:TagResource", "codecommit:Test*", "codecommit:UntagResource", "codecommit:Update*" ], "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "Condition": { "IpAddress": { "aws:SourceIp": [ "203.0.113.0/16" ] } } } ]}

Exemplo 4 Rejeitar ou permitir acções nas filiais

Você pode criar uma política que nega aos usuários permissões para as ações que você especificar emuma ou mais ramificações. Como alternativa, você pode criar uma política que permita ações em umaou mais ramificações que, de outra forma, elas não teriam em outras ramificações de um repositório.Você pode usar essas políticas com as políticas gerenciadas adequadas (predefinidas). Para obter maisinformações, consulte O limite empurra e encaixa para as ramificações em AWS CodeCommit (p. 260).

Por exemplo, você pode criar uma política Deny que nega aos usuários a capacidade de fazer alteraçõesem uma ramificação denominada master, incluindo excluir essa ramificação, em um repositóriodenominado . MyDemoRepo. Pode utilizar esta política com o AWSCodeCommitPowerUser política gerida.Os utilizadores com estas duas políticas aplicadas poderão criar e eliminar ramos, criar pedidos de pulle todas as outras ações conforme permitido por AWSCodeCommitPowerUser, mas não conseguiamempurrar alterações para a agência nomeada mestre, adicione ou edite um ficheiro no mestre naCodeCommit ou juntar ramos ou um pedido de puxar mestre ramo. Porque Deny é aplicado a GitPush,tem de incluir um Null declaração na política, para permitir a GitPush as chamadas a serem analisadaspara fins de validade quando os utilizadores fazem as suas transferências locais.

Tip

Se quiser criar uma política que se aplica a todas as filiais designadas mestre em todos osrepositórios no seu AWS conta, para Resource, especifique um asterisco ( * ) em vez de umrepositório ARN.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codecommit:GitPush", "codecommit:DeleteBranch", "codecommit:PutFile", "codecommit:Merge*" ], "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo",

Versão da API 2015-04-13332

Page 342: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Condition": { "StringEqualsIfExists": { "codecommit:References": [ "refs/heads/master" ] }, "Null": { "codecommit:References": false } } } ]}

A seguinte política de exemplo permite que um utilizador faça alterações a um ramo nomeado comomaster em todos os repositórios num AWS conta. Ele não permitirá alterações em nenhuma outraramificação. Você pode usar essa política com a política gerenciada AWSCodeCommitReadOnly parapermitir envios por push automatizados ao repositório na ramificação principal. Como o efeito é Allow,este exemplo de política não funciona com políticas gerenciadas, como a AWSCodeCommitPowerUser.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPush", "codecommit:Merge*" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "codecommit:References": [ "refs/heads/master" ] } } } ]}

Exemplo: = 5 Recusar ou permitir ações em repositórios com etiquetas

Pode criar uma política que permita ou nega ações em repositórios com base no AWS associadas a essesrepositórios e, em seguida, aplicar essas políticas ao IAM grupos que configura para gerir IAM utilizadores.Por exemplo, pode criar uma política que nega todos CodeCommit acções em quaisquer repositórios como AWS chave de etiqueta Estado e o valor chave de Secretoe depois aplicar essa política ao grupo IAMque criou para programadores gerais (Developers). Tem de ter a certeza de que os programadores quetrabalham nos repositórios marcados não são membros desse geral Developers grupo, mas pertencem aum IAM que não tem a política restritiva aplicada (programadores de plataformas).

O exemplo seguinte nega todos CodeCommit acções em repositórios etiquetados com a chave Estado e ovalor chave de Secreto:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Deny", "Action" : "codecommit:*" "Resource" : "*",

Versão da API 2015-04-13333

Page 343: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

"Condition" : { "StringEquals" : "aws:ResourceTag/Status": "Secret" } } ]}

Pode refinar ainda mais esta estratégia especificando repositórios específicos, em vez de todos osrepositórios, como recursos. Você também pode criar políticas que permitem ações do CodeCommit emtodos os repositórios que não estão marcados com tags específicas. Por exemplo, a política a seguirpermite o equivalente de permissões da AWSCodeCommitPowerUser para todos os repositórios, excetoos marcados com as tags especificadas:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGetRepositories", "codecommit:CreateBranch", "codecommit:CreateRepository", "codecommit:Get*", "codecommit:GitPull", "codecommit:GitPush", "codecommit:List*", "codecommit:Put*", "codecommit:TagResource", "codecommit:Test*", "codecommit:UntagResource", "codecommit:Update*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/Status": "Secret", "aws:ResourceTag/Team": "Saanvi" } } } ]}

Exemplos da política de integração gerida pelo cliente

Esta secção fornece exemplos de políticas de utilizador geridas pelo cliente que concedem permissõespara integrações entre CodeCommit e outros AWS serviços. Para obter exemplos de políticas quepermitem o acesso entre várias contas a um repositório do CodeCommit, consulte Configurar o acessoentre contas cruzadas a um AWS CodeCommit repositório utilizando funções (p. 142).

Note

Todos os exemplos utilizam o Região Oeste dos EUA (Oregon) (us-west-2) quando uma regiãoAWS é necessária e contém identificações fictícias de conta.

Exemplos:

• Exemplo: = 1. Criar uma política que permita o acesso entre contas cruzadas Amazon SNStópico (p. 335)

• Exemplo: = 2. Criar um Amazon Simple Notification Service (Amazon SNS) política de tópico parapermitir Eventos do Amazon CloudWatch para publicar CodeCommit eventos para o tópico (p. 336)

Versão da API 2015-04-13334

Page 344: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

• Exemplo 3 Criar uma política para AWS Lambda integração com um CodeCommit gatilho (p. 336)

Exemplo: = 1. Criar uma política que permita o acesso entre contas cruzadas Amazon SNS tópico

É possível configurar um repositório do CodeCommit de forma que envios de código ou outros eventosacionem ações, como o envio de uma notificação do Amazon Simple Notification Service (Amazon SNS).Se criar o Amazon SNS tópico com a mesma conta utilizada para criar o CodeCommit repositório, não énecessário configurar IAM políticas ou permissões. Você pode criar um tópico e, em seguida, criar o gatilhopara o repositório. Para obter mais informações, consulte Criar um desencadeador para um Amazon SNStópico (p. 112).

No entanto, se pretender configurar o seu acionador para utilizar um Amazon SNS tópico noutro AWS ,tem primeiro de configurar esse tópico com uma política que permite CodeCommit para publicar a essetópico. A partir dessa outra conta, abra o Amazon SNS , escolha o tópico da lista e para Outras açõesde tópico, escolha Editar política de tópico. No Avançado , modifique a política do tópico para permitirCodeCommit para publicar a esse tópico. Por exemplo, se a apólice for a política predefinida, modificaráa política da seguinte forma, alterando os itens em red italic text para corresponder aos valores doseu repositório, Amazon SNS tópico e conta:

{ "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__default_statement_ID", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "sns:Subscribe", "sns:ListSubscriptionsByTopic", "sns:DeleteTopic", "sns:GetTopicAttributes", "sns:Publish", "sns:RemovePermission", "sns:AddPermission", "sns:Receive", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:us-east-2:111111111111:NotMySNSTopic", "Condition": { "StringEquals": { "AWS:SourceOwner": "111111111111" } } }, { "Sid": "CodeCommit-Policy_ID", "Effect": "Allow", "Principal": { "Service": "codecommit.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:us-east-2:111111111111:NotMySNSTopic", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "AWS:SourceAccount": "111111111111" } } }

Versão da API 2015-04-13335

Page 345: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

]}

Exemplo: = 2. Criar um Amazon Simple Notification Service (Amazon SNS) política de tópico parapermitir Eventos do Amazon CloudWatch para publicar CodeCommit eventos para o tópico

Pode configurar Eventos do CloudWatch publicar para um Amazon SNS tópico quando ocorrem eventos,incluindo CodeCommit eventos. Para o fazer, deve certificar-se de que Eventos do CloudWatch tempermissão para publicar eventos no seu Amazon SNS ao criar uma política para o tópico ou modificar umapolítica existente para o tópico semelhante ao seguinte:

{ Version":"2012-10-17", "Id":"__default_policy_ID", "Statement":[ { "Sid":"__default_statement_ID", "Effect":"Allow", "Principal":"{"AWS":"*"}, "Action": "sns:Publish" ] "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic", "Condition":{ "StringEquals":{"AWS:SourceOwner":123456789012"} } }, { "Sid":"Allow_Publish_Events", "Effect":"Allow", "Principal":{"Service":"events.amazonaws.com"}, "Action":"sns:Publish", "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic" } ]}

Para mais informações sobre CodeCommit e Eventos do CloudWatch, consulte Eventos do CloudWatchExemplos de eventos de serviços suportados. Para mais informações sobre IAM e idioma da política,consulte Gramática do idioma da política JSON da MGA.

Exemplo 3 Criar uma política para AWS Lambda integração com um CodeCommit gatilho

Pode configurar um CodeCommit de modo a que o código impulgue ou outros eventos desencadeemacções, tais como invocar uma função em AWS Lambda. Para obter mais informações, consulte Criar umdesencadeador para um Lambda função (p. 116). Essas informações são específicas para gatilhos, e nãoEventos do CloudWatch.

Se quiser que o seu gatilho execute um Lambda directa (em vez de utilizar um Amazon SNS tópico parainvocar o Lambda ) e não configura o desencadeador no Lambda consola, tem de incluir uma políticasemelhante à seguinte na política de recursos da função:

{ "Statement":{ "StatementId":"Id-1", "Action":"lambda:InvokeFunction", "Principal":"codecommit.amazonaws.com", "SourceArn":"arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "SourceAccount":"111111111111" }}

Versão da API 2015-04-13336

Page 346: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Quando configurar manualmente um CodeCommit desencadeador que invoca a Lambda função, tambémdeve utilizar o Lambda permissão comando para conceder permissão para CodeCommit para invocar afunção. Para ver um exemplo, consulte a seção Para permitir CodeCommit para executar um Lambdafunção (p. 120) de Criar um trigger para uma função Lambda existente (p. 119).

Para mais informações sobre políticas de recursos para Lambda funções, consulte permissão e Modelosde eventos para puxar/empurrar no AWS Lambda Guia da Ferramenta de Desenvolvimento.

CodeCommitReferência de permissões doAs tabelas a seguir listam cada operação de API do CodeCommit, as ações correspondentes para as quaisvocê pode conceder permissões e o formato do ARN do recurso a ser usado para conceder permissões.As APIs do CodeCommit são agrupadas em tabelas com base no escopo das ações permitidas por essaAPI. Consulte-o quando configurar Controle de acesso (p. 311) e as políticas de autorizações de escritaque pode anexar a IAM identidade (políticas baseadas em identidade).

Quando você cria uma política de permissões, você especifica as ações no campo Action da política.Você especifica o valor do recurso no campo Resource da política como um ARN, com ou sem umcaractere curinga (*).

Para expressar condições no seu CodeCommit políticas, utilizar AWS-teclas de condição alargada. Parauma lista completa de AWSteclas grandes, ver Teclas disponíveis no Guia do usuário do IAM.

Note

Para especificar uma ação, utilize o codecommit: prefixo seguido do nome da operação API (porexemplo, codecommit:GetRepository ou codecommit:CreateRepository.

Utilizar caracteres universais

Para especificar várias ações ou recursos, use um caractere curinga (*) no seu ARN. Por exemplo,codecommit:* especifica todos CodeCommit acções e codecommit:Get* especifica todosCodeCommit ações que começam com a palavra Get. O exemplo seguinte concede acesso a todos osrepositórios com nomes que começam com MyDemo.

arn:aws:codecommit:us-west-2:111111111111:MyDemo*

Só pode utilizar caracteres universais com o repository-name recursos listados na tabela seguinte. Nãopode utilizar caracteres universais com region ou account-id recursos Para mais informações sobrecaracteres universais, consulte IAM Identificadores em Guia do usuário do IAM.

Tópicos• Permissões necessárias para comandos de cliente Git (p. 338)• Permissões para acções nas filiais (p. 338)• Permissões para ações sobre quotas (p. 339)• Permissões para acções a pedidos de pull-pull (p. 340)• Permissões para ações em modelos de regras de aprovação (p. 343)• Permissões para ações em ficheiros individuais (p. 345)• Permissões para ações em comentários (p. 346)• Permissões para ações sobre código comprometido (p. 347)• Permissões para ações em repositórios (p. 349)• Permissões para ações em etiquetas (p. 350)• Permissões para ações em acionadores (p. 350)• Permissões para ações em CodePipeline integração (p. 351)

Versão da API 2015-04-13337

Page 347: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Permissões necessárias para comandos de cliente GitEm CodeCommit, o GitPull IAM as permissões de política aplicam-se a qualquer comando de clienteGit onde os dados são recuperados de CodeCommit, incluindo git fetch, git clone, e assim em. Da mesmaforma, o GitPush IAM aplicam-se permissões de políticas a qualquer comando de cliente Git onde osdados são enviados para CodeCommit. Por exemplo, se o GitPush IAM a permissão da apólice estádefinida para Allow, um utilizador pode pressionar a eliminação de uma sucursal utilizando o protocoloGit. Esse push não é afetado por quaisquer permissões aplicadas ao DeleteBranch funcionamento paraIAM utilizador. O DeleteBranch aplicam-se as acções realizadas com a consola, a AWS CLI, os sdks e aAPI, mas não o protocolo Git.

GitPull e GitPush são IAM permissões de apólice. Elas não são ações de API.

CodeCommit Permissões necessárias para ações para comandos de cliente Git

GitPull

Ação/Ações: codecommit:GitPull

Obrigatório para extrair informações de um repositório do CodeCommit para um repositório local. Estaé apenas uma permissão de política do IAM, e não uma ação de API.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGitPush

Ação/Ações: codecommit:Git Push

Necessário para inserir informações de uma repo local para um CodeCommit repositório. Esta éapenas uma permissão de política do IAM, e não uma ação de API.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para acções nas filiaisAs seguintes permissões permitem ou negam ações em agências em CodeCommit repositórios. Estaspermissões dizem respeito apenas às acções executadas no CodeCommit e com o CodeCommit API eos comandos realizados utilizando o AWS CLI. Eles não pertencem a ações semelhantes que podem serrealizadas usando o protocolo Git. Por exemplo, o git show-branch -r o comando apresenta uma lista deramos remotos para um repositório e o seu compromisso utilizando o protocolo Git. Não é afetado porquaisquer permissões para o CodeCommit ListBranches operação.

CodeCommit Operações API e permissões necessárias para acções em agências

CreateBranch

Ação/Ações: codecommit:CreateBranch

Necessário para criar uma sucursal num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameDeleteBranch

Ação/Ações: codecommit:DeleteBranch

Necessário eliminar uma sucursal de um CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetBranch

Ação/Ações: codecommit:GetBranch

Versão da API 2015-04-13338

Page 348: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Necessário para obter detalhes sobre uma sucursal num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameListBranches

Ação/Ações: codecommit:ListBranches

Necessário para obter uma lista de ramos num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameMergeBranchesByFastForward

Ação/Ações: codecommit:MergeBranchesByFastForward

Necessário para unir duas filiais utilizando a estratégia de fusão rápida num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameMergeBranchesBySquash

Ação/Ações: codecommit:ListBranches

Necessário para unir duas ramificações utilizando a estratégia de fusão de squash num CodeCommitrepositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameMergeBranchesByThreeWay

Ação/Ações: codecommit:ListBranches

Necessário para unir duas filiais utilizando a estratégia de fusão de três vias num CodeCommitrepositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUpdateDefaultBranch

Ação/Ações: codecommit:UpdateDefaultBranch

Necessário alterar o ramo predefinido num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para ações sobre quotas

As seguintes permissões permitem ou negam ações sobre os merges CodeCommit repositórios. Estaspermissões dizem respeito às ações realizadas com o CodeCommit e a CodeCommit API e comandosrealizados utilizando o AWS CLI. Eles não pertencem a ações semelhantes que podem ser realizadasusando o protocolo Git. Para permissões relacionadas em ramificações, consulte Permissões para acçõesnas filiais (p. 338). Para permissões relacionadas em solicitações pull, consulte Permissões para acçõesa pedidos de pull-pull (p. 340).

CodeCommit Operações API e permissões necessárias para Acções para Comandos de Agrupamento

BatchDescribeMergeConflicts

Ação/Ações: codecommit:BatchDescribeMergeConflicts

Necessário para devolver informações sobre conflitos numa fusão entre o compromisso CodeCommitrepositório.

Versão da API 2015-04-13339

Page 349: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Recurso: arn:aws:codecommit:region:account-id:repository-nameCreateUnreferencedMergeCommit

Ação/Ações: codecommit:CreateUnreferencedMergeCommit

Obrigatório para criar uma confirmação sem referência entre duas ramificações ou confirmações emum repositório do CodeCommit para fins de comparação e identificação de possíveis conflitos.

Recurso: arn:aws:codecommit:region:account-id:repository-nameDescribeMergeConflicts

Ação/Ações: codecommit:DescribeMergeConflicts

Necessário para devolver informações sobre a fusão de conflitos entre as versões base, origem edestino de um ficheiro numa potencial junção num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetMergeCommit

Ação/Ações: codecommit:GetMergeCommit

Necessário para devolver informações sobre a intercalação entre uma origem e destino, que secompromete CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetMergeOptions

Ação/Ações: codecommit:GetMergeOptions

Necessário para devolver informações sobre as opções de intercalação disponíveis entre duas filiaisou em caso de comprometimento de um CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para acções a pedidos de pull-pull

As seguintes permissões permitem ou negam ações em pedidos de pull-pull CodeCommit repositórios.Estas permissões dizem respeito às ações realizadas com o CodeCommit e a CodeCommit API ecomandos realizados utilizando o AWS CLI. Eles não pertencem a ações semelhantes que podem serrealizadas usando o protocolo Git. Para permissões relacionadas em comentários, consulte Permissõespara ações em comentários (p. 346).

CodeCommit Operações API e permissões necessárias para acções em pedidos de pull

BatchGetPullRequests

Ação/Ações: codecommit:BatchGetPullRequests

Necessário para devolver informações sobre um ou mais pedidos de extração num CodeCommitrepositório. Esta é apenas uma permissão de política do IAM, e não uma ação de API que você podechamar.

Recurso: arn:aws:codecommit:region:account-id:repository-nameCreatePullRequest

Ação/Ações: codecommit:CreatePullRequest

Necessário para criar um pedido de puxar num CodeCommit repositório.

Versão da API 2015-04-13340

Page 350: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Recurso: arn:aws:codecommit:region:account-id:repository-nameCreatePullRequestApprovalRule

Ação/Ações: codecommit:CreatePullRequestApprovalRule

Necessário para criar uma regra de aprovação para um pedido de pull CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameDeletePullRequestApprovalRule

Ação/Ações: codecommit:DeletePullRequestApprovalRule

Necessário para eliminar uma regra de aprovação para um pedido de pull-pull CodeCommitrepositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameDescribePullRequestEvents

Ação/Ações: codecommit:DescribePullRequestEvents

Necessário para devolver informações sobre um ou mais eventos de pedidos de puxar numCodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameEvaluatePullRequestApprovalRules

Ação/Ações: codecommit:EvaluatePullRequestApprovalRules

Necessário para avaliar se um pedido de pull-pull cumpriu todas as condições especificadas nas suasregras de aprovação associadas num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetCommentsForPullRequest

Ação/Ações: codecommit:GetCommentsForPullRequest

Obrigatório para retornar comentários feitos em uma solicitação pull.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetCommitsFromMergeBase

Ação/Ações: codecommit:GetCommitsFromMergeBase

Obrigatório para retornar informações sobre a diferença entre confirmações no contexto de umapossível mesclagem. Esta é apenas uma permissão de política do IAM, e não uma ação de API quevocê pode chamar.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetMergeConflicts

Ação/Ações: codecommit:GetMergeConflicts

Obrigatório para devolver informações sobre a fusão de conflitos entre a agência de origem e dedestino num pedido de puxar.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetPullRequest

Ação/Ações: codecommit:GetPullRequest

Versão da API 2015-04-13341

Page 351: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Necessário para devolver informações sobre um pedido de puxar num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetPullRequestApprovalStates

Ação/Ações: codecommit:GetPullRequestApprovalStates

Obrigatório para retornar informações sobre os estados de aprovação de uma solicitação pullespecificada.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetPullRequestOverrideState

Ação/Ações: codecommit:GetPullRequestOverrideState

Necessário para devolver informações sobre se as regras de aprovação foram colocadas de lado(anuladas) para um pedido de pull-pull e, em caso afirmativo, o Nome de Recursos Amazon (ARN) doutilizador ou identidade que sobrepõe as regras e os seus requisitos para o pedido de pull-pull.

Recurso: arn:aws:codecommit:region:account-id:repository-nameListPullRequests

Ação/Ações: codecommit:ListPullRequests

Obrigatório para listar solicitações pull em um repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameMergePullRequestByFastForward

Ação/Ações: codecommit:MergePullRequestByFastForward

Obrigatório para fechar uma solicitação pull e tentar mesclar a ramificação de origem com aramificação de destino de uma solicitação pull usando a opção de mesclagem de avanço rápido.

Recurso: arn:aws:codecommit:region:account-id:repository-nameMergePullRequestBySquash

Ação/Ações: codecommit:MergePullRequestBySquash

Obrigatório para fechar uma solicitação pull e tentar mesclar a ramificação de origem com aramificação de destino de uma solicitação pull usando a estratégia de mesclagem de compressão.

Recurso: arn:aws:codecommit:region:account-id:repository-nameMergePullRequestByThreeWay

Ação/Ações: codecommit:MergePullRequestByThreeWay

Obrigatório para fechar uma solicitação pull e tentar mesclar a ramificação de origem com aramificação de destino de uma solicitação pull usando a estratégia de mesclagem de três vias.

Recurso: arn:aws:codecommit:region:account-id:repository-nameOverridePullRequestApprovalRules

Ação/Ações: codecommit:OverridePullRequestApprovalRules

Necessário para colocar todos os requisitos da regra de aprovação para um pedido de pull-pull numCodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Versão da API 2015-04-13342

Page 352: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

PostCommentForPullRequest

Ação/Ações: codecommit:PostCommentForPullRequest

Necessário para publicar um comentário num pedido de puxar num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestApprovalRuleContent

Ação/Ações: codecommit:UpdatePullRequestApprovalRuleContent

Necessário para alterar a estrutura de uma regra de aprovação para um pedido de pull-pullCodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestApprovalState

Ação/Ações: codecommit:UpdatePullRequestApprovalState

Necessário para atualizar o estado de uma aprovação num pedido de pull-pull CodeCommitrepositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestDescription

Ação/Ações: codecommit:UpdatePullRequestDescription

Necessário para alterar a descrição de um pedido de puxar num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestStatus

Ação/Ações: codecommit:UpdatePullRequestStatus

Necessário alterar o estado de um pedido de pull-pull num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestTitle

Ação/Ações: codecommit:UpdatePullRequestTitle

Necessário alterar o título de um pedido de pull-pull num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para ações em modelos de regras de aprovação

As seguintes permissões permitem ou negam ações em modelos de regras de aprovação em CodeCommitrepositórios. Estas permissões dizem respeito apenas às acções executadas no CodeCommit consola,a CodeCommit API e os comandos realizados utilizando o AWS CLI. Eles não pertencem a açõessemelhantes que podem ser realizadas usando o protocolo Git. Para permissões relacionadas emsolicitações pull, consulte Permissões para acções a pedidos de pull-pull (p. 340).

CodeCommit Operações API e Permissões Necessárias para Acções em Modelos de Regras deAprovação

AssociateApprovalRuleTemplateWithRepository

Ação/Ações: codecommit:AssociateApprovalRuleTemplateWithRepository

Versão da API 2015-04-13343

Page 353: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Necessário associar um modelo com um repositório especificado num AWS conta. Depois daassociação, isso cria automaticamente regras de aprovação que correspondem às condições domodelo em cada solicitação pull criada no repositório especificado.

Recurso: *BatchAssociateApprovalRuleTemplateWithRepositories

Ação/Ações: codecommit:BatchAssociateApprovalRuleTemplateWithRepositories

Necessário associar um modelo com um ou mais repositórios especificados num AWS conta.

Recurso: *BatchDisassociateApprovalRuleTemplateFromRepositories

Ação/Ações: codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories

Necessário para desassociar um modelo de um ou mais repositórios especificados num AWS conta.

Recurso: *CreateApprovalRuleTemplate

Ação/Ações: codecommit:CreateApprovalRuleTemplate

Necessário para criar um modelo para regras de aprovação que podem então ser associadas a um oumais repositórios no seu AWS conta.

Recurso: *DeleteApprovalRuleTemplate

Ação/Ações: codecommit:DeleteApprovalRuleTemplate

Necessário eliminar um modelo de regra de aprovação de um AWS conta.

Recurso: *DisassociateApprovalRuleTemplateFromRepository

Ação/Ações: codecommit:DisassociateApprovalRuleTemplateFromRepository

Necessário para desassociar o modelo especificado a partir de um repositório num AWS conta. Elenão remove regras de aprovação em solicitações pull já criadas com o modelo.

Recurso: *GetApprovalRuleTemplate

Ação/Ações: codecommit:GetApprovalRuleTemplate

Necessário para devolver informações sobre um modelo de regra de aprovação num AWS conta.

Recurso: *ListApprovalRuleTemplates

Ação/Ações: codecommit:ListApprovalRuleTemplates

Necessário para listar modelos de regra de aprovação num AWS conta.

Recurso: *ListAssociatedApprovalRuleTemplatesForRepository

Ação/Ações: codecommit:ListAssociatedApprovalRuleTemplatesForRepository

Versão da API 2015-04-13344

Page 354: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Obrigatório para listar todos os modelos de regra de aprovação associados a um repositórioespecificado num AWS conta.

Recurso: *ListRepositoriesForApprovalRuleTemplate

Ação/Ações: codecommit:ListRepositoriesForApprovalRuleTemplate

Necessário para listar todos os repositórios associados a um modelo de regra de aprovaçãoespecificado num AWS conta.

Recurso: *UpdateApprovalRuleTemplateContent

Ação/Ações: codecommit:UpdateApprovalRuleTemplateContent

Necessário para atualizar o conteúdo de um modelo de regra de aprovação num AWS conta.

Recurso: *UpdateApprovalRuleTemplateDescription

Ação/Ações: codecommit:UpdateApprovalRuleTemplateDescription

Necessário para atualizar a descrição de um modelo de regra de aprovação num AWS conta.

Recurso: *UpdateApprovalRuleTemplateName

Ação/Ações: codecommit:UpdateApprovalRuleTemplateName

Necessário para atualizar o nome de um modelo de regra de aprovação num AWS conta.

Recurso: *

Permissões para ações em ficheiros individuaisAs seguintes permissões permitem ou negam ações em ficheiros individuais em CodeCommit repositórios.Estas permissões dizem respeito apenas às acções executadas no CodeCommit consola, a CodeCommitAPI e os comandos realizados utilizando o AWS CLI. Eles não pertencem a ações semelhantes quepodem ser realizadas usando o protocolo Git. Por exemplo, o git push impulsiona os ficheiros novose alterados para um CodeCommit repositório utilizando o protocolo Git. Não é afetado por quaisquerpermissões para o CodeCommit PutFile operação.

CodeCommit Operações de API e permissões necessárias para ações em arquivos individuais

DeleteFile

Ação/Ações: codecommit:DeleteFile

Necessário para eliminar um ficheiro especificado de um ramo especificado num CodeCommitrepositório do CodeCommit consola.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetBlob

Ação/Ações: codecommit:GetBlob

Necessário para visualizar o conteúdo codificado de um ficheiro individual num CodeCommitrepositório do CodeCommit consola.

Versão da API 2015-04-13345

Page 355: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetFile

Ação/Ações: codecommit:GetFile

Necessário para visualizar o conteúdo codificado de um ficheiro especificado e os respetivosmetadados num CodeCommit repositório do CodeCommit consola.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetFolder

Ação/Ações: codecommit:GetFolder

Necessário para visualizar o conteúdo de uma pasta especificada num CodeCommit repositório doCodeCommit consola.

Recurso: arn:aws:codecommit:region:account-id:repository-namePutFile

Ação/Ações: codecommit:PutFile

Necessário para adicionar um ficheiro novo ou modificado a um CodeCommit repositório doCodeCommit consola, CodeCommit API ou AWS CLI.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para ações em comentários

As seguintes permissões permitem ou negam ações sobre comentários em CodeCommit repositórios.Estas permissões dizem respeito às ações realizadas com o CodeCommit e a CodeCommit API eos comandos realizados utilizando o AWS CLI. Para permissões relacionadas em comentários emsolicitações pull, consulte Permissões para acções a pedidos de pull-pull (p. 340).

CodeCommit Operações API e permissões necessárias para ações em repositórios

DeleteCommentContent

Ação/Ações: codecommit:DeleteCommentContent

Obrigatório para excluir o conteúdo de um comentário feito em uma alteração, um arquivo ou umaconfirmação em um repositório. Comentários não podem ser excluídos, mas o conteúdo de umcomentário pode ser removido se o usuário tem essa permissão.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetComment

Ação/Ações: codecommit:GetComment

Necessário para devolver informações sobre um comentário feito numa alteração, ficheiro oucompromisso num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-namegetcomentarações

Ação/Ações: codecommit:GetCommentReactions

Necessário para devolver informações sobre reacções de emoji a um comentário feito numa alteração,ficheiro ou compromisso num CodeCommit repositório.

Versão da API 2015-04-13346

Page 356: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetCommentsForComparedCommit

Ação/Ações: codecommit:GetCommentsForComparedCommit

Necessário para devolver informações sobre comentários efetuados sobre a comparação entre doiscompromissos CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-namePostCommentForComparedCommit

Ação/Ações: codecommit:PostCommentForComparedCommit

Necessário comentar a comparação entre dois compromissos num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-namePostCommentReply

Ação/Ações: codecommit:PostCommentReply

Necessário para criar uma resposta a um comentário sobre uma comparação entre compromisso ouum pedido de puxar num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameputcomentação

Ação/Ações: codecommit:PutCommentReaction

Necessário para responder a um comentário com um emoji num compromisso ou num pedido depuxar num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUpdateComment

Ação/Ações: codecommit:UpdateComment

Obrigatório para editar um comentário em uma comparação entre confirmações ou em uma solicitaçãopull. Comentários só podem ser editados pelo autor do comentário.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para ações sobre código comprometido

As seguintes permissões permitem ou negam ações sobre o código empenhado em CodeCommitrepositórios. Estas permissões dizem respeito às ações realizadas com o CodeCommit e a CodeCommitAPI e comandos realizados utilizando o AWS CLI. Eles não pertencem a ações semelhantes que podemser realizadas usando o protocolo Git. Por exemplo, o não comprometer cria um compromisso parauma sucursal num repositório utilizando o protocolo Git. Não é afetado por quaisquer permissões para oCodeCommit CreateCommit operação.

Negar explicitamente algumas destas permissões pode resultar em consequências inesperadas noCodeCommit consola. Por exemplo, definir GetTree para Deny impede que os utilizadores navegem noconteúdo de um repositório na consola, mas não bloqueem os utilizadores de visualizarem o conteúdo deum ficheiro no repositório (se lhes forem enviados uma ligação para o ficheiro em e-mail, por exemplo).Definição GetBlob para Deny impede que os utilizadores visualizem o conteúdo dos ficheiros, mas nãobloqueem os utilizadores da navegação da estrutura de um repositório. Definição GetCommit para Denyimpede que os utilizadores obtenham detalhes sobre o compromisso. Definição GetObjectIdentifierpara Deny bloqueia a maioria das funcionalidades da navegação de código. Se definir estas três acções

Versão da API 2015-04-13347

Page 357: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

para Deny numa política, um utilizador com essa política não pode procurar código na CodeCommitconsola.

CodeCommit Operações API e permissões necessárias para acções sobre código comprometido

BatchGetCommits

Ação/Ações: codecommit:BatchGetCommits

Necessário para devolver informações sobre um ou mais compromissos num CodeCommit repositório.Esta é apenas uma permissão de política do IAM, e não uma ação de API que você pode chamar.

Recurso: arn:aws:codecommit:region:account-id:repository-nameCreateCommit

Ação/Ações: codecommit:CreateCommit

Obrigatório para criar uma confirmação.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetCommit

Ação/Ações: codecommit:GetCommit

Obrigatório para retornar informações sobre uma confirmação.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetCommitHistory

Ação/Ações: codecommit:GetCommitHistory

Obrigatório para retornar informações sobre o histórico de confirmações em um repositório. Esta éapenas uma permissão de política do IAM, e não uma ação de API que você pode chamar.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetDifferences

Ação/Ações: codecommit:GetDifferences

Obrigatório para retornar informações sobre as diferenças em um especificador de confirmação (comoramificação, tag, HEAD, ID de confirmação ou outra referência totalmente qualificada).

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetObjectIdentifier

Ação/Ações: codecommit:GetObjectIdentifier

Obrigatório para resolver blobs, árvores e confirmações ao respectivo identificador. Esta é apenasuma permissão de política do IAM, e não uma ação de API que você pode chamar.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetReferences

Ação/Ações: codecommit:GetReferences

Obrigatório para retornar todas as referências, como ramificações e tags. Esta é apenas umapermissão de política do IAM, e não uma ação de API que você pode chamar.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Versão da API 2015-04-13348

Page 358: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

GetTree

Ação/Ações: codecommit:GetTree

Necessário para visualizar o conteúdo de uma árvore especificada num CodeCommit repositório doCodeCommit consola. Esta é apenas uma permissão de política do IAM, e não uma ação de API quevocê pode chamar.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para ações em repositóriosAs seguintes permissões permitem ou negam ações em CodeCommit repositórios. Estas permissõesdizem respeito às ações realizadas com o CodeCommit e a CodeCommit API e os comandos realizadosutilizando o AWS CLI. Eles não pertencem a ações semelhantes que podem ser realizadas usando oprotocolo Git.

CodeCommit Operações API e permissões necessárias para ações em repositórios

BatchGetRepositories

Ação/Ações: codecommit:BatchGetRepositories

Necessário para obter informações sobre vários CodeCommit repositórios num AWS conta. EmResource, tem de especificar os nomes de todos os CodeCommit repositórios para os quais umutilizador é permitido (ou negado).

Recurso: arn:aws:codecommit:region:account-id:repository-nameCreateRepository

Ação/Ações: codecommit:CreateRepository

Necessário para criar uma CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameDeleteRepository

Ação/Ações: codecommit:DeleteRepository

Necessário eliminar um CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetRepository

Ação/Ações: codecommit:GetRepository

Necessário para obter informações sobre um único CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameListRepositories

Ação/Ações: codecommit:ListRepositories

Necessário para obter uma lista dos nomes e ID de sistema de vários CodeCommit repositórios paraum AWS conta. O único valor permitido de Resource para essa ação são todos os repositórios (*).

Recurso: *UpdateRepositoryDescription

Ação/Ações: codecommit:UpdateRepositoryDescription

Versão da API 2015-04-13349

Page 359: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Necessário para alterar a descrição de um CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUpdateRepositoryName

Ação/Ações: codecommit:UpdateRepositoryName

Necessário alterar o nome de um CodeCommit repositório. Em Resource, tem de especificar ambosCodeCommit repositórios que podem ser alterados e os novos nomes de repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para ações em etiquetasAs seguintes permissões permitem ou negam ações em AWS etiquetas para CodeCommit recursos.

CodeCommit Operações API e permissões necessárias para ações em etiquetas

ListTagsForResource

Ação/Ações: codecommit:ListTagsForResource

Obrigatório para retornar informações sobre tags da AWS configuradas em um recurso noCodeCommit.

Recurso: arn:aws:codecommit:region:account-id:repository-nameTagResource ()

Ação/Ações: codecommit:TagResource

Obrigatório para adicionar ou editar tags da AWS para um repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUntagResource

Ação/Ações: codecommit:UntagResource

Obrigatório para remover tags da AWS de um recurso no CodeCommit.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para ações em acionadoresAs seguintes permissões permitem ou negam ações em desencadeadores para CodeCommit repositórios.

CodeCommit Operações API e permissões necessárias para acções em acionadores

GetRepositoryTriggers

Ação/Ações: codecommit:GetRepositoryTriggers

Obrigatório para retornar informações sobre triggers configurados para um repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-namePutRepositoryTriggers

Ação/Ações: codecommit:PutRepositoryTriggers

Obrigatório para criar, editar ou excluir triggers para um repositório.

Versão da API 2015-04-13350

Page 360: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutenticação e controle de acesso

Recurso: arn:aws:codecommit:region:account-id:repository-nameTestRepositoryTriggers

Ação/Ações: codecommit:TestRepositoryTriggers

Obrigatório para testar a funcionalidade de um trigger de repositório enviando dados para o tópico oua função configurada para o trigger.

Recurso: arn:aws:codecommit:region:account-id:repository-name

Permissões para ações em CodePipeline integração

Para CodePipeline para utilizar um CodeCommit repositório numa acção de origem para um pipeline, temde conceder todas as permissões listadas na tabela seguinte para a função de serviço para CodePipeline.Caso essas permissões não sejam definidas na função de serviço ou estejam definidas como Deny,o pipeline não será executado automaticamente quando uma alteração for feita ao repositório, e asalterações não poderão ser liberadas manualmente.

CodeCommit Operações API e permissões necessárias para acções em CodePipeline Integração

GetBranch

Ação/Ações: codecommit:GetBranch

Necessário para obter detalhes sobre uma sucursal num CodeCommit repositório.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetCommit

Ação/Ações: codecommit:GetCommit

Obrigatório para retornar informações sobre uma confirmação.

Recurso: arn:aws:codecommit:region:account-id:repository-nameUploadArchive

Ação/Ações: codecommit:UploadArchive

Obrigatório para permitir a função de serviço para o CodePipeline para fazer upload de alterações derepositório em um pipeline. Esta é apenas uma permissão de política do IAM, e não uma ação de APIque você pode chamar.

Recurso: arn:aws:codecommit:region:account-id:repository-nameGetUploadArchiveStatus

Ação/Ações: codecommit:GetUploadArchiveStatus

Obrigatório para determinar o status de um upload de arquivamento: se ele está em andamento,concluído, cancelado ou se ocorreu um erro. Esta é apenas uma permissão de política do IAM, e nãouma ação de API que você pode chamar.

Recurso: arn:aws:codecommit:region:account-id:repository-nameCancelUploadArchive

Ação/Ações: codecommit:CancelUploadArchive

Obrigatório para cancelar o upload de um arquivamento para um pipeline. Esta é apenas umapermissão de política do IAM, e não uma ação de API que você pode chamar.

Versão da API 2015-04-13351

Page 361: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComo o AWS CodeCommit funciona com o IAM

Recurso: arn:aws:codecommit:region:account-id:repository-name

Como o AWS CodeCommit funciona com o IAMAntes de utilizar IAM para gerir o acesso a CodeCommit, deve compreender o que IAM estão disponíveispara utilização com CodeCommit. Para obter uma visão de alto nível de como CodeCommit e outros AWSserviços trabalham com IAM, consulte AWS Serviços que trabalham com IAM no Guia do usuário do IAM.

Tópicos• Chaves de condição (p. 352)• Examples (p. 352)

Chaves de condiçãoO elemento Condition (ou bloco de Condition) permite que você especifique condições nas quaisuma instrução está em vigor. O elemento Condition é opcional. É possível criar expressões condicionaisque usam operadores de condição, como “igual a” ou “menor que”, para fazer a condição da políticacorresponder aos valores na solicitação.

Se você especificar vários elementos Condition em uma instrução ou várias chaves em um únicoelemento Condition, a AWS os avaliará usando uma operação lógica AND. Se você especificar váriosvalores para uma única chave de condição, a AWS avaliará a condição usando uma operação lógica OR.Todas as condições devem ser atendidas para que as permissões da instrução sejam concedidas.

Você também pode usar variáveis de espaço reservado ao especificar as condições. Por exemplo, vocêpode conceder a um usuário do IAM permissão para acessar um recurso somente se ele estiver marcadocom seu nome de usuário do IAM. Para obter mais informações, consulte Elementos de política do IAM:variáveis e tags no Guia do usuário do IAM.

CodeCommitA define seu próprio conjunto de chaves de condição e também oferece suporte ao uso dealgumas chaves de condição globais. Para ver todos AWS teclas de condição global, consulte AWS Teclasde contexto da condição global no Guia do usuário do IAM.

Alguns CodeCommit as ações apoiam o codecommit:References tecla de condição. Para obterum exemplo de política que usa essa chave, consulte Exemplo 4 Rejeitar ou permitir acções nasfiliais (p. 332).

Para ver uma lista de CodeCommit teclas de condição, consulte Chaves de condição para o AWSCodeCommit no Guia do usuário do IAM. Para saber com quais ações e recursos que você pode usar umachave de condição, consulte Ações definidas pelo AWS CodeCommit.

Examples

Para ver exemplos de políticas baseadas em identidade do CodeCommit, consulte AWSCodeCommitExemplos de políticas baseadas em identidade do (p. 355).

CodeCommitPolíticas baseadas em recursos doCodeCommitO não oferece suporte a políticas baseadas em recurso.

Autorização baseada em CodeCommit etiquetasVocê pode anexar tags a recursos do CodeCommit ou passar tags em uma solicitação ao CodeCommit.Para controlar o acesso com base nas etiquetas, fornece informações de etiqueta no elemento de

Versão da API 2015-04-13352

Page 362: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutorização baseada em CodeCommit etiquetas

condição de uma política utilizando o codecommit:ResourceTag/key-name, aws:RequestTag/key-name, ou aws:TagKeys teclas de condição. Para obter mais informações sobre recursos de marcação doCodeCommit, consulte .Exemplo: = 5 Recusar ou permitir ações em repositórios com etiquetas (p. 333).Para mais informações sobre estratégias de marcação, consulte Etiquetagem de recursos AWS.

CodeCommitO também oferece suporte a políticas baseadas em tags de sessão. Para mais informações,consulte Etiquetas de sessão.

Utilizar etiquetas para fornecer informações de identidade emCodeCommitCodeCommit suporta a utilização de tags de sessão, que são atributos de par de valor-chave que passaquando assume uma IAM função, utilizar credenciais temporárias ou federar um utilizador em AWSSecurity Token Service (AWS STS). Também pode associar etiquetas com um IAM utilizador. Pode utilizaras informações fornecidas nestas etiquetas para facilitar a identificação de quem fez uma alteração ouque causou um evento. CodeCommit inclui os valores para tags com os seguintes nomes chave emCodeCommit eventos:

Nome da chave Valor

displayName O nome legível por humanos para exibir e associarao usuário (por exemplo, Mary Major ou SaanviSarkar).

emailAddress O endereço de e-mail que você desejaexibir e associar ao usuário (porexemplo, [email protected] [email protected]).

Se esta informação for fornecida, CodeCommit inclui-o em eventos enviados para Amazon EventBridgee Eventos do Amazon CloudWatch. Para obter mais informações, consulte Monitorização CodeCommiteventos em Amazon EventBridge e Eventos do Amazon CloudWatch (p. 361).

Para utilizar a marcação de sessão, as funções têm de ter políticas que incluem o sts:TagSessionpermissão definida para Allow. Se estiver a utilizar o acesso federado, pode configurar informações denome de apresentação e de e-mail como parte da sua configuração. Por exemplo, se você estiver usandoo Azure Active Directory, poderá fornecer as seguintes informações de reivindicação:

Nome da reivindicação Valor

https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName

user.displayname

https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress

user.mail

Pode utilizar o AWS CLI para passar etiquetas de sessão para displayName e emailAddress utilizarAssumeRole. Por exemplo, um utilizador que pretende assumir uma função nomeada Developer quemquer associar o seu nome Mary Major pode usar o assume-role semelhante ao seguinte:

aws sts assume-role \--role-arn arn:aws:iam::123456789012:role/Developer \--role-session-name Mary-Major \–-tags Key=displayName,Value="Mary Major" Key=emailAddress,Value="[email protected]" \

Versão da API 2015-04-13353

Page 363: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAutorização baseada em CodeCommit etiquetas

--external-id Example987

Para mais informações, consulte permerole.

Pode utilizar o AssumeRoleWithSAML para devolver um conjunto de credenciais temporárias que incluemdisplayName e emailAddress etiquetas. Pode utilizar estas etiquetas quando aceder CodeCommitrepositórios. Isso requer que sua empresa ou grupo já tenha integrado sua solução SAML de terceiros comAWS. Em caso afirmativo, é possível transmitir atributos SAML como tags de sessão. Por exemplo, sepretender passar atributos de identidade para um nome de apresentação e endereço de e-mail para umutilizador nomeado Saanvi Sarkar como etiquetas de sessão:

<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName"> <AttributeValue>Saanvi Sarkar</AttributeValue></Attribute><Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress"> <AttributeValue>[email protected]</AttributeValue></Attribute>

Para mais informações, consulte As Etiquetas de Passagem de Sessão utilizam assumeramosaml.

Pode utilizar o AssumeRoleWithIdentity para devolver um conjunto de credenciais temporáriasque incluem displayName e emailAddress etiquetas. Pode utilizar estas etiquetas quando acederCodeCommit repositórios. Para passar tags de sessão do OpenID Connect (OIDC), é necessário incluir astags de sessão no JSON Web Token (JWT). Por exemplo, o token JWP descodificado utilizado para ligarAssumeRoleWithWebIdentity que inclui o displayName e emailAddress etiquetas de sessão paraum utilizador nomeado Li Juan:

{ "sub": "lijuan", "aud": "ac_oic_client", "jti": "ZYUCeREXAMPLE", "iss": "https://xyz.com", "iat": 1566583294, "exp": 1566583354, "auth_time": 1566583292, "https://aws.amazon.com/tags": { "principal_tags": { "displayName": ["Li Juan"], "emailAddress": ["[email protected]"], }, "transitive_tag_keys": [ "displayName", "emailAddress" ] }}

Para mais informações, consulte A passagem de etiquetas de sessão utilizando assumerolewithwelicentity.

Pode utilizar o GetFederationToken para devolver um conjunto de credenciais temporárias que incluemdisplayName e emailAddress etiquetas. Pode utilizar estas etiquetas quando aceder CodeCommitrepositórios. Por exemplo, para utilizar o AWS CLI para obter um token da federação que inclui odisplayName e emailAddress etiquetas:

aws sts get-federation-token \--name my-federated-user \–-tags key=displayName,value="Nikhil Jayashankar" key=emailAddress,[email protected]

Para mais informações, consulte Enviar etiquetas de sessão utilizando o getfederationtoken.

Versão da API 2015-04-13354

Page 364: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCodeCommit IAM funções

CodeCommit IAM funçõesUm IAM função é uma entidade no seu AWS conta com permissões específicas.

Usar credenciais temporárias com o CodeCommitVocê pode usar credenciais temporárias para fazer login com federação, assumir uma função do IAMou assumir uma função entre contas. Obtém credenciais de segurança temporárias ligando AWS STSOperações API como permerole ou getfederationtoken.

CodeCommitO oferece suporte ao uso de credenciais temporárias. Para obter mais informações, consulteA ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301).

Funções vinculadas ao serviçoFunções ligadas ao serviço permitir AWS serviços para aceder a recursos noutros serviços para concluiruma acção em seu nome. As funções vinculadas ao serviço aparecem em sua conta do IAM e são depropriedade do serviço. Um administrador do IAM pode visualizar, mas não pode editar as permissõespara funções vinculadas ao serviço.

CodeCommitO não usa funções vinculadas ao serviço.

Funções de serviçoEsta funcionalidade permite que um serviço assuma uma função de serviço em seu nome. A funçãopermite que o serviço acesse recursos em outros serviços para concluir uma ação em seu nome. Asfunções de serviço aparecem em sua conta do IAM e são de propriedade da conta. Isso significa queum administrador do IAM pode alterar as permissões para essa função. Porém, fazer isso pode alterar afuncionalidade do serviço.

CodeCommitO não usa funções de serviço.

AWS CodeCommitExemplos de políticas baseadasem identidade doPor predefinição, IAM utilizadores e funções não têm permissão para criar ou modificar CodeCommitrecursos. Também não conseguem realizar tarefas utilizando o Console de gerenciamento da AWS,AWS CLI, ou AWS API. Um IAM o administrador deve criar IAM políticas que concedem aos utilizadorese funções permissão para realizar operações específicas da API sobre os recursos específicos de quenecessitam. O administrador deve anexar essas políticas aos usuários ou grupos do IAM que exigemessas permissões.

Para obter exemplos de políticas, consulte:

• Exemplo: = 1. Permitir que um utilizador realize CodeCommit operações numa única regiãoAWS (p. 330)

• Exemplo: = 2. Permitir que um utilizador utilize Git para um único repositório (p. 330)• Exemplo 3 Permitir que um utilizador ligue a partir de um intervalo de endereços IP especificado acesso

a um repositório (p. 331)• Exemplo 4 Rejeitar ou permitir acções nas filiais (p. 332)• Exemplo: = 5 Recusar ou permitir ações em repositórios com etiquetas (p. 333)• Configurar o acesso entre contas cruzadas a um AWS CodeCommit repositório utilizando

funções (p. 142)

Versão da API 2015-04-13355

Page 365: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioExemplos de políticas baseadas em identidade

Para aprender a criar um IAM política baseada na identidade utilizando estes exemplos de documentos dapolítica JSON, consulte Criar políticas no separador JSON no Guia do usuário do IAM.

Tópicos• Melhores práticas de políticas (p. 356)• Utilizar o CodeCommit consola (p. 356)• Permitir que os usuários visualizem suas próprias permissões (p. 357)• Visualização do CodeCommit repositories com base em etiquetas (p. 357)

Melhores práticas de políticasAs políticas baseadas em identidade são muito eficientes. Elas determinam se alguém pode criar, acessarou excluir recursos do CodeCommit em sua conta. Essas ações podem incorrer em custos para sua contada AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:

• Comece usando políticas gerenciadas pela AWS – para começar a usar o CodeCommit rapidamente,use as políticas gerenciadas pela AWS para conceder a seus funcionários as permissões de queprecisam. Essas políticas já estão disponíveis em sua conta e são mantidas e atualizadas pelaAWS. Para obter mais informações, consulte Conceitos básicos do uso de permissões com políticasgerenciadas pela AWS no Guia do usuário do IAM.

• Conceder privilégio mínimo – ao criar políticas personalizadas, conceda apenas as permissõesnecessárias para executar uma tarefa. Comece com um conjunto mínimo de permissões e concedapermissões adicionais conforme necessário. Fazer isso é mais seguro do que começar com permissõesque são muito lenientes e tentar restringi-las posteriormente. Para obter mais informações, consulteConceder privilégio mínimo, no Guia do usuário do IAM.

• Habilitar o MFA para operações confidenciais – para segurança adicional, exija que os usuários do IAMusem a autenticação multifator (MFA) para acessar recursos ou operações de API confidenciais. Paraobter mais informações, consulte Usar a autenticação multifator (MFA) na AWS no Guia do usuário doIAM.

• Usar condições de política para segurança adicional – na medida do possível, defina as condições sobas quais suas políticas baseadas em identidade permitem o acesso a um recurso. Por exemplo, vocêpode gravar condições para especificar um intervalo de endereços IP permitidos do qual a solicitaçãodeve partir. Você também pode escrever condições para permitir somente solicitações em uma dataespecificada ou período ou para exigir o uso de SSL ou MFA. Para obter mais informações, consulteElementos da política JSON do IAM: condição no Guia do usuário do IAM.

Utilizar o CodeCommit consolaPara acessar o console do AWS CodeCommit, é necessário ter um conjunto mínimo de permissões. Estaspermissões devem permitir-lhe listar e ver detalhes sobre o CodeCommit recursos no seu AWS conta.Se você criar uma política baseada em identidade que seja mais restritiva que as permissões mínimasnecessárias, o console não funcionará como pretendido para entidades (usuários ou funções do IAM) comessa política.

Para garantir que essas entidades ainda podem utilizar o CodeCommit consola, também anexe o seguinteAWS política gerida às entidades. Para mais informações, consulte Adicionar permissões a um utilizadorno Guia do usuário do IAM:

Para obter mais informações, consulte Utilizar políticas baseadas em identidade (IAM Políticas) paraCodeCommit (p. 315).

Não precisa de permitir permissões mínimas da consola para utilizadores que estão a efectuar chamadasapenas para o AWS CLI ou o AWS API. Em vez disso, permita o acesso somente às ações quecorrespondem à operação da API que você está tentando executar.

Versão da API 2015-04-13356

Page 366: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioSolução de problemas

Permitir que os usuários visualizem suas próprias permissõesEste exemplo mostra como você pode criar uma política que permite que os usuários do IAM visualizemas políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissõespara concluir essa ação no console ou de forma programática usando a AWS CLI ou a API da AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ]}

Visualização do CodeCommit repositories com base emetiquetasVocê pode usar condições em sua política baseada em identidade para controlar o acesso aos recursosdo CodeCommit com base em tags. Para obter um exemplo de política que demonstra como fazer isso,consulte Exemplo: = 5 Recusar ou permitir ações em repositórios com etiquetas (p. 333).

Para mais informações, consulte IAM Elementos da política JSON: Condição no Guia do usuário do IAM.

Resolução de problemas AWS CodeCommitidentidade e acessoUse as seguintes informações para ajudar a diagnosticar e corrigir problemas comuns que podem serencontrados ao trabalhar com o CodeCommit e o ()IAM.

Tópicos• Não tenho autorização para executar uma ação no CodeCommit (p. 358)• Não estou autorizado a executar iam:PassRole (p. 358)

Versão da API 2015-04-13357

Page 367: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioSolução de problemas

• Quero visualizar minhas chaves de acesso (p. 358)• Sou administrador e desejo conceder acesso ao a outros usuáriosCodeCommit (p. 359)• Quero permitir que pessoas fora do meu AWS conta para aceder ao meu CodeCommit

recursos (p. 359)

Não tenho autorização para executar uma ação no CodeCommitSe o Console de gerenciamento da AWS informar que você não está autorizado a executar uma ação,você deverá entrar em contato com o administrador para obter assistência. O administrador é a pessoaque forneceu a você o seu nome de usuário e senha.

Para obter mais informações, consulte Permissões necessárias para utilizar o CodeCommitconsola (p. 316)

Não estou autorizado a executar iam:PassRoleSe você receber uma mensagem de erro informando que você não está autorizado a executar a açãoiam:PassRole, entre em contato com o administrador para obter assistência. O administrador é a pessoaque forneceu a você o seu nome de usuário e senha. Peça a essa pessoa para atualizar suas políticaspara permitir que você passe uma função para o CodeCommit.

Alguns serviços da AWS permitem que você passe uma função existente para o serviço, em vez decriar uma nova função de serviço ou função vinculada ao serviço. Para fazer isso, um usuário deve terpermissões para passar a função para o serviço.

O erro de exemplo a seguir ocorre quando uma usuária do IAM chamada marymajor tenta usar o consolepara executar uma ação no CodeCommit. No entanto, a ação exige que o serviço tenha permissõesconcedidas por uma função de serviço. Mary não tem permissões para passar a função para o serviço.

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

Neste caso, Mary pede ao administrador para atualizar suas políticas para permitir que ela execute a açãoiam:PassRole.

Quero visualizar minhas chaves de acessoDepois de criar suas chaves de acesso de usuário do IAM, é possível visualizar seu ID de chave de acessoa qualquer momento. No entanto, você não pode visualizar sua chave de acesso secreta novamente. Sevocê perder sua chave secreta, crie um novo par de chaves de acesso.

As chaves de acesso consistem em duas partes: um ID de chave de acesso (por exemplo,AKIAIOSFODNN7EXAMPLE) e uma chave de acesso secreta (por exemplo, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). Como um nome de usuário e uma senha, você deve usar o ID da chave deacesso e a chave de acesso secreta em conjunto para autenticar suas solicitações. Gerencie suas chavesde acesso de forma tão segura quanto você gerencia seu nome de usuário e sua senha.

Important

Não forneça as chaves de acesso a terceiros, mesmo que seja para ajudar a encontrar seu ID deusuário canônico. Ao fazer isso, você pode dar a alguém acesso permanente à sua conta.

Ao criar um par de chaves de acesso, você é solicitado a guardar o ID da chave de acesso e a chave deacesso secreta em um local seguro. A chave de acesso secreta só está disponível no momento em que écriada. Se você perder sua chave de acesso secreta, você deverá adicionar novas chaves de acesso paraseu usuário do IAM. Você pode ter no máximo duas chaves de acesso. Se você já tiver duas, você deverá

Versão da API 2015-04-13358

Page 368: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResiliência

excluir um par de chaves para poder criar um novo. Para visualizar as instruções, consulte Gerenciarchaves de acesso no Guia do usuário do IAM.

Sou administrador e desejo conceder acesso ao a outrosusuáriosCodeCommitPara permitir que outros usuários acessem o CodeCommit, é necessário criar uma entidade do IAM(usuário ou função) para a pessoa ou o aplicativo que precisa do acesso. Eles usarão as credenciaisdessa entidade para acessar a AWS. Você deve anexar uma política à entidade que concede a eles aspermissões corretas no CodeCommit.

Para começar a usar imediatamente, consulte Criar os primeiros usuário e grupo delegados do IAM noGuia do usuário do IAM.

Quero permitir que pessoas fora do meu AWS conta para acederao meu CodeCommit recursosPara obter mais informações, consulte Configurar o acesso entre contas cruzadas a um AWS CodeCommitrepositório utilizando funções (p. 142).

Resiliência no AWS CodeCommitO AWS a infra-estrutura global é construída AWS Regiões e zonas de disponibilidade. AWS As regiõesfornecem várias zonas de disponibilidade separadas e fisicamente separadas, que estão ligadas combaixa latência, alta produtividade e rede altamente redundante. Com as zonas de disponibilidade, vocêpode projetar e operar aplicativos e bancos de dados que automaticamente executam o failover entre aszonas sem interrupção. As zonas de disponibilidade são mais altamente disponíveis, tolerantes a falhas eescaláveis que uma ou várias infraestruturas de data center tradicionais.

Para mais informações sobre AWS Regiões e zonas de disponibilidade, consulte AWS Infraestruturaglobal.

Segurança da infraestrutura no AWS CodeCommitComo serviço gerido, AWS CodeCommit está protegido pelo AWS procedimentos de segurança da redeglobal descritos no Amazon Web Services: Visão geral dos processos de segurança livro branco.

Utiliza AWS chamadas API publicadas para aceder CodeCommit através da rede. Os clientes devemoferecer suporte a Transport Layer Security (TLS) 1.0 ou posterior. Recomendamos TLS 1.2 ou posterior.Os clientes também devem oferecer suporte a pacotes de criptografia com Perfect Forward Secrecy (PFS— Sigilo de encaminhamento perfeito), como Ephemeral Diffie-Hellman (DHE) ou Ephemeral Elliptic CurveDiffie-Hellman (ECDHE). A maioria dos sistemas modernos como Java 7 e versões posteriores oferecesuporte a esses modos.

Os pedidos devem ser assinados utilizando uma ID chave de acesso e uma chave de acesso secretaassociada a um IAM principal. Ou pode utilizar o AWS Security Token Service (AWS STS) para gerarcredenciais de segurança temporárias para assinar pedidos.

É possível chamar essas operações de API de qualquer local de rede, mas o CodeCommit oferecesuporte a restrições com base no endereço IP de origem. Também é possível usar políticas específicas doCodeCommit para controlar o acesso de VPCs ou Amazon Virtual Private Cloud (Amazon VPC) endpointsespecíficos. Efetivamente, este isole o acesso à rede a um dado CodeCommit recurso a partir de apenas oVPC específico no AWS rede.

Versão da API 2015-04-13359

Page 369: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioSegurança da infraestrutura

Para obter mais informações, consulte o seguinte: .

• Exemplo: = 1. Permitir que um utilizador realize CodeCommit operações numa única regiãoAWS (p. 330)

• Exemplo 3 Permitir que um utilizador ligue a partir de um intervalo de endereços IP especificado acessoa um repositório (p. 331)

• Utilizar AWS CodeCommit com terminais VPC de interface (p. 415)

Versão da API 2015-04-13360

Page 370: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioMonitorização CodeCommit eventos

Monitorar o AWS CodeCommitO monitoramento é uma parte importante da manutenção da confiabilidade, da disponibilidade e dodesempenho do CodeCommit e de outras soluções da AWS. A AWS fornece as seguintes ferramentas demonitoramento para assistir o CodeCommit, informar quando algo está errado e realizar ações automáticasquando apropriado:

• Amazon EventBridge pode ser utilizado para automatizar o seu AWS e responder automaticamente aeventos do sistema, tais como problemas de disponibilidade de aplicações ou alterações de recursos.Eventos de AWS serviços são entregues a EventBridge quase em tempo real. Você pode escreverregras simples para indicar quais eventos são do seu interesse, e as ações automatizadas a seremtomadas quando um evento corresponder à regra. Para mais informações, consulte Guia do usuáriodo Amazon EventBridge e Monitorização CodeCommit eventos em Amazon EventBridge e Eventos doAmazon CloudWatch (p. 361).

• Eventos do Amazon CloudWatch fornece um fluxo quase em tempo real de eventos do sistema quedescrevam alterações em AWS recursos. Eventos do CloudWatch activa a computação automatizadabaseada em eventos, uma vez que pode escrever regras que assistem para determinados eventose desencadeiam ações automatizadas noutro AWS quando estes eventos ocorrem. Para obter maisinformações, consulte o Guia do usuário do Eventos do Amazon CloudWatch e o MonitorizaçãoCodeCommit eventos em Amazon EventBridge e Eventos do Amazon CloudWatch (p. 361).

• Amazon CloudWatch Logs pode ser utilizado para monitorizar, armazenar e aceder aos seus ficheiros deregisto de CloudTrail e outras fontes. CloudWatch Logs pode monitorizar informações nos ficheiros deregisto e notificá-lo quando determinados limiares forem cumpridos. Você também pode arquivar seusdados de log em armazenamento resiliente. Para obter mais informações, consulte Amazon CloudWatchLogs User Guide.

• AWS CloudTrail capta chamadas API e eventos relacionados feitos por ou em nome do seu AWS eentrega os ficheiros de registo a um Amazon S3 o que especificar. Você pode identificar quais usuáriose contas chamaram a AWS, o endereço IP de origem do qual as chamadas foram feitas e quando elasocorreram. Para obter mais informações, consulte o AWS CloudTrail User Guide e o Iniciar sessão AWSCodeCommit Chamadas API com AWS CloudTrail (p. 380).

Monitorização CodeCommit eventos em AmazonEventBridge e Eventos do Amazon CloudWatch

Pode monitorizar AWS CodeCommit eventos em EventBridge, que fornece um fluxo de dados emtempo real das suas próprias aplicações, aplicações de software como serviço (saas), e AWS serviços.EventBridge encaminha esses dados para alvos como AWS Lambda e Amazon Simple NotificationService. Estes eventos são os mesmos que aparecem na Eventos do Amazon CloudWatch, que forneceum fluxo quase em tempo real de eventos do sistema que descrevem alterações em AWS recursos.

Os exemplos a seguir mostram eventos para o CodeCommit.

Note

CodeCommit apoia o fornecimento displayName e emailAddress informações incluídas nasetiquetas de sessão em eventos, se essa informação estiver disponível. Para mais informações,consulte Etiquetas de sessão e Utilizar etiquetas para fornecer informações de identidade emCodeCommit (p. 353).

Tópicos

Versão da API 2015-04-13361

Page 371: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioevento referenceCreated

• evento referenceCreated (p. 362)• evento referenceUpdated (p. 363)• evento referenceDeleted (p. 363)• evento unreferencedMergeCommitCreated (p. 364)• evento commentOnCommitCreated (p. 364)• evento commentOnCommitUpdated (p. 365)• evento commentOnPullRequestCreated (p. 365)• evento commentOnPullRequestUpdated (p. 366)• evento pullRequestCreated (p. 367)• evento pullRequestSourceBranchUpdated (p. 367)• evento pullRequestStatusChanged (p. 368)• evento pullRequestMergeStatusUpdated (p. 369)• Evento approvalRuleTemplateCreated (p. 369)• Evento approvalRuleTemplateUpdated (p. 370)• Evento approvalRuleTemplateDeleted (p. 370)• Evento approvalRuleTemplateAssociatedWithRepository (p. 371)• Evento approvalRuleTemplateDisassociatedWithRepository (p. 372)• Evento approvalRuleTemplateBatchAssociatedWithRepositories (p. 372)• Evento approvalRuleTemplateBatchDisassociatedFromRepositories (p. 373)• Evento pullRequestApprovalRuleCreated (p. 373)• Evento pullRequestApprovalRuleDeleted (p. 374)• Evento pullRequestApprovalRuleOverridden (p. 375)• Evento pullRequestApprovalStateChanged (p. 376)• Evento pullRequestApprovalRuleUpdated (p. 378)• reactioncriado evento (p. 379)• reactionatualizado evento (p. 379)

evento referenceCreatedNeste exemplo de evento, uma ramificação chamada myBranch foi criada em um repositório chamadaMyDemoRepo.

{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodeCommit Repository State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "event": "referenceCreated", "repositoryName": "MyDemoRepo", "repositoryId": "12345678-1234-5678-abcd-12345678abcd", "referenceType": "branch", "referenceName": "myBranch", "referenceFullName": "refs/heads/myBranch", "commitId": "3e5983DESTINATION" }

Versão da API 2015-04-13362

Page 372: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioevento referenceUpdated

}

evento referenceUpdatedNeste exemplo de evento, uma ramificação chamada myBranch foi atualizada por uma mesclagem em umrepositório chamado MyDemoRepo.

{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodeCommit Repository State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "event": "referenceUpdated", "repositoryName": "MyDemoRepo", "repositoryId": "12345678-1234-5678-abcd-12345678abcd", "referenceType": "branch", "referenceName": "myBranch", "referenceFullName": "refs/heads/myBranch", "commitId": "7f0103fMERGE", "oldCommitId": "3e5983DESTINATION", "baseCommitId": "3e5a9bf1BASE", "sourceCommitId": "26a8f2SOURCE", "destinationCommitId": "3e5983DESTINATION", "mergeOption": "THREE_WAY_MERGE", "conflictDetailsLevel": "LINE_LEVEL", "conflictResolutionStrategy": "AUTOMERGE" }}

evento referenceDeletedNeste exemplo de evento, uma ramificação chamada myBranch foi excluída em um repositório chamadoMyDemoRepo.

{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodeCommit Repository State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "event": "referenceDeleted", "repositoryName": "MyDemoRepo", "repositoryId": "12345678-1234-5678-abcd-12345678abcd", "referenceType": "branch", "referenceName": "myBranch", "referenceFullName": "refs/heads/myBranch", "oldCommitId": "26a8f2EXAMPLE" }

Versão da API 2015-04-13363

Page 373: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioevento unreferencedMergeCommitCreated

}

evento unreferencedMergeCommitCreatedNeste exemplo de evento, uma confirmação de mesclagem não referenciada foi criada em um repositóriochamado MyDemoRepo.

{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodeCommit Repository State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "event": "unreferencedMergeCommitCreated", "repositoryName": "MyDemoRepo", "repositoryId": "12345678-1234-5678-abcd-12345678abcd", "commitId": "7f0103fMERGE", "baseCommitId": "3e5a9bf1BASE", "sourceCommitId": "26a8f2SOURCE", "destinationCommitId": "3e5983DESTINATION", "mergeOption": "SQUASH_MERGE", "conflictDetailsLevel": "LINE_LEVEL", "conflictResolutionStrategy": "AUTOMERGE" }}

evento commentOnCommitCreatedNeste exemplo de evento, um usuário federado chamado Mary_Major comentou em uma confirmação.Neste exemplo, o seu fornecedor de identidade federado definiu etiquetas de sessão para displayName eemailAddress. Essa informação está incluída no evento.

{ "version": "0", "id": "e9dce2e9-EXAMPLE", "detail-type": "CodeCommit Comment on Commit", "source": "aws.codecommit", "account": "123456789012", "time": "2019-09-29T20:20:39Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "beforeCommitId": "3c5dEXAMPLE", "repositoryId": "7dd1EXAMPLE...", "inReplyTo": "695bEXAMPLE...", "notificationBody": "A comment event occurred in the following repository: MyDemoRepo. The display name for the user is Mary Major. The email address for the user is [email protected]. The user arn:aws:sts::123456789012:federated-user/Mary_Major made a comment. The comment was made on the following comment ID: 463bEXAMPLE.... For more information, go to the AWS CodeCommit console at https://us-east-2.console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MyDemoRepo/compare/3c5dEXAMPLE...f4d5EXAMPLE#463bEXAMPLE....", "commentId": "463bEXAMPLE...",

Versão da API 2015-04-13364

Page 374: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioevento commentOnCommitUpdated

"afterCommitId": "f4d5EXAMPLE", "event": "commentOnCommitCreated", "repositoryName": "MyDemoRepo", "callerUserArn": "arn:aws:sts::123456789012:federated-user/Mary_Major", "displayName": "Mary Major", "emailAddress": "[email protected]" }}

evento commentOnCommitUpdatedNeste exemplo, um utilizador que assumiu uma função nomeada Admin com um nome de sessão deMary_Major foi editado um comentário num compromisso. Neste exemplo, a função incluiu etiquetas desessão configuradas para displayName e emailAddress. Essa informação está incluída no evento.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Comment on Commit", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "afterCommitId": "53812581", "beforeCommitId": "03314446", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "commentId": "a7e5471e-EXAMPLE", "event": "commentOnCommitUpdated", "inReplyTo": "bdb07d47-EXAMPLE", "notificationBody": "A comment event occurred in the following AWS CodeCommit repository: MyDemoRepo. The display name for the user is Mary Major. The email address for the user is [email protected]. The user arn:aws:sts::123456789012:federated-user/Mary_Major updated a comment or replied to a comment. The comment was made on the following comment ID: bdb07d47-6fe9-47b0-a839-b93cc743b2ac:468cd1cb-2dfb-4f68-9636-8de52431d1d6. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/compare/0331444646178429589969823096709582251768/.../5381258150293783361471680277136017291382?region\u003dus-east-2", "repositoryId": "12345678-1234-1234-1234-123456789012", "repositoryName": "MyDemoRepo", "displayName": "Mary Major", "emailAddress": "[email protected]" }}

evento commentOnPullRequestCreatedNeste exemplo de evento, um usuário federado chamado Saanvi_Sarkar comentou em umasolicitação pull. Neste exemplo, o seu fornecedor de identidade federado definiu etiquetas de sessão paradisplayName e emailAddress. Essa informação está incluída no evento.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Comment on Pull Request", "source": "aws.codecommit",

Versão da API 2015-04-13365

Page 375: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioevento commentOnPullRequestUpdated

"account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "beforeCommitId": "3c5dEXAMPLE", "repositoryId": "7dd1EXAMPLE...", "inReplyTo": "695bEXAMPLE...", "notificationBody": "A comment event occurred in the following AWS CodeCommit repository: MyDemoRepo. The display name for the user is Saanvi Sarkar. The email address for the user is [email protected]. The user arn:aws:sts::123456789012:federated-user/Saanvi_Sarkar made a comment. The comment was made on the following Pull Request: 201. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MyDemoRepo/pull-request/201/activity#3276EXAMPLE...", "commentId": "463bEXAMPLE...", "afterCommitId": "f4d5EXAMPLE", "event": "commentOnPullRequestCreated", "repositoryName": "MyDemoRepo", "callerUserArn": "arn:aws:sts::123456789012:federated-user/Saanvi_Sarkar", "pullRequestId": "201", "displayName": "Saanvi Sarkar", "emailAddress": "[email protected]" }}

evento commentOnPullRequestUpdatedNeste exemplo de evento, um usuário federado chamado Saanvi_Sarkar editou um comentário em umasolicitação pull. Neste exemplo, o seu fornecedor de identidade federado definiu etiquetas de sessão paradisplayName e emailAddress. Essa informação está incluída no evento.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Comment on Pull Request", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "afterCommitId": "96814774EXAMPLE", "beforeCommitId": "6031971EXAMPLE", "callerUserArn": "arn:aws:sts::123456789012:federated-user/Saanvi_Sarkar", "commentId": "40cb52f0-EXAMPLE", "event": "commentOnPullRequestUpdated", "inReplyTo": "1285e713-EXAMPLE", "notificationBody": "A comment event occurred in the following AWS CodeCommit repository: MyDemoRepo. The display name for the user is Saanvi Sarkar. The email address for the user is [email protected]. The user arn:aws:sts::123456789012:federated-user/Saanvi_Sarkar updated a comment or replied to a comment. The comment was made on the following Pull Request: 1. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1/activity#40cb52f0-aac7-4c43-b771-601eff02EXAMPLE", "pullRequestId": "1", "repositoryId": "12345678-1234-1234-1234-123456789012", "repositoryName": "MyDemoRepo" }

Versão da API 2015-04-13366

Page 376: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioevento pullRequestCreated

}

evento pullRequestCreatedNeste exemplo, foi criado um pedido de pull-pull num repositório nomeado MyDemoRepo por um utilizadorque assumiu uma função nomeada Admin com um nome de sessão de Mary_Major. Não foramfornecidas informações de etiqueta de sessão, para que a informação não esteja incluída no evento.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "creationDate": "Tue Feb 9 2019 10:18:42 PDT ", "description": "An example description.", "destinationCommit": "12241970EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestCreated", "isMerged": "False", "lastModifiedDate": "Tue Feb 9 2019 10:18:42 PDT", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major. Event: Created. The pull request was created with the following information: Pull Request ID as 1 and title as My Example Pull Request. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1", "pullRequestId": "1", "pullRequestStatus": "Open", "repositoryNames": ["MyDemoRepo"], "revisionId": "bdc0cb9bEXAMPLE", "sourceCommit": "2774290EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My Example Pull Request" }}

evento pullRequestSourceBranchUpdatedNeste exemplo, um utilizador que assumiu uma função nomeada Admin com um nome de sessão deMary_Major atualizada a agência de origem designada test-branch para um pedido de puxar com a IDde 1.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [

Versão da API 2015-04-13367

Page 377: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioevento pullRequestStatusChanged

"arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "creationDate": "Tue Feb 9 2019 10:18:42 PDT", "description": "An example description.", "destinationCommit": "7644990EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestSourceBranchUpdated", "isMerged": "False", "lastModifiedDate": "Tue Feb 9 2019 10:18:42 PDT", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major. Event: Updated. The user updated the following pull request: 1. The pull request was updated with one or more commits to the source branch: test-branch. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1?region\u003dus-east-2", "pullRequestId": "1", "pullRequestStatus": "Open", "repositoryNames": ["MyDemoRepo"], "revisionId": "bdc0cb9b4EXAMPLE", "sourceCommit": "64875001EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My Example Pull Request" }}

evento pullRequestStatusChangedNeste exemplo, um utilizador que assumiu uma função nomeada Admin com um nome de sessão deMary_Major fechar um pedido de pull com a ID de 1. A solicitação pull não foi mesclada.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "creationDate": "Tue Jun 18 10:34:20 PDT 2019", "description": "An example description.", "destinationCommit": "95149731EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestStatusChanged", "isMerged": "False", "lastModifiedDate": "Tue Jun 18 10:34:20 PDT 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major updated the following PullRequest 1. The pull request status has been updated. The status is closed. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1?region\u003dus-east-2", "pullRequestId": "1", "pullRequestStatus": "Closed", "repositoryNames": ["MyDemoRepo"],

Versão da API 2015-04-13368

Page 378: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioevento pullRequestMergeStatusUpdated

"revisionId": "bdc0cb9bEXAMPLE", "sourceCommit": "4409936EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My Example Pull Request" }}

evento pullRequestMergeStatusUpdatedNeste exemplo, um utilizador que assumiu uma função nomeada Admin com um nome de sessão deMary_Major diu um pedido pull com a ID de 1.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "CodeCommit PullRequest State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "creationDate": "Mon Mar 11 14:42:31 PDT 2019", "description": "An example description.", "destinationCommit": "4376719EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestMergeStatusUpdated", "isMerged": "True", "lastModifiedDate": "Mon Mar 11 14:42:31 PDT 2019", "mergeOption": "FAST_FORWARD_MERGE", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major updated the following PullRequest 1. The pull request merge status has been updated. The status is merged. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1?region\u003dus-east-2", "pullRequestId": "1", "pullRequestStatus": "Closed", "repositoryNames": ["MyDemoRepo"], "revisionId": "bdc0cb9beEXAMPLE", "sourceCommit": "0701696EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My Example Pull Request" }}

Evento approvalRuleTemplateCreatedNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major criou um modelo de regrade aprovação nomeado 2-approvers-required-for-master.

{ "version": "0", "id": "f7702227-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012",

Versão da API 2015-04-13369

Page 379: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento approvalRuleTemplateUpdated

"time": "2019-11-06T19:02:27Z", "region": "us-east-2", "resources": [], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "d7385967-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:02:14 UTC 2019", "event": "approvalRuleTemplateCreated", "lastModifiedDate": "Wed Nov 06 19:02:14 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user/Mary_Major. Additional information: An approval rule template with the following name has been created: 2-approvers-required-for-master. The ID of the created template is: d7385967-EXAMPLE. For more information, go to the AWS CodeCommit console.", "repositories": {} }}

Evento approvalRuleTemplateUpdatedNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major foi editado um modelo deregra de aprovação nomeado 2-approvers-required-for-master. O modelo da regra de aprovaçãonão está associado a quaisquer repositórios.

{ "version": "0", "id": "66403118-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-12T23:03:30Z", "region": "us-east-2", "resources": [ ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "c9d2b844-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user\Mary_Major", "creationDate": "Tue Nov 12 23:03:06 UTC 2019", "event": "approvalRuleTemplateDeleted", "lastModifiedDate": "Tue Nov 12 23:03:20 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user\Mary_Major. Additional information: An approval rule template with the following name has been deleted: 2-approvers-required-for-master. The ID of the updated template is: c9d2b844-EXAMPLE. For more information, go to the AWS CodeCommit console.", "repositories": {} }}

Evento approvalRuleTemplateDeletedNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major eliminou um modelo deregra de aprovação nomeado 2-approvers-required-for-master. O modelo da regra de aprovaçãonão está associado a quaisquer repositórios.

{

Versão da API 2015-04-13370

Page 380: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento approvalRuleTemplateAssociatedWithRepository

"version": "0", "id": "66403118-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-12T23:03:30Z", "region": "us-east-2", "resources": [], "detail": { "approvalRuleTemplateContentSha256": "4f3de6632EXAMPLE", "approvalRuleTemplateId": "c9d2b844-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user\Mary_Major", "creationDate": "Tue Nov 12 23:03:06 UTC 2019", "event": "approvalRuleTemplateUpdated", "lastModifiedDate": "Tue Nov 12 23:03:20 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user\Mary_Major. Additional information: An approval rule template with the following name has been updated: 2-approvers-required-for-master. The ID of the updated template is: c9d2b844-EXAMPLE. The after rule template content SHA256 is 4f3de663EXAMPLE. For more information, go to the AWS CodeCommit console.", "repositories": {} }}

EventoapprovalRuleTemplateAssociatedWithRepositoryNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major associado um modelo deregra de aprovação nomeado 2-approvers-required-for-master com um repositório nomeadoMyDemoRepo.

{ "version": "0", "id": "bef3a385-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:02:27Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "d7385967-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:02:14 UTC 2019", "event": "approvalRuleTemplateAssociatedWithRepository", "lastModifiedDate": "Wed Nov 06 19:02:14 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user\Mary_Major. Additional information: An approval rule template has been associated with the following repository: [MyDemoRepo]. For more information, go to the AWS CodeCommit console.", "repositories": { "MyDemoRepo": "12345678-1234-5678-abcd-12345678abcd" } }}

Versão da API 2015-04-13371

Page 381: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento approvalRuleTemplateDisassociatedWithRepository

EventoapprovalRuleTemplateDisassociatedWithRepositoryNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major desassociar um modelode regra de aprovação nomeado 2-approvers-required-for-master de um repositório nomeadoMyDemoRepo.

{ "version": "0", "id": "ea1c6d73-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:02:27Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "d7385967-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:02:14 UTC 2019", "event": "approvalRuleTemplateDisassociatedFromRepository", "lastModifiedDate": "Wed Nov 06 19:02:14 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user/Mary_Major. Additional information: An approval rule template has been disassociated from the following repository: [MyDemoRepo]. For more information, go to the AWS CodeCommit console.", "repositories": { "MyDemoRepo": "92ca7bf2-d878-49ed-a994-336a6cc7c574" } }}

EventoapprovalRuleTemplateBatchAssociatedWithRepositoriesNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major um modelo de regra deaprovação associado ao lote designado 2-approvers-required-for-master com um repositórionomeado MyDemoRepo e um repositório nomeado MyTestRepo.

{ "version": "0", "id": "0f861e5b-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-12T23:39:09Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "c71c1fe0-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master",

Versão da API 2015-04-13372

Page 382: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento

approvalRuleTemplateBatchDisassociatedFromRepositories

"callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Tue Nov 12 23:38:57 UTC 2019", "event": "batchAssociateApprovalRuleTemplateWithRepositories", "lastModifiedDate": "Tue Nov 12 23:38:57 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user\Mary_Major. Additional information: An approval rule template has been batch associated with the following repository names: [MyDemoRepo, MyTestRepo]. For more information, go to the AWS CodeCommit console.", "repositories": { "MyDemoRepo", "MyTestRepo" } }}

EventoapprovalRuleTemplateBatchDisassociatedFromRepositoriesNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major o modelo de regra deaprovação de um lote desassociado 2-approvers-required-for-master de um repositório nomeadoMyDemoRepo e um repositório nomeado MyTestRepo.

{ "version": "0", "id": "e08fc996-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-12T23:39:09Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "c71c1fe0-ff91-4db4-9a45-a86a7b6c474f", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Tue Nov 12 23:38:57 UTC 2019", "event": "batchDisassociateApprovalRuleTemplateFromRepositories", "lastModifiedDate": "Tue Nov 12 23:38:57 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user/Mary_Major. Additional information: An approval rule template has been batch disassociated from the following repository names: [MyDemoRepo, MyTestRepo]. For more information, go to the AWS CodeCommit console.", "repositories": { "MyDemoRepo": "MyTestRepo" } }}

Evento pullRequestApprovalRuleCreatedNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major criou uma regra deaprovação nomeada 1-approver-needed para um pedido de puxar com a ID de 227.

{

Versão da API 2015-04-13373

Page 383: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento pullRequestApprovalRuleDeleted

"version": "0", "id": "ad860f12-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleContentSha256": "f742eebbEXAMPLE", "approvalRuleId": "0a9b5dfc-EXAMPLE", "approvalRuleName": "1-approver-needed", "author": "arn:aws:iam::123456789012:user/Mary_Major", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleCreated", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request: 227. Additional information: An approval rule has been created with the following name: 1-approver-needed. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecab3EXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Evento pullRequestApprovalRuleDeletedNeste exemplo, um utilizador com um IAM nome do utilizador de Mary_Major eliminou uma regra deaprovação nomeada 1-approver-needed para um pedido de puxar com a ID de 227. Um IAM utilizadorcom o nome Saanvi_Sarkar originalmente, a regra de aprovação.

{ "version": "0", "id": "c1c3509d-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleContentSha256": "f742eebbEXAMPLE", "approvalRuleId": "0a9b5dfc-EXAMPLE", "approvalRuleName": "1-approver-needed", "author": "arn:aws:iam::123456789012:user/Saanvi_Sarkar",

Versão da API 2015-04-13374

Page 384: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento pullRequestApprovalRuleOverridden

"callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleDeleted", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Created. Pull request: 227. Additional information: An approval rule has been deleted: 1-approver-needed was deleted. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Evento pullRequestApprovalRuleOverriddenNeste exemplo, os requisitos da regra de aprovação para um pedido de puxar foram colocados de lado(OVERRIDE) por um utilizador com um IAM nome do utilizador de Mary_Major. O pedido de extração foiautor de um utilizador com um IAM nome do utilizador de Li_Juan.

{ "version": "0", "id": "52d2cb73-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:iam::123456789012:user/Li_Juan", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleOverridden", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. Additional information: An override event has occurred for the approval rules for this pull request. Override status: OVERRIDE. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "overrideStatus": "OVERRIDE", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [

Versão da API 2015-04-13375

Page 385: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento pullRequestApprovalStateChanged

"MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Neste exemplo de evento, os requisitos de regra de aprovação para uma solicitação pull foramrestabelecidos (REVOGAR).

{ "version": "0", "id": "2895482d-13eb-b783-270d-76588e6029fa", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:iam::123456789012:user/Li_Juan", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleOverridden", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. Additional information: An override event has occurred for the approval rules for this pull request. Override status: REVOKE. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "overrideStatus": "REVOKE", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Evento pullRequestApprovalStateChangedNeste exemplo de evento, uma solicitação pull foi aprovada por um usuário com um nome de usuário doIAM de Mary_Major.

{ "version": "0", "id": "53e5d7e9-986c-1ebf-9d8b-ebef5596da0e", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit",

Versão da API 2015-04-13376

Page 386: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento pullRequestApprovalStateChanged

"account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalStatus": "APPROVE", "author": "arn:aws:iam::123456789012:user/Li_Juan", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalStateChanged", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. Additional information: A user has changed their approval state for the pull request. State change: APPROVE. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Neste exemplo de evento, uma aprovação para uma solicitação pull foi revogada por um usuário com umnome de usuário do IAM de Mary_Major.

{ "version": "0", "id": "25e183d7-d01a-4e07-2bd9-b2d56ebecc81", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalStatus": "REVOKE", "author": "arn:aws:iam::123456789012:user/Li_Juan", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalStateChanged", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. Additional information: A user has changed their approval state for the pull request. State change: REVOKE. For more information, go to the AWS CodeCommit

Versão da API 2015-04-13377

Page 387: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioEvento pullRequestApprovalRuleUpdated

console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Evento pullRequestApprovalRuleUpdatedNeste exemplo de evento, uma regra de aprovação para um pedido de pull foi editada por um utilizadorcom um IAM nome do utilizador de Mary_Major. É também o utilizador que autor do pedido de pull-pull.

{ "version": "0", "id": "21b1c819-2889-3528-1cb8-3861aacf9d42", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleContentSha256": "f742eebbEXAMPLE", "approvalRuleId": "0a9b5dfc-EXAMPLE", "approvalRuleName": "1-approver-needed", "author": "arn:aws:iam::123456789012:user/Mary_Major", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleUpdated", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. The content of an approval rule has been updated for the pull request. The name of the updated rule is: 1-approver-needed. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecab3EXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Versão da API 2015-04-13378

Page 388: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioreactioncriado evento

reactioncriado eventoNeste exemplo, foi adicionada uma reação a um comentário por um utilizador com um IAM nome doutilizador de Mary_Major.

{ "version":"0", "id":"59fcccd8-217a-32ce-2b05-561ed68a1c42", "detail-type":"CodeCommit Comment Reaction Change", "source":"aws.codecommit", "account":"123456789012", "time":"2020-04-14T00:49:03Z", "region":"us-east-2", "resources":[ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail":{ "callerUserArn":"arn:aws:iam::123456789012:user/Mary_Major", "commentId":"28930161-EXAMPLE", "event":"commentReactionCreated", "notificationBody":"A comment reaction event occurred in the following AWS CodeCommit Repository: MyDemoRepo. The user: arn:aws:iam::123456789012:user/Mary_Major made a comment reaction ## to the comment with comment ID: 28930161-EXAMPLE", "reactionEmojis":["##"], "reactionShortcodes":[":thumbsdown:"], "reactionUnicodes":["U+1F44E"], "repositoryId":"12345678-1234-5678-abcd-12345678abcd", "repositoryName":"MyDemoRepo" }}

reactionatualizado eventoNeste exemplo, uma reação a um comentário foi atualizada por um utilizador com um IAM nome doutilizador de Mary_Major. Os utilizadores só podem atualizar as suas próprias reacções.

{ "version":"0", "id":"0844ed99-a53f-3bdb-6048-4de315516889", "detail-type":"CodeCommit Comment Reaction Change", "source":"aws.codecommit", "account":"123456789012", "time":"2020-04-22T23:19:42Z", "region":"us-east-2", "resources":[ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail":{ "callerUserArn":"arn:aws:iam::123456789012:user/Mary_Major", "commentId":"28930161-EXAMPLE", "event":"commentReactionUpdated", "notificationBody":"A comment reaction event occurred in the following AWS CodeCommit Repository: MyDemoRepo. The user: arn:aws:iam::123456789012:user/Mary_Major updated a reaction :smile: to the comment with comment ID: 28930161-EXAMPLE", "reactionEmojis":[ "##" ], "reactionShortcodes":[ ":smile:" ], "reactionUnicodes":[ "U+1F604"

Versão da API 2015-04-13379

Page 389: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIniciar sessão AWS CodeCommit

Chamadas API com AWS CloudTrail

], "repositoryId":"12345678-1234-5678-abcd-12345678abcd", "repositoryName":"MyDemoRepo" }}

Iniciar sessão AWS CodeCommit Chamadas APIcom AWS CloudTrail

CodeCommit está integrado com AWS CloudTrail, um serviço que fornece um registo das ações tomadaspor um utilizador, função ou um AWS serviço em CodeCommit. CloudTrail capta todas as chamadas APIpara CodeCommit como eventos, incluindo chamadas a partir do CodeCommit consola, o seu clienteGit e a partir de chamadas de código para CodeCommit API. Se criar um trilho, pode permitir a entregacontínua de CloudTrail eventos para um Amazon S3 balde, incluindo eventos para CodeCommit. Se nãoconfigurar um percurso, pode ainda ver os eventos mais recentes no CloudTrail consola em Histórico deeventos. Utilizar as informações recolhidas por CloudTrail, pode determinar o pedido feito a CodeCommit,o endereço IP a partir do qual o pedido foi feito, que fez o pedido, quando foi efectuado e detalhesadicionais.

Para saber mais sobre o CloudTrail, consulte o AWS CloudTrail User Guide.

CodeCommitInformações sobre o no CloudTrailCloudTrail está ativado no seu AWS quando criar a conta. Quando ocorre atividade em CodeCommit, essaactividade é registada num CloudTrail evento juntamente com outro AWS eventos de serviço em Históricode eventos. Pode ver, pesquisar e transferir eventos recentes no seu AWS conta. Para mais informações,consulte Visualizar eventos com CloudTrail Histórico de eventos.

Para um registo contínuo de eventos no seu AWS conta, incluindo eventos para CodeCommit, crie umcaminho. Um trilho permite CloudTrail para entregar ficheiros de registo a um Amazon S3 balde. Porpadrão, quando você cria uma trilha no console, ela é aplicada a todas as regiões. O registo registaeventos de todas as regiões no AWS partição e entrega os ficheiros de registo ao Amazon S3 o queespecificar. Além disso, pode configurar outro AWS serviços para analisar e agir mais aprofundadamentesobre os dados de eventos recolhidos CloudTrail registos. Para obter mais informações, consulte .

• Visão geral da criação de uma trilha• CloudTrail Serviços e integrações suportados• Configurar notificações de SNS da Amazon para CloudTrail• Receber CloudTrail Ficheiros de registo de várias regiões e Receber CloudTrail Ficheiros de registo de

várias contas

Quando CloudTrail o registo está activado no seu AWS conta, chamadas API efectuadas CodeCommit asações são seguidas em CloudTrail ficheiros de registo, onde estão escritos com outros AWS registos deserviço. CloudTrail determina quando criar e escrever num novo ficheiro com base num período de tempoe tamanho do ficheiro.

Todos CodeCommit as ações são registadas por CloudTrail, incluindo alguns (tais comoGetObjectIdentifier) que não estão atualmente documentadas no Referência de API do AWSCodeCommit mas são, em vez disso, referidas como permissões de acesso e documentadas emCodeCommitReferência de permissões do (p. 337). Por exemplo, chamadas para ListRepositories(no AWS CLI, aws codecommit list-repositories), CreateRepository (aws codecommitcreate-repository) e PutRepositoryTriggers (aws codecommit put-repository-triggers) as ações geram entradas no CloudTrail ficheiros de registo, bem como chamadas de clientesda Git para GitPull e GitPush. Além disso, se tiver um CodeCommit repositório configurado como fonte

Versão da API 2015-04-13380

Page 390: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCompreensão CodeCommit entradas de ficheiro de registo

para uma conduta em CodePipeline, verá chamadas para CodeCommit aceder a ações de permissãocomo UploadArchive de CodePipeline. Desde CodeCommit utilizações AWS Key Management Servicepara encriptar e desencriptar repositórios, também verá chamadas de CodeCommit para Encrypt eDecrypt ações de AWS KMS em CloudTrail registos.

Cada entrada de log contém informações sobre quem gerou a solicitação. As informações de identidade dousuário na entrada de log ajudam você a determinar o seguinte:

• Se o pedido foi feito com raiz ou IAM credenciais do utilizador• Se a solicitação foi feita com credenciais de segurança temporárias de uma função ou de um usuário

federado, ou se foi feita por uma função assumida• Se o pedido foi feito por outro AWS serviço

Para mais informações, consulte o CloudTrail elemento de useridentity.

Pode guardar os seus ficheiros de registo no seu Amazon S3 durante o tempo que quiser, mastambém pode definir Amazon S3 regras do ciclo de vida para arquivar ou eliminar ficheiros de registoautomaticamente. Por predefinição, os seus ficheiros de registo são encriptados com Amazon S3encriptação do lado do servidor (SSE).

Compreensão CodeCommit entradas de ficheiro deregistoCloudTrailOs arquivos de log do podem conter uma ou mais entradas de log. Cada entrada lista várioseventos com formatação JSON. Um evento de log representa uma única solicitação de qualquer origem einclui informações sobre a ação solicitada, a data e a hora da ação, os parâmetros de solicitação, e assimpor diante. As entradas de log não são um rastreamento de pilha ordenada das chamadas de API pública.Assim, elas não são exibidas em nenhuma ordem específica.

Note

Este exemplo foi formatado para melhorar a legibilidade. Em um arquivo de log do CloudTrail,todas as entradas e eventos são concatenados em uma única linha. Este exemplo foi tambémlimitado a um único CodeCommit entrada. Num verdadeiro CloudTrail ficheiro de registo, vêentradas e eventos de múltiplos AWS serviços.

Sumário• Exemplo: Uma entrada de registo para listagem CodeCommit repositórios (p. 381)• Exemplo: Uma entrada de registo para criar uma CodeCommit repositório (p. 382)• Exemplos: Entradas de registo para Git chamadas para um CodeCommit repositório (p. 383)• Exemplo: Uma entrada de registo para uma pressão bem-sucedida CodeCommit repositório (p. 384)

Exemplo: Uma entrada de registo para listagem CodeCommitrepositóriosO exemplo seguinte mostra um CloudTrail entrada de registo que demonstra o ListRepositories ação.

Note

Embora ListRepositories devolve uma lista de repositórios, as respostas não mutáveis nãosão registadas em CloudTrail registos, por isso responseElements é mostrado como null noficheiro de registo.

{ "eventVersion":"1.05",

Versão da API 2015-04-13381

Page 391: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCompreensão CodeCommit entradas de ficheiro de registo

"userIdentity": { "type":"IAMUser", "principalId":"AIDACKCEVSQ6C2EXAMPLE", "arn":"arn:aws:iam::444455556666:user/Mary_Major", "accountId":"444455556666", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime":"2016-12-14T17:57:36Z", "eventSource":"codecommit.amazonaws.com", "eventName":"ListRepositories", "awsRegion":"us-east-1", "sourceIPAddress":"203.0.113.12", "userAgent":"aws-cli/1.10.53 Python/2.7.9 Windows/8 botocore/1.4.43", "requestParameters":null, "responseElements":null, "requestID":"cb8c167e-EXAMPLE", "eventID":"e3c6f4ce-EXAMPLE", "readOnly":true, "eventType":"AwsApiCall", "apiVersion":"2015-04-13", "recipientAccountId":"444455556666"}

Exemplo: Uma entrada de registo para criar uma CodeCommitrepositórioO exemplo seguinte mostra um CloudTrail entrada de registo que demonstra o CreateRepository açãono Região do Leste dos EUA (Ohio).

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "CreateRepository", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "aws-cli/1.10.53 Python/2.7.9 Windows/8 botocore/1.4.43", "requestParameters": { "repositoryDescription": "Creating a demonstration repository.", "repositoryName": "MyDemoRepo" }, "responseElements": { "repositoryMetadata": { "arn": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "creationDate": "Dec 14, 2016 6:19:14 PM", "repositoryId": "8afe792d-EXAMPLE", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryName": "MyDemoRepo", "accountId": "111122223333", "cloneUrlHttp": "https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryDescription": "Creating a demonstration repository.", "lastModifiedDate": "Dec 14, 2016 6:19:14 PM" } },

Versão da API 2015-04-13382

Page 392: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCompreensão CodeCommit entradas de ficheiro de registo

"requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": false, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "apiVersion": "2015-04-13", "recipientAccountId": "111122223333"}

Exemplos: Entradas de registo para Git chamadas para umCodeCommit repositórioO exemplo seguinte mostra um CloudTrail entrada de registo que demonstra o GitPull acção em que orepo local já está atualizado.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPull", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.11.0.windows.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "dataTransferred": false, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": true, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333"}

O exemplo seguinte mostra um CloudTrail entrada de registo que demonstra o GitPull acção em quea repo local não está atualizada e, por isso, os dados são transferidos do CodeCommit repositório para arepo local.

Versão da API 2015-04-13383

Page 393: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCompreensão CodeCommit entradas de ficheiro de registo

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPull", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "capabilities": [ "multi_ack_detailed", "side-band-64k", "thin-pack" ], "dataTransferred": true, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", "shallow": false }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": true, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333"}

Exemplo: Uma entrada de registo para uma pressão bem-sucedida CodeCommit repositórioO exemplo seguinte mostra um CloudTrail entrada de registo que demonstra um sucesso GitPush ação.A ação GitPush aparece duas vezes na entrada de log de um push bem-sucedido.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com",

Versão da API 2015-04-13384

Page 394: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCompreensão CodeCommit entradas de ficheiro de registo

"eventName": "GitPush", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "dataTransferred": false, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": true, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333"},{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPush", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": { "references": [ { "commit": "100644EXAMPLE", "ref": "refs/heads/master" } ] }, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "capabilities": [ "report-status", "side-band-64k" ], "dataTransferred": true, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": false, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo",

Versão da API 2015-04-13385

Page 395: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCompreensão CodeCommit entradas de ficheiro de registo

"accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333"}

Versão da API 2015-04-13386

Page 396: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCodeCommitModelos do AWS CloudFormation e

Criar recursos do CodeCommit com oAWS CloudFormation

CodeCommit está integrado com AWS CloudFormation, um serviço que o ajuda a modelar e configurar oseu AWS recursos para que possa dedicar menos tempo a criar e gerir os seus recursos e infraestruturas.Cria um modelo que descreve todos os AWS recursos que pretende (como repositórios), e AWSCloudFormation cuida de aprovisionamento e configura esses recursos para si.

Quando utiliza AWS CloudFormation, pode reutilizar o seu modelo para configurar o seu CodeCommitrecursos de forma consistente e repetida. Descreva apenas os seus recursos uma vez e depoisdisponibilize os mesmos recursos em várias contas e AWS Regiões.

CodeCommitModelos do AWS CloudFormation ePara fornecer e configurar recursos para CodeCommit e serviços relacionados, tem de compreenderAWS CloudFormation modelos. Os modelos são arquivos de texto formatados em JSON ou YAML. Estesmodelos descrevem os recursos que pretende fornecer no seu AWS CloudFormation pilhas. Se não estiverfamiliarizado com JSON ou YLMA, pode utilizar AWS CloudFormation Designer para ajudá-lo a começarcom AWS CloudFormation modelos. Para mais informações, consulte O que é o Designer de turdformaçãoAWS? no Guia do usuário do AWS CloudFormation.

CodeCommit apoia a criação repositórios em AWS CloudFormation. Ao contrário de criar repositóriosda consola ou da linha de comandos, pode utilizar AWS CloudFormation para criar repositórios ecomprometer automaticamente o código para o repositório recém-criado de um ficheiro.zip especificadonum Amazon S3 balde. Para mais informações, incluindo exemplos de modelos JSON e YLMA pararepositórios, consulte AWS::CodeCommit::Repository.

Também pode criar modelos que criem recursos relacionados, tais como regras de notificação pararepositórios, AWS CodeBuild construir projetos, AWS CodeDeploy aplicações, e AWS CodePipeline linhas.

Saiba mais sobre o AWS CloudFormationPara saber mais sobre o AWS CloudFormation, consulte os seguintes recursos:

• AWS CloudFormation• AWS CloudFormation Guia do usuário• AWS CloudFormation Guia do utilizador da interface da linha de comando

Versão da API 2015-04-13387

Page 397: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCredenciais de resolução de problemas (HTTPS)

Solução de problemas do AWSCodeCommit

As informações a seguir podem ajudar a solucionar problemas comuns no AWS CodeCommit.

Tópicos• Credenciais de resolução de problemas e ligações HTTPS para AWS CodeCommit (p. 388)• Solução de problemas do git-remote-codecommit e do AWS CodeCommit (p. 389)• Resolução de problemas de ligações SSH para AWS CodeCommit (p. 391)• Resolução de problemas do auxiliar de credencial e ligações HTTPS para AWS

CodeCommit (p. 397)• Clientes de resolução de problemas e AWS CodeCommit (p. 402)• Resolução de problemas de erros de acesso e AWS CodeCommit (p. 404)• Erros de configuração de resolução de problemas e AWS CodeCommit (p. 405)• Resolução de problemas de erros da consola e AWS CodeCommit (p. 406)• Gatilhos de resolução de problemas e AWS CodeCommit (p. 407)• Activar depuração (p. 407)

Credenciais de resolução de problemas e ligaçõesHTTPS para AWS CodeCommit

As seguintes informações podem ajudá-lo a resolver problemas comuns quando se utilizam as credenciaisGit e HTTPS para ligar a AWS CodeCommit repositórios.

Tópicos• Credenciais de Git para AWS CodeCommit: Continuo a ver um pedido de credenciais quando me ligar

ao meu CodeCommit repositório no terminal ou linha de comando (p. 388)• Credenciais de Git para AWS CodeCommit: Defini credenciais Git, mas o meu sistema não está a usá-

las (p. 389)

Credenciais de Git para AWS CodeCommit: Continuoa ver um pedido de credenciais quando me ligar aomeu CodeCommit repositório no terminal ou linha decomandoProblema: Quando tenta empurrar, puxar ou interagir com um CodeCommit repositório do terminal oulinha de comandos, é-lhe pedido que forneça um nome de utilizador e palavra-passe, e tem de fornecer ascredenciais de Git para o seu IAM utilizador.

Correções possíveis: As causas mais comuns para este erro são que o seu computador local está aexecutar um sistema operativo que não suporta a gestão de credenciais, ou que não tenha um utilitário degestão de credenciais instalado ou as credenciais Git para o seu IAM o utilizador não foi guardado numdestes sistemas de gestão de credenciais. Dependendo de seu sistema operacional e ambiente local,

Versão da API 2015-04-13388

Page 398: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCredenciais de Git para AWS CodeCommit: Defini

credenciais Git, mas o meu sistema não está a usá-las

talvez seja necessário instalar um gerenciador de credenciais, configurar o gerenciador de credenciaisincluído no sistema operacional ou personalizar o ambiente local para usar o armazenamento decredenciais. Por exemplo, se seu computador estiver executando o macOS, você pode usar o utilitárioAcesso às Chaves para armazenar suas credenciais. Se seu computador for Windows, você pode usar oGit Credential Manager que é instalado com o Git para Windows. Para mais informações, consulte Parautilizadores HTTPS utilizando credenciais Git (p. 10) e Armazenamento de credenciais na documentaçãoGit.

Credenciais de Git para AWS CodeCommit: Definicredenciais Git, mas o meu sistema não está a usá-lasProblema: Quando tenta utilizar CodeCommit com um cliente Git, o cliente não parece utilizar ascredenciais Git para o seu IAM utilizador.

Correções possíveis: A causa mais comum para este erro é que configurou anteriormente o seucomputador para utilizar o auxiliar de credencial incluído com o AWS CLI. Verifique o arquivo .gitconfigpara seções de configuração semelhantes às seguintes e remova-as:

[credential "https://git-codecommit.*.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

Salve o arquivo e abra uma nova linha de comando ou sessão de terminal antes de tentar se conectarnovamente.

Você também pode ter vários auxiliares ou gerenciadores de credenciais configurados no seu computador,e seu sistema pode estar assumindo outra configuração como padrão. Para redefinir qual o auxiliar decredencial utilizado como predefinição, pode utilizar o --system opção em vez de --global ou --local aoexecutar o git config comando.

Para mais informações, consulte Para utilizadores HTTPS utilizando credenciais Git (p. 10) eArmazenamento de credenciais na documentação Git.

Solução de problemas do git-remote-codecommit edo AWS CodeCommit

As seguintes informações podem ajudá-lo a resolver problemas com git-remote-codecommit ao ligar comAWS CodeCommit repositórios.

Tópicos• Vejo um erro: git: 'remote-codecommit' não é um comando git (p. 389)• Vejo um erro: fatal: Não foi possível encontrar o assistente remoto para 'codecommit' (p. 390)• Erro de clonagem: Não consigo clonar a CodeCommit repositório de um IDE (p. 390)• Erro de empurrar ou puxar: Não consigo empurrar ou puxar o compromisso de um IDE para um

CodeCommit repositório (p. 390)

Vejo um erro: git: 'remote-codecommit' não é umcomando gitProblema: Quando tentar utilizar o código de controlo git-remoto, verá um erro que o código de controlo git-remoto não é um comando de git. Consulte 'git --help'".

Versão da API 2015-04-13389

Page 399: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioVejo um erro: fatal: Não foi possível encontrar

o assistente remoto para 'codecommit'

Correções possíveis: O motivo mais comum para este erro é um erro de sintaxe. Isto pode acontecer ondese encontra um hífen entre git e código remoto, ou quando um git extra é colocado antes do código decontrolo remoto.

Para obter mais informações sobre a configuração e utilização de um código de controlo remoto, consultePassos de configuração para ligações HTTPS para AWS CodeCommit com código de controlo git-remote (p. 14).

Vejo um erro: fatal: Não foi possível encontrar oassistente remoto para 'codecommit'Problema: Quando tentar utilizar o código de controlo git-remoto, verá um erro que indica "fatal: Não foipossível encontrar o assistente remoto para "codecompromisso"".

Correções possíveis: O motivo mais comum para este erro é que a configuração não está completa para ocódigo de controlo git-remoto, o Python não está no seu caminho ou está a utilizar uma janela de linha determinais ou de comandos que não foi reiniciada desde que a instalação do código de identificação remotoé concluída.

Para obter mais informações sobre a configuração e utilização de um código de controlo remoto, consultePassos de configuração para ligações HTTPS para AWS CodeCommit com código de controlo git-remote (p. 14).

Erro de clonagem: Não consigo clonar a CodeCommitrepositório de um IDEProblema: Quando tenta clonar a CodeCommit repositório num IDE, vê um erro que diz que o parâmetrode avaliação ou URL não é válido.

Correções possíveis: Nem todas as contas suportam o URL utilizado por git-remote-codecommit durante aclonagem. Clone o repositório localmente a partir do terminal ou da linha de comando e, depois, adicioneesse repositório local ao IDE. Para obter mais informações, consulte Etapa 3 Ligar ao CodeCommitconsola e clonar o repositório (p. 18).

Erro de empurrar ou puxar: Não consigo empurrarou puxar o compromisso de um IDE para umCodeCommit repositórioProblema: Quando tenta puxar ou empurrar o código de um IDE, verá um erro de ligação.

Correções possíveis: O motivo mais comum para este erro é que o IDE não é compatível com auxiliaresremotos Git, tais como git-remote-codecommit. Em vez de utilizar a funcionalidade IDE para cometer,empurrar e puxar código, atualize manualmente a repo local da linha de comando ou terminal utilizandocomandos Git.

Para mais informações sobre os auxiliares remotos e Git, consulte o Documentação de t.

Versão da API 2015-04-13390

Page 400: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolução de problemas de ligações SSH

Resolução de problemas de ligações SSH paraAWS CodeCommit

As seguintes informações podem ajudá-lo a resolver problemas comuns quando utilizar o SSH para seligar a CodeCommit repositórios.

Tópicos• Erro de acesso: A chave pública é carregada com sucesso para IAM mas a ligação falha Linux,

macOS, or Unix sistemas (p. 391)• Erro de acesso: A chave pública é carregada com sucesso para IAM e SSH testados com êxito mas a

ligação falha nos sistemas Windows (p. 392)• Desafio de autenticação: A autenticidade do anfitrião não pode ser estabelecida ao ligar a um

CodeCommit repositório (p. 392)• IAM erro: "Formato inválido" ao tentar adicionar uma chave pública a IAM (p. 395)• Preciso de aceder CodeCommit repositórios em vários AWS contas com credenciais SSH (p. 395)• T no Windows: O emulador ou linha de comando do bastih congela ao tentar ligar utilizando

SSH (p. 396)

Erro de acesso: A chave pública é carregada comsucesso para IAM mas a ligação falha Linux, macOS,or Unix sistemasProblema: Quando tenta ligar-se a um parâmetro de avaliação SSH para comunicar com um Repositóriodo CodeCommit, seja ao testar a ligação ou clonar um repositório, a ligação falha ou é recusada.

Correções possíveis: A ID chave SSH atribuída à sua chave pública em IAM pode não estar associado àsua tentativa de ligação. Pode não ter configurado um ficheiro de configuração (p. 38), pode não ter acessoao ficheiro de configuração, outra definição pode estar a impedir uma leitura bem sucedida do ficheiro deconfiguração, pode ter fornecido a ID de chave errada ou pode ter fornecido a ID do IAM utilizador em vezda chave de ID.

A ID de chave SSH pode ser encontrada no IAM do seu IAM utilizador:

Note

Se você tiver feito upload de mais de um ID de chave SSH, as chaves serão listadas em ordemalfabética por ID da chave, não por data de upload. Verifique se você copiou o ID da chave queestá associado à data de upload correta.

Experimente testar a conexão com o seguinte comando:

ssh [email protected]

Se você vir uma mensagem de êxito após confirmar a conexão, o ID da chave SSH será válido. Editeseu arquivo de configuração para associar suas tentativas de conexão com sua chave pública no IAM.

Versão da API 2015-04-13391

Page 401: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioErro de acesso: A chave pública é carregadacom sucesso para IAM e SSH testados com

êxito mas a ligação falha nos sistemas WindowsSe não quiser editar o arquivo de configuração, você poderá prefaciar todas as tentativas de conexãoao repositório com o ID da chave SSH. Por exemplo, se pretendia clonar um repositório nomeadoMyDemoRepo sem modificar o seu ficheiro de configuração para associar as suas tentativas de ligação,executaria o seguinte comando:

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Para obter mais informações, consulte Para ligações SSH em Linux, macOS, or Unix (p. 35).

Erro de acesso: A chave pública é carregada comsucesso para IAM e SSH testados com êxito mas aligação falha nos sistemas WindowsProblema: Quando tenta utilizar um parâmetro de avaliação SSH para clonar ou comunicar com umRepositório do CodeCommit, aparece uma mensagem de erro que contém a frase No supportedauthentication methods available.

Correções possíveis: O motivo mais comum para este erro é que tem um conjunto de variáveis doambiente do sistema Windows que direciona o Windows para utilizar outro programa quando tenta utilizarSSH. Por exemplo, você pode ter definido uma variável GIT_SSH para apontar para um dos conjunto deferramentas PuTTY (plink.exe). Essa pode ser uma configuração legada ou pode ser necessária paraoutros programas instalados em seu computador. Se tiver certeza de que essa variável de ambientenão é necessária, você poderá removê-la abrindo as propriedades do sistema e excluindo a variável deambiente.

Para resolver esse problema, abra um emulador de Bash e teste sua conexão SSH novamente, mas incluaGIT_SSH_COMMAND="SSH" como prefixo. Por exemplo, para clonar um repositório usando SSH:

GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Um problema semelhante pode ocorrer se sua versão do Windows exigir que você inclua o ID da chaveSSH como parte da cadeia de conexão ao se conectar por SSH na linha de comando do Windows. Testesua conexão novamente, dessa vez incluindo o ID da chave SSH copiado do IAM como parte do comando.Por exemplo, .

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Desafio de autenticação: A autenticidade do anfitriãonão pode ser estabelecida ao ligar a um CodeCommitrepositórioProblema: Quando tenta utilizar um parâmetro de avaliação SSH para comunicar com um Repositóriodo CodeCommit, aparece uma mensagem de aviso que contém a frase The authenticity of host'host-name' can't be established.

Correções possíveis: As suas credenciais podem não ser configuradas corretamente. Siga as instruçõesem Para ligações SSH em Linux, macOS, or Unix (p. 35) ou Para ligações SSH no Windows (p. 40).

Versão da API 2015-04-13392

Page 402: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioDesafio de autenticação: A autenticidade do anfitrião não

pode ser estabelecida ao ligar a um CodeCommit repositório

Se você seguiu essas etapas e o problema persiste, alguém pode estar tentando um ataque man-in-the-middle. Quando aparecer a seguinte mensagem, digite no e pressione Enter.

Are you sure you want to continue connecting (yes/no)?

Certifique-se de que a impressão digital e a chave pública das conexões do CodeCommit correspondemàs documentadas nos tópicos de configuração do SSH antes de continuar com a conexão.

Impressões digitais públicas para CodeCommit

Servidor Tipo de hash criptográfico Impressão digital

git-codecommit.us-east-2.amazonaws.com

MD5 a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e

git-codecommit.us-east-2.amazonaws.com

SHA256 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ

git-codecommit.us-east-1.amazonaws.com

MD5 a6:9c:7d:bc:35:f5:d4:5f:8b:ba:6f:c8:bc:d4:83:84

git-codecommit.us-east-1.amazonaws.com

SHA256 eLMY1j0DKA4uvDZcl/KgtIayZANwX6t8+8isPtotBoY

git-codecommit.us-west-2.amazonaws.com

MD5 a8:68:53:e3:99:ac:6e:d7:04:7e:f7:92:95:77:a9:77

git-codecommit.us-west-2.amazonaws.com

SHA256 0pJx9SQpkbPUAHwy58UVIq0IHcyo1fwCpOOuVgcAWPo

git-codecommit.eu-west-1.amazonaws.com

MD5 93:42:36:ea:22:1f:f1:0f:20:02:4a:79:ff:ea:12:1d

git-codecommit.eu-west-1.amazonaws.com

SHA256 tKjRkOL8dmJyTmSbeSdN1S8F/f0iql3RlvqgTOP1UyQ

git-codecommit.ap-northeast-1.amazonaws.com

MD5 8e:a3:f0:80:98:48:1c:5c:6f:59:db:a7:8f:6e:c6:cb

git-codecommit.ap-northeast-1.amazonaws.com

SHA256 Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow

git-codecommit.ap-southeast-1.amazonaws.com

MD5 65:e5:27:c3:09:68:0d:8e:b7:6d:94:25:80:3e:93:cf

git-codecommit.ap-southeast-1.amazonaws.com

SHA256 ZIsVa7OVzxrTIf+Rk4UbhPv6Es22mSB3uTBojfPXIno

git-codecommit.ap-southeast-2.amazonaws.com

MD5 7b:d2:c1:24:e6:91:a5:7b:fa:c1:0c:35:95:87:da:a0

git-codecommit.ap-southeast-2.amazonaws.com

SHA256 nYp+gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec

git-codecommit.eu-central-1.amazonaws.com

MD5 74:5a:e8:02:fc:b2:9c:06:10:b4:78:84:65:94:22:2d

git-codecommit.eu-central-1.amazonaws.com

SHA256 MwGrkiEki8QkkBtlAgXbYt0hoZYBnZF62VY5RzGJEUY

Versão da API 2015-04-13393

Page 403: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioDesafio de autenticação: A autenticidade do anfitrião não

pode ser estabelecida ao ligar a um CodeCommit repositório

Servidor Tipo de hash criptográfico Impressão digital

git-codecommit.ap-northeast-2.amazonaws.com

MD5 9f:68:48:9b:5f:fc:96:69:39:45:58:87:95:b3:69:ed

git-codecommit.ap-northeast-2.amazonaws.com

SHA256 eegAPQrWY9YsYo9ZHIKOmxetfXBHzAZd8Eya53Qcwko

git-codecommit.sa-east-1.amazonaws.com

MD5 74:99:9d:ff:2b:ef:63:c6:4b:b4:6a:7f:62:c5:4b:51

git-codecommit.sa-east-1.amazonaws.com

SHA256 kW+VKB0jpRaG/ZbXkgbtMQbKgEDK7JnISV3SVoyCmzU

git-codecommit.us-west-1.amazonaws.com

MD5 3b:76:18:83:13:2c:f8:eb:e9:a3:d0:51:10:32:e7:d1

git-codecommit.us-west-1.amazonaws.com

SHA256 gzauWTWXDK2u5KuMMi5vbKTmfyerdIwgSbzYBODLpzg

git-codecommit.eu-west-2.amazonaws.com

MD5 a5:65:a6:b1:84:02:b1:95:43:f9:0e:de:dd:ed:61:d3

git-codecommit.eu-west-2.amazonaws.com

SHA256 r0Rwz5k/IHp/QyrRnfiM9j02D5UEqMbtFNTuDG2hNbs

git-codecommit.ap-south-1.amazonaws.com

MD5 da:41:1e:07:3b:9e:76:a0:c5:1e:64:88:03:69:86:21

git-codecommit.ap-south-1.amazonaws.com

SHA256 hUKwnTj7+Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE

git-codecommit.ca-central-1.amazonaws.com

MD5 9f:7c:a2:2f:8c:b5:74:fd:ab:b7:e1:fd:af:46:ed:23

git-codecommit.ca-central-1.amazonaws.com

SHA256 Qz5puafQdANVprLlj6r0Qyh4lCNsF6ob61dGcPtFS7w

git-codecommit.eu-west-3.amazonaws.com

MD5 1b:7f:97:dd:d7:76:8a:32:2c:bd:2c:7b:33:74:6a:76

git-codecommit.eu-west-3.amazonaws.com

SHA256 uw7c2FL564jVoFgtc+ikzILnKBsZz7t9+CFdSJjKbLI

git-codecommit.us-gov-west-1.amazonaws.com

MD5 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69

git-codecommit.us-gov-west-1.amazonaws.com

SHA256 djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4

git-codecommit.us-gov-east-1.amazonaws.com

MD5 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2

git-codecommit.us-gov-east-1.amazonaws.com

SHA256 fVb+R0z7qW7minenW+rUpAABRCRBTCzmETAJEQrg98

git-codecommit.eu-north-1.amazonaws.com

MD5 8e:53:d8:59:35:88:82:fd:73:4b:60:8a:50:70:38:f4

git-codecommit.eu-north-1.amazonaws.com

SHA256 b6KSK7xKq+V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ

Versão da API 2015-04-13394

Page 404: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioIAM erro: "Formato inválido" ao tentar

adicionar uma chave pública a IAM

Servidor Tipo de hash criptográfico Impressão digital

git-codecommit.me-south-1.amazonaws.com

MD5 0e:39:28:56:d5:41:e6:8d:fa:81:45:37:fb:f3:cd:f7

git-codecommit.me-south-1.amazonaws.com

SHA256 O+NToCGgjrHekiBuOl0ad7ROGEsz+DBLXOd/c9wc0JU

git-codecommit.ap-east-1.amazonaws.com

MD5 a8:00:3d:24:52:9d:61:0e:f6:e3:88:c8:96:01:1c:fe

git-codecommit.ap-east-1.amazonaws.com

SHA256 LafadYwUYW8hONoTRpojbjNs9IRnbEwHtezD3aAIBX0

git-codecommit.cn-north-1.amazonaws.com.cn

MD5 11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3

git-codecommit.cn-north-1.amazonaws.com.cn

SHA256 IYUXxH2OpTDsyYMLIp+JY8CTLS4UX+ZC5JVZXPRaxc8

git-codecommit.cn-northwest-1.amazonaws.com.cn

MD5 2e:a7:fb:4c:33:ac:6c:f9:aa:f2:bc:fb:0a:7b:1e:b6

git-codecommit.cn-northwest-1.amazonaws.com.cn

SHA256 wqjd6eHd0+mOBx+dCNuL0omUoCNjaDtZiEpWj5TmCfQ

IAM erro: "Formato inválido" ao tentar adicionar umachave pública a IAMProblema: Em IAM, ao tentar configurar a SSH com CodeCommit, aparece uma mensagem de erro quecontém a frase Invalid format quando tenta adicionar a sua chave pública.

Possíveis correções: IAM aceita chaves públicas apenas no formato em formato aberto e tem requisitosadicionais conforme especificado em Utilize as teclas SSH com CodeCommit no IAM Guia do utilizador. Sefornecer sua chave pública em outro formato ou se ela não tiver o número necessário de bits, você veráesse erro.

• Quando você copiou a chave pública SSH, o sistema operacional pode ter introduzido quebras de linha.Verifique se não há quebras de linha na chave pública que será adicionada ao IAM.

• Alguns sistemas operacionais Windows não usam o formato OpenSSH. Para gerar um par de chaves ecopiar o formato OpenSSH exigido pelo IAM, consulte the section called “SSH e Windows: Configure aschaves públicas e privadas para Git e CodeCommit” (p. 41).

Para mais informações sobre os requisitos para chaves SSH em IAM, consulte Utilize as teclas SSH comCodeCommit no IAM Guia do utilizador.

Preciso de aceder CodeCommit repositórios em váriosAWS contas com credenciais SSHProblema: Quero configurar o acesso SSH a CodeCommit repositórios em mais de um AWS conta.

Versão da API 2015-04-13395

Page 405: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioT no Windows: O emulador ou linha de comandodo bastih congela ao tentar ligar utilizando SSH

Correções possíveis: Pode criar pares de chaves públicas/privadas SSH únicos para cada AWS conta econfigurar IAM com cada tecla. Pode então configurar o seu ficheiro ~/.ssh/config com informações sobrecada IAM ID de utilizador associada à chave pública. Por exemplo, .

Host codecommit-1 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-1 # This is the SSH Key ID you copied from IAM in AWS account 1 (for example, APKAEIBAERJR2EXAMPLE1). IdentityFile ~/.ssh/codecommit_rsa # This is the path to the associated public key file, such as id_rsa. We advise creating CodeCommit specific _rsa files. Host codecommit-2 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-2 # This is the SSH Key ID you copied from IAM in AWS account 2 (for example, APKAEIBAERJR2EXAMPLE2). IdentityFile ~/.ssh/codecommit_2_rsa # This is the path to the other associated public key file. We advise creating CodeCommit specific _rsa files.

Nesta configuração, poderá substituir 'git-codecommit.us-east-1.amazonaws.com' com 'codecommit-2'. Porexemplo, para clonar um repositório no seu segundo AWS conta:

git clone ssh://codecommit-2/v1/repos/YourRepositoryName

Para configurar um controlo remoto para o seu repositório, execute git remote add. Por exemplo:

git remote add origin ssh://codecommit-2/v1/repos/YourRepositoryName

Para mais exemplos, consulte este fórum e esta contribuição no github.

T no Windows: O emulador ou linha de comando dobastih congela ao tentar ligar utilizando SSHProblema: Depois de configurar o acesso SSH para Windows e confirmar a conectividade na linha decomandos ou terminal, verá uma mensagem a indicar que a chave anfitriã do servidor não está cacheno registo, e a solicitação para armazenar a chave na cache está congelada (não aceita a entrada y/n/retorno) quando tentar utilizar comandos como git pull, git push, ou git clone no comando comandos ou noemulador Bash.

Correções possíveis: A causa mais comum para este erro é que o seu ambiente de Git está configuradopara utilizar algo que não seja o uso de uma autenticação (provavelmente massa). É sabido que issocausa problemas com o armazenamento em cache de chaves em algumas configurações. Por corrigir esseproblema, tente o seguinte:

• Abra um emulador de Bash e adicione o parâmetro GIT_SSH_COMMAND="ssh" antes do comandodo Git. Por exemplo, se você está tentando enviar um repositório por push, em vez de digitar git push,digite:

GIT_SSH_COMMAND="ssh" git push

• Se tiver massa instalada, abra a massa, e Nome do anfitrião (ou endereço IP), introduza o CodeCommitque pretende alcançar (por exemplo, git-codecommit.us-east-2.amazonaws.com). Escolher Aberto.Quando solicitado pelo alerta de segurança da massa, escolha Sim para guardar permanentemente atecla.

• Renomeie ou exclua a variável de ambiente GIT_SSH se não a estiver mais utilizando. Em seguida, abraum novo prompt de comando ou uma sessão do emulador de Bash e teste o comando novamente.

Versão da API 2015-04-13396

Page 406: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolução de problemas do

assistente de credencial (HTTPS)

Para outras soluções, consulte O Git clone/puxa continuamente a tecla de armazenamento na cache emPilha transbordar.

Resolução de problemas do auxiliar de credencial eligações HTTPS para AWS CodeCommit

As seguintes informações podem ajudá-lo a resolver problemas comuns quando utilizar o auxiliar decredencial incluído com o AWS CLI e HTTPS para estabelecer ligação CodeCommit repositórios.

Note

Embora o auxiliar de credencial seja um método suportado para a ligação a CodeCommitutilizando o acesso federado, um fornecedor de identidade ou credenciais temporárias, o métodorecomendado é instalar e utilizar o git-remote-codecommit utilidade. Para obter mais informações,consulte Passos de configuração para ligações HTTPS para AWS CodeCommit com código decontrolo git-remote (p. 14).

Tópicos• Recebo um erro de comando não encontrado no Windows ao usar o assistente de

credenciais (p. 397)• Sou-me pedido um nome de utilizador quando me ligar a um CodeCommit repositório (p. 398)• Git para macOS: Configurei o assistente de credencial com sucesso, mas agora tenho acesso ao meu

repositório (403) (p. 398)• T para Windows: Instalei Git para Windows, mas tenho acesso ao meu repositório (403) (p. 400)

Recebo um erro de comando não encontrado noWindows ao usar o assistente de credenciaisProblema: Depois de atualizar o AWS CLI, ligações auxiliares de credencial para CodeCommit falha derepositórios com aws codecommit credential-helper $@ get: aws: command not found.

Causa: O motivo mais comum para este erro é que o seu AWS A versão de SYNTHROID foi atualizadapara uma versão que utiliza Python 3. Há um problema conhecido com o pacote MSI. Para verificar sevocê tem uma das versões afetadas, abra uma linha de comando e execute o seguinte comando: aws --version

Se a saída da versão do Python começar com 3, você terá uma versão afetada. Por exemplo, .

aws-cli/1.16.62 Python/3.6.2 Darwin/16.7.0 botocore/1.12.52

Correções possíveis: Pode contornar este problema fazendo uma das seguintes operações:

• Instale e configure a AWS CLI no Windows usando Python e pip em vez de MSI. Para mais informações,consulte Instale o Python, o pip e o AWS CLI no Windows.

• Editar manualmente o seu .gitconfig ficheiro para alterar o [credential] secção para apontarexplicitamente para aws.cmd no seu computador local. Por exemplo, .

[credential] helper = !"\C:\\Program Files\\Amazon\\AWSCLI\\bin\\aws.cmd\" codecommit credential-helper $@

Versão da API 2015-04-13397

Page 407: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioSou-me pedido um nome de utilizador quando

me ligar a um CodeCommit repositório

UseHttpPath = true

• Executar o git config comando para atualizar o seu .gitconfig ficheiro para referência explícitaaws.cmd, e atualize manualmente a variável do ambiente do CAMINHO para incluir o caminho para ocomando, conforme necessário. Por exemplo, .

git config --global credential.helper "!aws.cmd codecommit credential-helper $@"git config --global credential.UseHttpPath true

Sou-me pedido um nome de utilizador quando meligar a um CodeCommit repositórioProblema: Quando tenta utilizar o auxiliar da credencial para comunicar com um Repositório doCodeCommit, aparece uma mensagem que lhe pede o seu nome de utilizador.

Correções possíveis: Configure o seu perfil AWS ou certifique-se de que o perfil que está a utilizar é aqueleque configurou para trabalhar com CodeCommit. Para obter mais informações sobre a configuração,consulte Passos de configuração para ligações HTTPS para AWS CodeCommit repositórios em Linux,macOS, or Unix com o AWS CLI auxiliar de credencial (p. 45) ou Passos de configuração para ligaçõesHTTPS para AWS CodeCommit repositórios no Windows com o AWS CLI auxiliar de credencial (p. 50).Para mais informações sobre IAM, teclas de acesso e teclas secretas, consulte Gerir chaves de acessopara IAM Utilizadores e Como obtenho credenciais?

Git para macOS: Configurei o assistente de credencialcom sucesso, mas agora tenho acesso ao meurepositório (403)Problema: Ligado macOS, o assistente de credencial não parece aceder ou utilizar as suas credenciaiscomo esperado. Isso pode ser causado por dois problemas diferentes:

• O AWS CLI está configurado para um AWS Região diferente daquela onde o repositório existe.• O utilitário Keychain Access salvou credenciais já expiradas.

Correções possíveis: Para verificar se o AWS CLI está configurado para a região correta, execute o awsconfigure e reveja as informações apresentadas. Se o CodeCommit o repositório está numa região AWSdiferente do mostrado para o AWS CLI, tem de executar o aws configure e altere os valores para osapropriados para essa Região. Para obter mais informações, consulte Etapa 1 Configuração inicial paraCodeCommit (p. 45).

A versão padrão do Git lançada para OS X e macOS usa o utilitário Acesso às Chaves para salvar ascredenciais geradas. Por motivos de segurança, a senha gerada para o acesso ao seu repositório doCodeCommit é temporária, de modo que as credenciais armazenadas no conjunto de chaves paramde funcionar após cerca de 15 minutos. Se você estiver apenas acessando o Git com CodeCommit,experimente o seguinte:

1. No terminal, execute o git config para encontrar o ficheiro de configuração Git (gitconfig) onde outilitário de Acesso à Corrente está definido. Dependendo do sistema e preferências locais, pode termais do que um gitconfig ficheiro.

$ git config -l --show-origin | grep credential

Na saída deste comando, pesquisar resultados semelhantes a:

Versão da API 2015-04-13398

Page 408: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGit para macOS: Configurei o assistente de credencial comsucesso, mas agora tenho acesso ao meu repositório (403)

file:/path/to/gitconfig credential.helper=osxkeychain

O arquivo listado no início dessa linha é o arquivo de configuração do Git que você deve editar.2. Para editar o arquivo de configuração do Git, use um editor de texto simples e execute o seguinte

comando:

$ nano /usr/local/git/etc/gitconfig

3. Modifique a configuração utilizando uma das seguintes estratégias:

• Comentar ou eliminar a secção de credencial que contém helper = osxkeychain. Por exemplo:

# helper = osxkeychain

• Atualize ambos os aws credential helper e osxkeychain secções auxiliares de credencialpara ter contexto. Por exemplo, se osxkeychain é utilizado para autenticar para github:

[credential "https://git-codecommit.us-east-1.amazonaws\.com"] helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true[credential "https://github.com"] helper = osxkeychain

Nesta configuração, Git utilizará o osxkeychain auxiliar quando o anfitrião remoto correspondea "https://github.com" e o auxiliar de credencial quando o anfitrião remoto corresponde"https://git-codecommit\.us-east-1\.amazonaws.com".

• Inclua um auxiliar de cadeia vazio antes do auxiliar de credencial. Por exemplo, .

[credential] helper = helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true

Como alternativa, se você deseja continuar a usar o utilitário Keychain Access para armazenar emcache as credenciais para outros repositórios Git, modifique o cabeçalho em vez de comentar a linha.Por exemplo, para permitir credenciais em cache para o GitHub, você pode modificar o cabeçalho daseguinte maneira:

[credential "https://github.com"] helper = osxkeychain

Se estiver a aceder a outros repositórios com Git, pode configurar o utilitário de Acesso Keychain paraque não forneça credenciais para o seu CodeCommit repositórios. Como configurar o utilitário Acesso àsChaves:

1. Abra o utilitário Acesso às Chaves. (Você pode usar o Finder para localizá-lo.)2. Pesquisar por git-codecommit.us-east-2.amazonaws.com e substituir us-east-2 com o AWS

Região onde o repositório existe. Realce a linha, abra o contexto (clique com o botão direito do rato) eescolha Obter informações.

3. Escolha o Controlo de acesso separador.4. Em Confirmar antes de permitir o acesso, escolha git-credential-osxkeychain, e depois

seleccione o sinal de menos para removê-lo da lista.

Versão da API 2015-04-13399

Page 409: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioT para Windows: Instalei Git para Windows,mas tenho acesso ao meu repositório (403)

Note

Após remover git-credential-osxkeychain da lista, você verá uma caixa de diálogosempre que executar um comando do Git. Escolher Recusar para continuar. Se você acharos pop-ups um incômodo, aqui estão algumas alternativas:

• Ligar a CodeCommit usando SSH ou de Git em vez de o assistente de credencial comHTTPS. Para mais informações, consulte Para ligações SSH em Linux, macOS, orUnix (p. 35) e Configuração para utilizadores HTTPS utilizando credenciais Git (p. 10).

• No utilitário Keychain Access, no Controlo de acesso separador para git-codecommit.us-east-2.amazonaws.com, escolha o Permitir que todas as aplicaçõesacedam a este item (o acesso a este item não é restrito) opção. Isso impedirá os pop-ups, mas as credenciais expirarão eventualmente (em média, leva cerca de 15 minutos) evocê verá uma mensagem de erro 403. Quando isso ocorrer, você deverá excluir o item doconjunto de chaves para restaurar a funcionalidade.

• Instalar uma versão do Git que não utilize o conjunto de chaves por padrão; ou• Considere uma solução de scripts para excluir o item do conjunto de chaves. Para

visualizar uma amostra gerada pela comunidade de uma solução marcada, consulte MacOS X Script para eliminar periodicamente credenciais em cache na loja de certificados doOS X (p. 89) em Integrações de produtos e serviços (p. 81).

Se quiser que o Git pare de usar o utilitário Keychain Access totalmente, você poderá configurar o Git paraparar de usar osxkeychain como o assistente de credenciais. Por exemplo, se abrir um terminal e executaro comando git config --system credential.helper, e regressa osxkeychain, Git está definidopara utilizar o utilitário de Acesso Keychain. Você poderá alterar isso executando o seguinte comando:

git config --system --unset credential.helper

Lembre-se de que executar esse comando com a opção --system altera o comportamento do Git emtodo o sistema para todos os usuários e isso pode ter consequências indesejadas para outros usuáriosou para outros repositórios se você estiver usando outros serviços de repositório, além do CodeCommit.Lembre-se também de que essa abordagem pode exigir o uso de sudo e que sua conta pode não terpermissões suficientes do sistema para aplicar essa alteração. Verifique se o comando foi aplicado comêxito executando o comando git config --system credential.helper novamente. Para maisinformações, consulte Personalizar Git - Configuração Git e este artigo sobre o transbordo da pilha.

T para Windows: Instalei Git para Windows, mas tenhoacesso ao meu repositório (403)Problema: No Windows, o assistente de credencial não parece aceder ou utilizar as suas credenciais comoesperado. Isso pode ser causado por diferentes problemas:

• O AWS CLI está configurado para um AWS Região diferente daquela onde o repositório existe.• Por predefinição, Git para Windows instala um utilitário de Gestor de Credenciais Git que não é

compatível com CodeCommit que utilizam o AWS assistente de credencial. Quando instalado, ele fazcom que as conexões com o repositório falhem mesmo que o assistente de credenciais tenha sidoinstalado usando a AWS CLI e configurado para conexões com o CodeCommit.

• Algumas versões de Git para Windows podem não estar em total conformidade com RFC 2617 e RFC4559, que pode potencialmente causar problemas com as credenciais Git e o auxiliar de credencialincluído com o AWS CLI. Para mais informações, consulte A versão 2.11.0(3) não pede nome deutilizador/palavra-passe.

Correções possíveis:

Versão da API 2015-04-13400

Page 410: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioT para Windows: Instalei Git para Windows,mas tenho acesso ao meu repositório (403)

• se você está tentando usar o assistente de credenciais incluído com o AWS CLI, considere se conectarcom as credenciais do Git por HTTPS em vez de usar o assistente de credenciais. As credenciais do Gitconfiguradas para seu usuário do IAM são compatíveis com o Git Credential Manager para Windows,diferente do assistente de credenciais do AWS CodeCommit. Para obter mais informações, consultePara utilizadores HTTPS utilizando credenciais Git (p. 10).

Se quiser utilizar o assistente de credencial, para verificar se o AWS CLI está configurado para a regiãoAWS correta, execute o aws configure e reveja as informações apresentadas. Se o CodeCommit orepositório está numa região AWS diferente do mostrado para o AWS CLI, tem de executar o awsconfigure e altere os valores para os apropriados para essa Região. Para obter mais informações,consulte Etapa 1 Configuração inicial para CodeCommit (p. 51).

• Se possível, desinstale e reinstale o Git para Windows. Ao instalar o Git para Windows, desmarquea caixa de seleção com a opção de instalar o utilitário Git Credential Manager. Esse gerenciador decredenciais não é compatível com o assistente de credenciais do AWS CodeCommit. Se você instalouo Git Credential Manager ou outro utilitário de gerenciamento de credenciais e não quer desinstalá-lo,pode modificar o arquivo .gitconfig e adicionar gerenciamentos de credenciais para o CodeCommit:

1. Aberto Painel de controlo, escolha Gestor de credencial, e remover quaisquer credenciaisguardadas para CodeCommit.

2. Abra o arquivo .gitconfig em um editor de texto simples, como o Bloco de Notas.

Note

Se você trabalha com vários perfis do Git, talvez tenha arquivos .gitconfig locais eglobais. Certifique-se de editar o arquivo apropriado.

3. Adicione a seguinte secção ao seu .gitconfig ficheiro:

[credential "https://git-codecommit.*.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

4. Salve o arquivo e abra uma nova sessão de linha de comando antes de tentar se conectarnovamente.

Também pode utilizar esta abordagem se quiser utilizar o assistente de credencial para AWSCodeCommit quando se liga a CodeCommit repositórios e outro sistema de gestão de credenciaisquando se conecta a outros repositórios alojados, tais como repositórios de gigantes.

Para redefinir qual o auxiliar de credencial utilizado como predefinição, pode utilizar o --system opção emvez de --global ou --local quando executa o git config comando.

• Se você está usando credenciais do Git em um computador Windows, pode tentar solucionar quaisquerproblemas de não conformidade do RFC incluindo seu nome de usuário das credenciais do Git comoparte da cadeia de conexão. Por exemplo, para trabalhar em torno do problema e clonar um repositórionomeado MyDemoRepo no Leste dos EUA (Ohio) Região:

git clone https://Your-Git-Credential-Username@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Note

Essa abordagem não funcionará se você tiver um caractere @ no seu nome de usuário dascredenciais do Git. Tem de ter um código de URL (também conhecido como URL que escapouou codificação de percentagem) o carácter.

Versão da API 2015-04-13401

Page 411: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioClientes de resolução de problemas

Clientes de resolução de problemas e AWSCodeCommit

As seguintes informações podem ajudá-lo a resolver problemas comuns quando utilizar Git com AWSCodeCommit repositórios. Para resolver problemas relacionados com clientes Git quando utilizar HTTPSou SSH, consulte também Credenciais de resolução de problemas (HTTPS) (p. 388), Resoluçãode problemas de ligações SSH (p. 391), e Resolução de problemas do assistente de credencial(HTTPS) (p. 397).

Tópicos• Erro de Git: Erro Falhou o RPC; resultado=56, código HTTP = 200 fatal: A extremidade remota sobe

inesperadamente (p. 402)• Erro de Git: Demasiados comandos de atualização de referência (p. 402)• Erro de Git: O push através do HTTPS está dividido em algumas versões do Git (p. 402)• Erro do Git: "gnutls_handshake() failed" (p. 403)• Erro de Git: Git não consegue encontrar o CodeCommit repositório ou não tem permissão para aceder

ao repositório (p. 403)• T no Windows: Não estão disponíveis métodos de autenticação suportados (publickey) (p. 403)

Erro de Git: Erro Falhou o RPC; resultado=56,código HTTP = 200 fatal: A extremidade remota sobeinesperadamenteProblema: Ao enviar por push uma grande alteração, um grande número de alterações ou um granderepositório, as conexões HTTPS de execução prolongada costumam ser encerradas prematuramentedevido a problemas de rede ou configurações do firewall.

Correções possíveis: Pressione com SSH em vez de, ou quando estiver a migrar um grande repositório,siga os passos em Migrar um repositório em incrementos (p. 291). Além disso, verifique se você nãoestá excedendo os limites de tamanho para arquivos individuais. Para obter mais informações, consulteCotas (p. 418).

Erro de Git: Demasiados comandos de atualização dereferênciaProblema: O número máximo de atualizações de referência por cada passo é de 4.000. Esse erro aparecequando o push contém mais de 4.000 atualizações de referência.

Correções possíveis: Tente empurrar os ramos e as etiquetas individualmente com git push --all egit push --tags. Se tiver demasiadas marcas, divida as etiquetas em várias derivações. Para obtermais informações, consulte Cotas (p. 418).

Erro de Git: O push através do HTTPS está divididoem algumas versões do GitProblema: Um problema com a atualização de curvatura para 7.41.0 faz com que a autenticação deresumo baseado em SSPI falhe. As versões do Git sabidamente afetadas incluem 1.9.5.msysgit.1.

Versão da API 2015-04-13402

Page 412: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioErro do Git: "gnutls_handshake() failed"

Algumas versões de Git para Windows podem não estar em total conformidade com RFC 2617 e RFC4559, que pode potencialmente causar problemas com ligações HTTPS utilizando as credenciais Git ou oauxiliar de credencial incluído com o AWS CLI.

Correções possíveis: Verifique a sua versão de Git por questões conhecidas ou utilize uma versão anteriorou posterior. Para mais informações sobre o mysysgit, consulte Premir para HTTPS está partido nosfóruns de github. Para obter mais informações sobre o Git para problemas com a versão Windows,consulte A versão 2.11.0(3) não pede nome de utilizador/palavra-passe.

Erro do Git: "gnutls_handshake() failed"Problema: Em Linux, quando tenta utilizar Git para comunicar com um Repositório do CodeCommit,aparece uma mensagem de erro que contém a frase error: gnutls_handshake() failed.

Correções possíveis: Compilar Git contra openssl. Para uma abordagem, consulte "Erro:gnutls_handshake() falhou" Quando ligar a servidores HTTPS nos fóruns Ask Ubuntu.

Em alternativa, use SSH em vez de HTTPS para comunicar com CodeCommit repositórios.

Erro de Git: Git não consegue encontrar oCodeCommit repositório ou não tem permissão paraaceder ao repositórioProblema: Uma barra de ligação posterior na cadeia de ligação pode fazer com que a ligação tente falhar.

Correções possíveis: Certifique-se de que forneceu o nome correcto e a cadeia de ligação para orepositório e que não existem barras para trás. Para obter mais informações, consulte Conexão a umrepositório (p. 94).

T no Windows: Não estão disponíveis métodos deautenticação suportados (publickey)Problema: Depois de configurar o acesso SSH para Windows, verá um erro negado de acesso quandotentar utilizar comandos como git pull, git push, ou git clone.

Correções possíveis: A causa mais comum para este erro é que existe uma variável de ambiente GIT_SSHno seu computador e está configurada para suportar outra utilidade de ligação, como a massa. Por corrigiresse problema, tente o seguinte:

• Abra um emulador de Bash e adicione o parâmetro GIT_SSH_COMMAND="ssh" antes do comando doGit. Por exemplo, se você está tentando clonar um repositório, em vez de executar git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo, execute:

GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

• Renomeie ou exclua a variável de ambiente GIT_SSH se não a estiver mais utilizando. Em seguida, abraum novo prompt de comando ou uma sessão do emulador de Bash e teste o comando novamente.

Para obter mais informações sobre como solucionar problemas com o Git no Windows ao usar o SSH,consulte Resolução de problemas de ligações SSH (p. 391).

Versão da API 2015-04-13403

Page 413: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioResolução de problemas com erros de acesso

Resolução de problemas de erros de acesso eAWS CodeCommit

As seguintes informações podem ajudá-lo a resolver problemas de acesso ao ligar-se a AWS CodeCommitrepositórios.

Tópicos• Erro de acesso: Sou-me pedido um nome de utilizador e palavra-passe quando me ligar a um

CodeCommit repositório do Windows (p. 404)• Erro de acesso: Chave pública negada ao ligar a um CodeCommit repositório (p. 404)• Erro de acesso: Mensagem “Taxa excedida” ou “429” quando ligar a um CodeCommit

repositório (p. 405)

Erro de acesso: Sou-me pedido um nome de utilizadore palavra-passe quando me ligar a um CodeCommitrepositório do WindowsProblema: Quando tenta utilizar Git para comunicar com um Repositório do CodeCommit, verá uma caixade diálogo que lhe pede o seu nome de utilizador e palavra-passe.

Correções possíveis: Este pode ser o sistema de gestão de credenciais integrado para Windows.Dependendo da sua configuração, siga um destes procedimentos:

• Se você estiver usando HTTPS com credenciais do Git, suas credenciais do Git ainda não estãoarmazenadas no sistema. Forneça as credenciais do Git e continue. Você não deve ser avisadonovamente. Para obter mais informações, consulte Para utilizadores HTTPS utilizando credenciaisGit (p. 10).

• Se você estiver usando o HTTPS com o auxiliar de credenciais para AWS CodeCommit, ele não serácompatível com o sistema de gerenciamento de credenciais do Windows. Escolher Cancelar.

Isso também pode indicar que você instalou o Git Credential Manager ao instalar o Git para Windows.O Git Credential Manager não é compatível com o assistente de credenciais incluso para CodeCommitincluído na AWS CLI. Considere desinstalar o Git Credential Manager. Você também pode instalar econfigurar git-remote-codecommit como uma alternativa ao uso do assistente de credenciais para oCodeCommit.

Para mais informações, consulte Passos de configuração para ligações HTTPS para AWS CodeCommitcom código de controlo git-remote (p. 14), Para ligações HTTPS no Windows com o AWS CLI auxiliar decredencial (p. 50), e T para Windows: Instalei Git para Windows, mas tenho acesso ao meu repositório(403) (p. 400).

Erro de acesso: Chave pública negada ao ligar a umCodeCommit repositórioProblema: Quando tenta utilizar um parâmetro de avaliação SSH para comunicar com um Repositório doCodeCommit, aparece uma mensagem de erro que contém a frase Error: public key denied.

Correções possíveis: O motivo mais comum para este erro é que não concluiu a configuração paraligações SSH. Configure um par de chaves SSH público e privado e depois associe a chave pública com o

Versão da API 2015-04-13404

Page 414: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioErro de acesso: Mensagem “Taxa excedida” ou

“429” quando ligar a um CodeCommit repositório

seu IAM utilizador. Para obter mais informações sobre a configuração de SSH, consulte Para ligações SSHem Linux, macOS, or Unix (p. 35) e Para ligações SSH no Windows (p. 40).

Erro de acesso: Mensagem “Taxa excedida” ou “429”quando ligar a um CodeCommit repositórioProblema: Quando tenta comunicar com um CodeCommit repositório, aparece uma mensagem quediz “Rate Exceeded” (Taxa excedida) ou com um código de erro “429”. A comunicação é reduzidasignificativamente ou há falha na comunicação.

Causa Todas as chamadas para CodeCommit, seja de uma aplicação, o AWS CLI, um cliente Git ou aConsola de gestão AWS estão sujeitos a um número máximo de pedidos por segundo e pedidos ativosgerais. Não pode exceder a taxa de pedido máxima permitida para um AWS conta em qualquer AWSRegião. Se os pedidos excederem a taxa máxima, recebe um erro e são temporariamente criados maischamadas para o seu AWS conta. Durante o período de limitação, as conexões com o CodeCommit têm avelocidade reduzida e podem falhar.

Correções possíveis: Tome medidas para reduzir o número de ligações ou chamadas para CodeCommitou para distribuir pedidos. Alguns abordagens a serem consideradas:

• Implemente a oscilação nas solicitações, especialmente em solicitações de sondagem periódicas

Se tiver uma aplicação que está a ser processada CodeCommit periodicamente e esta aplicação está aser executada em vários Amazon EC2 casos, introduzir o jitter (uma quantidade de atraso aleatória) paraque seja diferente Amazon EC2 as consultas não respondem ao mesmo segundo. Recomendamos umnúmero aleatório de 0 a 59 segundos para distribuir uniformemente os mecanismos de sondagem emum período de um minuto.

• Usar uma arquitetura baseada em eventos em vez de sondagem

Em vez da sondagem, use uma arquitetura baseada em eventos para que as chamadas só sejamfeitas quando ocorrer um evento. Considerar utilizar Eventos do CloudWatch notificações para AWSCodeCommit eventos para ativar o seu fluxo de trabalho.

• Implementar novas tentativas em caso de erro e recuos exponenciais para APIs e ações do Gitautomatizadas

Novas tentativas em caso de erro e recuos exponenciais podem ajudar a limitar a taxa de chamadas.Cada SDK da AWS implementa a lógica de novas tentativas automáticas e algoritmos de recuoexponencial. Para Git push e Git pull automatizado, talvez seja necessário implementar sua próprialógica de novas tentativas. Para mais informações, consulte Retries de erros e Backoff Exponencial emAWS.

• Solicitar um CodeCommit aumento da quota de serviço no AWS Centro de apoio

Para receber um aumento de limite do serviço, você deve confirmar que já seguiu as sugestõesoferecidas aqui, incluindo a implementação de novas tentativas em caso de erro ou métodos de recuoexponencial. No seu pedido, também deve fornecer o AWS Região, AWS e o período de tempo afetadopelos problemas de lançamento.

Erros de configuração de resolução de problemas eAWS CodeCommit

As seguintes informações podem ajudá-lo a resolver problemas de configuração que possa ver quando seliga AWS CodeCommit repositórios.

Tópicos

Versão da API 2015-04-13405

Page 415: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioErro de configuração: Não é possível

configurar AWS CLI credenciais em macOS

• Erro de configuração: Não é possível configurar AWS CLI credenciais em macOS (p. 406)

Erro de configuração: Não é possível configurar AWSCLI credenciais em macOSProblema: Quando corre aws configure para configurar o AWS CLI, verá um ConfigParseErrormensagem.

Correções possíveis: A causa mais comum para este erro é que já existe um ficheiro de credenciais.Procure ~/.aws e procure um ficheiro com o nome credentials. Altere o nome ou elimine esse ficheiro e,em seguida, execute aws configure novamente.

Resolução de problemas de erros da consola eAWS CodeCommit

As seguintes informações podem ajudá-lo a resolver problemas na consola quando utilizar AWSCodeCommit repositórios.

Tópicos• Erro de acesso: Acesso a chave de encriptação negado para um CodeCommit repositório da consola

ou AWS CLI (p. 405)• Erro da consola: Não é possível pesquisar o código num CodeCommit repositório da consola (p. 406)

Erro de acesso: Acesso a chave de encriptaçãonegado para um CodeCommit repositório da consolaou AWS CLIProblema: Quando tenta aceder CodeCommit da consola ou do AWS CLI, aparece uma mensagem deerro que contém a frase EncryptionKeyAccessDeniedException ou User is not authorizedfor the KMS default master key for CodeCommit 'aws/codecommit' in your account.

Correções possíveis: A causa mais comum para este erro é que o seu AWS a conta não subscreveu AWSKey Management Service, que é necessário para CodeCommit. Abra o IAM consola, escolher Chavesde encriptação, e depois escolha Começar agora. Caso apareça uma mensagem informando que vocênão assinou o serviço do AWS Key Management Service, siga as instruções nessa página para assinar.Para mais informações sobre CodeCommit e AWS Key Management Service, consulte AWS KMS eencriptação (p. 300).

Erro da consola: Não é possível pesquisar o códigonum CodeCommit repositório da consolaProblema: Quando tenta navegar no conteúdo de um repositório da consola, aparece uma mensagem deerro a negar o acesso.

Correções possíveis: A causa mais comum para este erro é que IAM política aplicada ao seu AWS a contadenuncia uma ou mais das permissões necessárias para o código de navegação do CodeCommit consola.Para obter mais informações sobre as permissões de acesso e a navegação do CodeCommit, consulteAutenticação e controle de acesso para o AWS CodeCommit (p. 309).

Versão da API 2015-04-13406

Page 416: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioGatilhos de resolução de problemas

Gatilhos de resolução de problemas e AWSCodeCommit

As seguintes informações podem ajudá-lo a solucionar problemas com gatilhos no AWS CodeCommit.

Tópicos• Erro de accionamento: Um desencadeador de repositório não funciona quando esperado (p. 407)

Erro de accionamento: Um desencadeador derepositório não funciona quando esperadoProblema: Um ou mais acionadores configurados para um repositório não parecem correr ou nãofuncionam como esperado.

Correções possíveis: Se o alvo do gatilho for um AWS Lambda função, certifique-se de que configurou apolítica de recursos da função para aceder CodeCommit. Para obter mais informações, consulte Exemplo3 Criar uma política para AWS Lambda integração com um CodeCommit gatilho (p. 336).

Como alternativa, edite o gatilho e certifique-se de que os eventos para os quais deseja desencadearações tenham sido selecionados e que as ramificações do gatilho incluam a ramificação na qual vocêdeseja ver respostas às ações. Tente alterar as definições para o disparo para Todos os eventos dorepositório e Todas as filiais e depois teste o gatilho. Para obter mais informações, consulte Editaracionadores para um repositório (p. 125).

Activar depuraçãoProblema: Quero ativar a depuração para obter mais informações sobre o meu repositório e como Git estáa executar comandos.

Correções possíveis: Faça o seguinte:

1. No terminal ou no prompt de comando, execute os seguintes comandos na máquina local antes deexecutar os comandos do Git:

Em Linux, macOS, or Unix:

export GIT_TRACE_PACKET=1export GIT_TRACE=1export GIT_CURL_VERBOSE=1

No Windows

set GIT_TRACE_PACKET=1set GIT_TRACE=1set GIT_CURL_VERBOSE=1

Note

A configuração GIT_CURL_VERBOSE é útil somente para conexões HTTPS. SSH não utiliza olibcurl biblioteca.

Versão da API 2015-04-13407

Page 417: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioActivar depuração

2. Para obter mais informações sobre o repositório do Git, crie um script de shell semelhante ao seguintee execute o script:

#!/bin/sh

gc_output=`script -q -c 'git gc' | grep Total`object_count=$(echo $gc_output | awk -F ' |\(|\)' '{print $2}')delta_count=$(echo $gc_output | awk -F ' |\(|\)' '{print $5}')

verify_pack_output=`git verify-pack -v objects/pack/pack-*.pack .git/objects/pack/pack-*.pack 2>/dev/null`largest_object=$(echo "$verify_pack_output" | grep blob | sort -k3nr | head -n 1 | awk '{print $3/1024" KiB"}')largest_commit=$(echo "$verify_pack_output" | grep 'tree\|commit\|tag' | sort -k3nr | head -n 1 | awk '{print $3/1024" KiB"}')longest_delta_chain=$(echo "$verify_pack_output" | grep chain | tail -n 1 | awk -F ' |:' '{print $4}')

branch_count=`git branch -a | grep remotes/origin | grep -v HEAD | wc -l`if [ $branch_count -eq 0 ]; then branch_count=`git branch -l | wc -l`fi

echo "Size: `git count-objects -v | grep size-pack | awk '{print $2}'` KiB"echo "Branches: $branch_count"echo "Tags: `git show-ref --tags | wc -l`"echo "Commits: `git rev-list --all | wc -l`"echo "Objects: $object_count"echo "Delta objects: $delta_count"echo "Largest blob: $largest_object"echo "Largest commit/tag/tree: $largest_commit"echo "Longest delta chain: $longest_delta_chain"

3. Se estes passos não fornecerem informações suficientes para resolver o problema sozinho, peçaajuda o AWS CodeCommit fórum. Certifique-se de incluir resultados relevantes dessas etapas na suapublicação.

Versão da API 2015-04-13408

Page 418: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioParâmetros de ligação de regiões e Git

AWS CodeCommitReferência do doOs seguintes tópicos de referência podem ajudá-lo a compreender melhor CodeCommit, Git, AWSRegiões, limites de serviço e mais.

Tópicos• Parâmetros de avaliação de regiões e Git para AWS CodeCommit (p. 409)• Utilizar AWS CodeCommit com terminais VPC de interface (p. 415)• Cotas no AWS CodeCommit (p. 418)• AWS CodeCommitReferência da linha de comando do (p. 422)• Comandos de Git básicos (p. 426)

Parâmetros de avaliação de regiões e Git paraAWS CodeCommit

Cada CodeCommit o repositório está associado a um AWS Região. CodeCommit disponibiliza parâmetrosde avaliação regionais para fazer os seus pedidos ao serviço. Além disso, CodeCommit forneceparâmetros de avaliação Git para protocolos SSH e HTTPS em cada região onde CodeCommit estádisponível.

Todos os exemplos deste guia usam a mesma URL do endpoint para o Git na Leste dos EUA (Ohio): git-codecommit.us-east-2.amazonaws.com. No entanto, quando utilizar Git e configurar as ligações,certifique-se de que escolhe o parâmetro de ligação Git que corresponde à região AWS que aloja o seuCodeCommit repositório. Por exemplo, se quiser estabelecer uma ligação a um repositório em Leste dosEUA (Norte da Virgínia), utilize o URL do endpoint de git-codecommit.us-east-1.amazonaws.com.Isto também é verdade para chamadas API. Quando faz ligações a um CodeCommit repositório como AWS CLI ou os sdks, certifique-se de que utiliza o parâmetro de avaliação regional correto para orepositório.

Tópicos• Regiões AWS suportadas para CodeCommit (p. 409)• Parâmetros de ligação de T (p. 410)• Impressões digitais do servidor para CodeCommit (p. 413)

Regiões AWS suportadas para CodeCommitPode criar e utilizar CodeCommit repositórios nos seguintes AWS Regiões:

• Leste dos EUA (Ohio)• Leste dos EUA (Norte da Virgínia)• Oeste dos EUA (Norte da Califórnia)• Oeste dos EUA (Oregon)• Europa (Irlanda)• Europa (Londres)• Europa (Paris)• Europa (Frankfurt)• Europa (Estocolmo)• Ásia-Pacífico (Tóquio)

Versão da API 2015-04-13409

Page 419: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioParâmetros de ligação de T

• Ásia-Pacífico (Cingapura)• Ásia-Pacífico (Sydney)• Ásia-Pacífico (Seul)• Ásia Pacífico (Mumbai)• Ásia-Pacífico (Hong Kong)• América do Sul (São Paulo)• Oriente Médio (Bahrein)• Canadá (Central)• China (Pequim)• China (Ningxia)• AWS GovCloud (Oeste dos EUA)• AWS GovCloud (Leste dos EUA)

CodeCommitO incluiu suporte adicional para a publicação 140-2 do padrão governamental da Normafederal de processamento de informações (Federal Information Processing Standard, FIPS) em algumasregiões. Para mais informações sobre os parâmetros de avaliação FIPS e FIPS, consulte Norma deProcessamento da Informação Federal (FIPS) 140-2 Síntese. Para os endpoints de conexão do Git queoferecem suporte à FIPS, consulte Parâmetros de ligação de T (p. 410).

Para mais informações sobre os parâmetros de avaliação regionais para AWS CLI, serviço e chamadasAPI para CodeCommit, consulte AWS CodeCommit Parâmetros de avaliação e quotas.

Parâmetros de ligação de TUtilize os seguintes url quando configurar ligações Git para CodeCommit repositórios:

Endpoints de conexão do Git para o AWS CodeCommit

Nome da região Região URL do endpoint Protocolo

Leste dos EUA (Ohio) us-east-2 https://git-codecommit.us-east-2.amazonaws.com

HTTPS

Leste dos EUA (Ohio) us-east-2 ssh://git-codecommit.us-east-2.amazonaws.com

SSH

Leste dos EUA (Ohio) us-east-2 https://git-codecommit-fips.us-east-2.amazonaws.com

HTTPS

Leste dos EUA (Norteda Virgínia)

us-east-1 https://git-codecommit.us-east-1.amazonaws.com

HTTPS

Leste dos EUA (Norteda Virgínia)

us-east-1 ssh://git-codecommit.us-east-1.amazonaws.com

SSH

Leste dos EUA (Norteda Virgínia)

us-east-1 https://git-codecommit-fips.us-east-1.amazonaws.com

HTTPS

Oeste dos EUA(Oregon)

us-west-2 https://git-codecommit.us-west-2.amazonaws.com

HTTPS

Oeste dos EUA(Oregon)

us-west-2 ssh://git-codecommit.us-west-2.amazonaws.com

SSH

Versão da API 2015-04-13410

Page 420: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioParâmetros de ligação de T

Nome da região Região URL do endpoint Protocolo

Oeste dos EUA(Oregon)

us-west-2 https://git-codecommit-fips.us-west-2.amazonaws.com

HTTPS

Oeste dos EUA (Norteda Califórnia)

us-west-1 https://git-codecommit.us-west-1.amazonaws.com

HTTPS

Oeste dos EUA (Norteda Califórnia)

us-west-1 ssh://git-codecommit.us-west-1.amazonaws.com

SSH

Oeste dos EUA (Norteda Califórnia)

us-west-1 https://git-codecommit-fips.us-west-1.amazonaws.com

HTTPS

Europa (Irlanda) eu-west-1 https://git-codecommit.eu-west-1.amazonaws.com

HTTPS

Europa (Irlanda) eu-west-1 ssh://git-codecommit.eu-west-1.amazonaws.com

SSH

Ásia-Pacífico (Tóquio) ap-northeast-1 https://git-codecommit.ap-northeast-1.amazonaws.com

HTTPS

Ásia-Pacífico (Tóquio) ap-northeast-1 ssh://git-codecommit.ap-northeast-1.amazonaws.com

SSH

Ásia-Pacífico(Cingapura)

ap-southeast-1 https://git-codecommit.ap-southeast-1.amazonaws.com

HTTPS

Ásia-Pacífico(Cingapura)

ap-southeast-1 ssh://git-codecommit.ap-southeast-1.amazonaws.com

SSH

Ásia-Pacífico (Sydney) ap-southeast-2 https://git-codecommit.ap-southeast-2.amazonaws.com

HTTPS

Ásia-Pacífico (Sydney) ap-southeast-2 ssh://git-codecommit.ap-southeast-2.amazonaws.com

SSH

Europa (Frankfurt) eu-central-1 https://git-codecommit.eu-central-1.amazonaws.com

HTTPS

Europa (Frankfurt) eu-central-1 ssh://git-codecommit.eu-central-1.amazonaws.com

SSH

Ásia-Pacífico (Seul) ap-northeast-2 https://git-codecommit.ap-northeast-2.amazonaws.com

HTTPS

Ásia-Pacífico (Seul) ap-northeast-2 ssh://git-codecommit.ap-northeast-2.amazonaws.com

SSH

América do Sul (SãoPaulo)

sa-east-1 https://git-codecommit.sa-east-1.amazonaws.com

HTTPS

América do Sul (SãoPaulo)

sa-east-1 ssh://git-codecommit.sa-east-1.amazonaws.com

SSH

Europa (Londres) eu-west-2 https://git-codecommit.eu-west-2.amazonaws.com

HTTPS

Versão da API 2015-04-13411

Page 421: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioParâmetros de ligação de T

Nome da região Região URL do endpoint Protocolo

Europa (Londres) eu-west-2 ssh://git-codecommit.eu-west-2.amazonaws.com

SSH

Ásia Pacífico (Mumbai) ap-south-1 https://git-codecommit.ap-south-1.amazonaws.com

HTTPS

Ásia Pacífico (Mumbai) ap-south-1 ssh://git-codecommit.ap-south-1.amazonaws.com

SSH

Canadá (Central) ca-central-1 https://git-codecommit.ca-central-1.amazonaws.com

HTTPS

Canadá (Central) ca-central-1 ssh://git-codecommit.ca-central-1.amazonaws.com

SSH

Canadá (Central) ca-central-1 https://git-codecommit-fips.ca-central-1.amazonaws.com

HTTPS

Europa (Paris) eu-west-3 https://git-codecommit.eu-west-3.amazonaws.com

HTTPS

Europa (Paris) eu-west-3 ssh://git-codecommit.eu-west-3.amazonaws.com

SSH

AWS GovCloud (Oestedos EUA)

us-gov-west-1 https://git-codecommit.us-gov-west-1.amazonaws.com

HTTPS

AWS GovCloud (Oestedos EUA)

us-gov-west-1 ssh://git-codecommit.us-gov-west-1.amazonaws.com

SSH

AWS GovCloud (Oestedos EUA)

us-gov-west-1 https://git-codecommit-fips.us-gov-west-1.amazonaws.com

HTTPS

AWS GovCloud (Lestedos EUA)

us-gov-east-1 https://git-codecommit.us-gov-east-1.amazonaws.com

HTTPS

AWS GovCloud (Lestedos EUA)

us-gov-east-1 ssh://git-codecommit.us-gov-east-1.amazonaws.com

SSH

AWS GovCloud (Lestedos EUA)

us-gov-east-1 https://git-codecommit-fips.us-gov-east-1.amazonaws.com

HTTPS

Europa (Estocolmo) eu-north-1 https://git-codecommit.eu-north-1.amazonaws.com

HTTPS

Europa (Estocolmo) eu-north-1 ssh://git-codecommit.eu-north-1.amazonaws.com

SSH

Oriente Médio (Bahrein) me-south-1 https://git-codecommit.me-south-1.amazonaws.com

HTTPS

Versão da API 2015-04-13412

Page 422: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioImpressões digitais do servidor para CodeCommit

Nome da região Região URL do endpoint Protocolo

Oriente Médio (Bahrein) me-south-1 ssh://git-codecommit.me-south-1.amazonaws.com

SSH

Ásia-Pacífico (HongKong)

ap-east-1 https://git-codecommit.ap-east-1.amazonaws.com

HTTPS

Ásia-Pacífico (HongKong)

ap-east-1 ssh://git-codecommit.ap-east-1.amazonaws.com

SSH

China (Pequim) cn-north-1 https://git-codecommit.cn-north-1.amazonaws.com.cn

HTTPS

China (Pequim) cn-north-1 ssh://git-codecommit.cn-north-1.amazonaws.com.cn

SSH

China (Ningxia) cn-northwest-1 https://git-codecommit.cn-northwest-1.amazonaws.com.cn

HTTPS

China (Ningxia) cn-northwest-1 ssh://git-codecommit.cn-northwest-1.amazonaws.com.cn

SSH

Impressões digitais do servidor para CodeCommitA tabela a seguir lista as impressões digitais públicas para os endpoints de conexão do Git noCodeCommit. Essas impressões digitais do servidor são exibidas como parte do processo de verificaçãopara adicionar um endpoint ao arquivo de hosts conhecido.

Impressões digitais públicas para CodeCommit

Servidor Tipo de hash criptográfico Impressão digital

git-codecommit.us-east-2.amazonaws.com

MD5 a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e

git-codecommit.us-east-2.amazonaws.com

SHA256 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ

git-codecommit.us-east-1.amazonaws.com

MD5 a6:9c:7d:bc:35:f5:d4:5f:8b:ba:6f:c8:bc:d4:83:84

git-codecommit.us-east-1.amazonaws.com

SHA256 eLMY1j0DKA4uvDZcl/KgtIayZANwX6t8+8isPtotBoY

git-codecommit.us-west-2.amazonaws.com

MD5 a8:68:53:e3:99:ac:6e:d7:04:7e:f7:92:95:77:a9:77

git-codecommit.us-west-2.amazonaws.com

SHA256 0pJx9SQpkbPUAHwy58UVIq0IHcyo1fwCpOOuVgcAWPo

git-codecommit.eu-west-1.amazonaws.com

MD5 93:42:36:ea:22:1f:f1:0f:20:02:4a:79:ff:ea:12:1d

git-codecommit.eu-west-1.amazonaws.com

SHA256 tKjRkOL8dmJyTmSbeSdN1S8F/f0iql3RlvqgTOP1UyQ

git-codecommit.ap-northeast-1.amazonaws.com

MD5 8e:a3:f0:80:98:48:1c:5c:6f:59:db:a7:8f:6e:c6:cb

Versão da API 2015-04-13413

Page 423: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioImpressões digitais do servidor para CodeCommit

Servidor Tipo de hash criptográfico Impressão digital

git-codecommit.ap-northeast-1.amazonaws.com

SHA256 Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow

git-codecommit.ap-southeast-1.amazonaws.com

MD5 65:e5:27:c3:09:68:0d:8e:b7:6d:94:25:80:3e:93:cf

git-codecommit.ap-southeast-1.amazonaws.com

SHA256 ZIsVa7OVzxrTIf+Rk4UbhPv6Es22mSB3uTBojfPXIno

git-codecommit.ap-southeast-2.amazonaws.com

MD5 7b:d2:c1:24:e6:91:a5:7b:fa:c1:0c:35:95:87:da:a0

git-codecommit.ap-southeast-2.amazonaws.com

SHA256 nYp+gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec

git-codecommit.eu-central-1.amazonaws.com

MD5 74:5a:e8:02:fc:b2:9c:06:10:b4:78:84:65:94:22:2d

git-codecommit.eu-central-1.amazonaws.com

SHA256 MwGrkiEki8QkkBtlAgXbYt0hoZYBnZF62VY5RzGJEUY

git-codecommit.ap-northeast-2.amazonaws.com

MD5 9f:68:48:9b:5f:fc:96:69:39:45:58:87:95:b3:69:ed

git-codecommit.ap-northeast-2.amazonaws.com

SHA256 eegAPQrWY9YsYo9ZHIKOmxetfXBHzAZd8Eya53Qcwko

git-codecommit.sa-east-1.amazonaws.com

MD5 74:99:9d:ff:2b:ef:63:c6:4b:b4:6a:7f:62:c5:4b:51

git-codecommit.sa-east-1.amazonaws.com

SHA256 kW+VKB0jpRaG/ZbXkgbtMQbKgEDK7JnISV3SVoyCmzU

git-codecommit.us-west-1.amazonaws.com

MD5 3b:76:18:83:13:2c:f8:eb:e9:a3:d0:51:10:32:e7:d1

git-codecommit.us-west-1.amazonaws.com

SHA256 gzauWTWXDK2u5KuMMi5vbKTmfyerdIwgSbzYBODLpzg

git-codecommit.eu-west-2.amazonaws.com

MD5 a5:65:a6:b1:84:02:b1:95:43:f9:0e:de:dd:ed:61:d3

git-codecommit.eu-west-2.amazonaws.com

SHA256 r0Rwz5k/IHp/QyrRnfiM9j02D5UEqMbtFNTuDG2hNbs

git-codecommit.ap-south-1.amazonaws.com

MD5 da:41:1e:07:3b:9e:76:a0:c5:1e:64:88:03:69:86:21

git-codecommit.ap-south-1.amazonaws.com

SHA256 hUKwnTj7+Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE

git-codecommit.ca-central-1.amazonaws.com

MD5 9f:7c:a2:2f:8c:b5:74:fd:ab:b7:e1:fd:af:46:ed:23

git-codecommit.ca-central-1.amazonaws.com

SHA256 Qz5puafQdANVprLlj6r0Qyh4lCNsF6ob61dGcPtFS7w

git-codecommit.eu-west-3.amazonaws.com

MD5 1b:7f:97:dd:d7:76:8a:32:2c:bd:2c:7b:33:74:6a:76

Versão da API 2015-04-13414

Page 424: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioUtilizar AWS CodeCommit com terminais VPC de interface

Servidor Tipo de hash criptográfico Impressão digital

git-codecommit.eu-west-3.amazonaws.com

SHA256 uw7c2FL564jVoFgtc+ikzILnKBsZz7t9+CFdSJjKbLI

git-codecommit.us-gov-west-1.amazonaws.com

MD5 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69

git-codecommit.us-gov-west-1.amazonaws.com

SHA256 djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4

git-codecommit.us-gov-east-1.amazonaws.com

MD5 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2

git-codecommit.us-gov-east-1.amazonaws.com

SHA256 fVb+R0z7qW7minenW+rUpAABRCRBTCzmETAJEQrg98

git-codecommit.eu-north-1.amazonaws.com

MD5 8e:53:d8:59:35:88:82:fd:73:4b:60:8a:50:70:38:f4

git-codecommit.eu-north-1.amazonaws.com

SHA256 b6KSK7xKq+V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ

git-codecommit.me-south-1.amazonaws.com

MD5 0e:39:28:56:d5:41:e6:8d:fa:81:45:37:fb:f3:cd:f7

git-codecommit.me-south-1.amazonaws.com

SHA256 O+NToCGgjrHekiBuOl0ad7ROGEsz+DBLXOd/c9wc0JU

git-codecommit.ap-east-1.amazonaws.com

MD5 a8:00:3d:24:52:9d:61:0e:f6:e3:88:c8:96:01:1c:fe

git-codecommit.ap-east-1.amazonaws.com

SHA256 LafadYwUYW8hONoTRpojbjNs9IRnbEwHtezD3aAIBX0

git-codecommit.cn-north-1.amazonaws.com.cn

MD5 11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3

git-codecommit.cn-north-1.amazonaws.com.cn

SHA256 IYUXxH2OpTDsyYMLIp+JY8CTLS4UX+ZC5JVZXPRaxc8

git-codecommit.cn-northwest-1.amazonaws.com.cn

MD5 2e:a7:fb:4c:33:ac:6c:f9:aa:f2:bc:fb:0a:7b:1e:b6

git-codecommit.cn-northwest-1.amazonaws.com.cn

SHA256 wqjd6eHd0+mOBx+dCNuL0omUoCNjaDtZiEpWj5TmCfQ

Utilizar AWS CodeCommit com terminais VPC deinterface

Se utilizar Amazon Virtual Private Cloud (Amazon VPC) para organizar o seu AWS recursos, podeestabelecer uma ligação privada entre o seu VPC e CodeCommit. Você pode usar essa conexão parahabilitar o CodeCommit a se comunicar com os seus recursos na VPC sem passar pela Internet pública.

Versão da API 2015-04-13415

Page 425: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAvailability

Amazon VPC é um AWS que pode utilizar para iniciar AWS recursos numa rede virtual que define. Coma VPC, você tem controle sobre as configurações de rede, como o intervalo de endereços IP, sub-redes,tabelas de rotas e gateways de rede. Com VPC endpoints, o roteamento entre a VPC e os serviçosda AWS é realizado pela rede da AWS e você pode usar políticas do IAM para controlar o acesso aosrecursos do serviço.

Para ligar o seu VPC a CodeCommit, define um interface de ponto final VPC para CodeCommit. Umendpoint da interface é uma interface de rede elástica com um endereço IP privado que serve como pontode entrada para o tráfego destinado ao serviço da AWS com suporte. O endpoint fornece conectividadeconfiável e dimensionável com o CodeCommit sem a necessidade de um gateway de Internet, da instânciade conversão de endereço de rede (NAT) ou de uma conexão VPN. Para mais informações, consulte Oque é Amazon VPC no Guia do usuário da Amazon VPC.

Note

Outro AWS serviços que fornecem suporte VPC e integram com CodeCommit, como AWSCodePipeline, pode não suportar a utilização Amazon VPC para essa integração. Por exemplo,tráfego entre CodePipeline e CodeCommit não pode ser restringido ao intervalo de subrede VPC.

Os terminais de VPC da interface são alimentados por AWS privado, um AWS tecnologia que permitea comunicação privada entre AWS serviços utilizando uma interface de rede elástica com endereços IPprivados. Para mais informações, consulte AWS ligação privativa.

As etapas a seguir são para usuários de Amazon VPC. Para mais informações, consulte Começar no Guiado usuário da Amazon VPC.

AvailabilityCodeCommitNo momento, o AWS oferece suporte a VPC endpoints nas seguintes regiões da :

• Leste dos EUA (Ohio)• Leste dos EUA (Norte da Virgínia)• Oeste dos EUA (Norte da Califórnia)• Oeste dos EUA (Oregon)• Europa (Irlanda)• Europa (Londres)• Europa (Paris)• Europa (Frankfurt)• Europa (Estocolmo)• Ásia-Pacífico (Tóquio)• Ásia-Pacífico (Cingapura)• Ásia-Pacífico (Sydney)• Ásia-Pacífico (Seul)• Ásia Pacífico (Mumbai)• Ásia-Pacífico (Hong Kong)• América do Sul (São Paulo)• Oriente Médio (Bahrein)• Canadá (Central)• China (Pequim)• China (Ningxia)• AWS GovCloud (Oeste dos EUA)• AWS GovCloud (Leste dos EUA)

Versão da API 2015-04-13416

Page 426: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCriar parâmetros de avaliação de VPC para CodeCommit

Criar parâmetros de avaliação de VPC paraCodeCommitPara começar a utilizar CodeCommit com o seu VPC, crie um parâmetro de avaliação VPC de interfacepara CodeCommit. CodeCommit requer parâmetros de avaliação separados para operações de Git e paraCodeCommit Operações API. Dependendo das necessidades da sua empresa, pode ser necessário criarmais de um VPC endpoint. Quando cria um parâmetro de VPC para CodeCommit, escolha AWS Serviços,e em Nome do serviço, escolha entre as seguintes opções:

• com.amazonaws.regioncódigo de-codificação.git: Escolha esta opção se quiser criar um parâmetro deVPC para operações de Git com CodeCommit repositórios. Por exemplo, escolha esta opção se os seusutilizadores utilizarem um cliente Git e comandos como git pull, git commit, e git push quandointeragem com CodeCommit repositórios.

• com.amazonaws.regioncódigo-de-barras-git: Escolha esta opção se quiser criar um parâmetro de VPCpara operações de Git com CodeCommit repositórios que cumprem a norma 140-2 da norma federal deprocessamento de informações (FIPS) da Federal Information Processing Standard.

• com.amazonaws.regioncodecommit: Escolha esta opção se quiser criar um parâmetro de avaliaçãoVPC para CodeCommit Operações API. Por exemplo, escolha esta opção se os seus utilizadoresutilizarem o AWS CLI, o CodeCommit API ou AWS sdks para interagir com CodeCommit operaçõescomo CreateRepository, ListRepositories, e PutFile.

• com.amazonaws.region.códigosde código: Escolha esta opção se quiser criar um parâmetro deavaliação VPC para CodeCommit As operações da API que estão em conformidade com a norma dogoverno norte-americano da publicação 140-2 da Federal Information Processing Standard (FIPS).

Criar uma política de VPC endpoint para oCodeCommitPode criar uma política para Amazon VPC parâmetros de avaliação para CodeCommit em que podeespecificar:

• O principal que pode executar ações.• As ações que podem ser executadas.• Os recursos que podem ter ações executadas neles.

Por exemplo, uma empresa pode querer restringir o acesso a repositórios para o intervalo de endereçosde rede em uma VPC. Você pode visualizar um exemplo desse tipo de política aqui: . Exemplo 3 Permitirque um utilizador ligue a partir de um intervalo de endereços IP especificado acesso a um repositório (p. 331). A empresa configurou dois pontos de avaliação Git VPC para o Leste dos EUA (Ohio) região:com.amazonaws.us-east-2.codecommit e com-amazonaws.us-east-2.git-codecommit-fips.Querem permitir que o código passe para um CodeCommit nome do repositório MyDemoRepo apenas noendpoint compatível com FIPS. Para que isso seja aplicado, eles configurariam uma política semelhanteà seguinte no endpoint com.amazonaws.us-east-2.codecommit que especificamente nega ações deenvio do Git:

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" },

Versão da API 2015-04-13417

Page 427: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCotas

{ "Action": "codecommit:GitPush", "Effect": "Deny", "Resource": "arn:aws:codecommit:us-west-2:123456789012:MyDemoRepo", "Principal": "*" } ]}

Para mais informações, consulte Criar um parâmetro de avaliação da interface no Guia do usuário daAmazon VPC.

Cotas no AWS CodeCommitA tabela a seguir descreve as cotas no CodeCommit. Para obter informações sobre quotas que podem seralteradas, consulte AWS CodeCommit Parâmetros de avaliação e quotas e AWS Quotas de serviço. Paraobter informações sobre as versões necessárias do Git e outros softwares, consulte Compatibilidade paraCodeCommit, Git e outros componentes (p. 10).

Nomes de regra de aprovação e modelo de regrade aprovação

Qualquer combinação de letras, números, pontos,espaços, sublinhados e traços entre 1 e 100caracteres de comprimento. Os nomes diferenciamletras maiúsculas de minúsculas. Nomes nãopodem terminar em .git nem conter nenhum dosseguintes caracteres: ! ? @ # $ % ^ & * ( )+ = { } [ ] | \ / > < ~ ` ' " ; :

Tamanho do conteúdo da regra de aprovação 3.000 caracteres

Tamanho da descrição do modelo de regra deaprovação

1.000 caracteres

Referências de destino do modelo de regra deaprovação

-100

Modelos de regras de aprovação 1000 num AWS Região

Regras de aprovação em uma solicitação pull Até 30 no máximo. Até 25 delas podem ser demodelos de regras de aprovação.

Regras de aprovação em uma solicitação pullcriadas em um modelo de regra de aprovação

25*

Aprovações em uma solicitação pull 200 USD

Aprovadores em um grupo de aprovações 50

Nomes de ramificação Qualquer combinação dos caracteres permitidosentre 1 e 256 caracteres. Nomes de ramificaçãonão podem:

• começar nem terminar com uma barra (/) ou umponto (.)

• consistir em único caractere @• conter dois ou mais períodos consecutivos

(..), barras para a frente (//) ou a seguintecombinação de caracteres: @{

Versão da API 2015-04-13418

Page 428: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCotas

• conter espaços ou qualquer um dos seguintescaracteres: ? ^ * [ \ ~ :

Os nomes de ramificação são referências.Muitas limitações nos nomes de ramificação sãobaseadas no padrão de referência do Git. Paramais informações, consulte Imóveis Git e formato-ref-verificação-git.

Dados personalizados para triggers Esse campo de string é limitado a 1.000caracteres. Ele não pode ser usado para passarnenhum parâmetro dinâmico.

Os endereços de e-mail em confirmações feitas noconsole

Qualquer combinação dos caracteres permitidosentre 1 e 256 caracteres. Os endereços de e-mailnão foram validados.

Caminhos do arquivo Qualquer combinação dos caracteres permitidosentre 1 e 4,096 caracteres. Os caminhos dearquivo devem ser um nome exclusivo queespecifica o arquivo e o local exato dele. Oscaminhos de arquivo não podem exceder 20diretórios de extensão. Além disso, os caminhos dearquivo não podem:

• conter sequências de caracteres vazias• ser um caminho de arquivo relativo• incluir qualquer uma das seguintes

combinações:

/./

/../

//

• terminar com barra no final ou barra invertida

Os nomes de arquivo e caminhos devem sertotalmente qualificados. O nome e o caminho deum arquivo no seu computador local devem seguiros padrões do sistema operacional em questão.Ao especificar o caminho de um arquivo em umrepositório do CodeCommit, use os padrões doAmazon Linux.

Tamanho do arquivo Máximo de 6 MB para qualquer arquivo individualao usar o console do CodeCommit, APIs, ou aAWS CLI.

Versão da API 2015-04-13419

Page 429: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCotas

Tamanho do blob do Git Máximo de 2 GB.

Note

Não há limite no número ou tamanhototal de todos os arquivos em uma únicaconfirmação, desde que os metadadosnão ultrapassem 6 MB e um único blobnão exceda 2 GB.

Exibição gráfica de ramificações no CommitVisualizer

35 por página. Se houver mais de 35 ramificaçõesem uma única página, o gráfico não será exibido.

Metadados de uma confirmação Máximo de 20 MB para a combinação metadadospara um compromisso (por exemplo, acombinação de informações do autor, data, lista decompromissos principais e mensagens cometidas)quando utilizar o CodeCommit consola, API ouAWS CLI.

Note

Não há limite no número ou tamanhototal de todos os arquivos em uma únicaconfirmação, desde que os dados nãoultrapassem 20 MB, um arquivo individualnão ultrapasse 6 MB e um único blob nãoexceda 2 GB.

Número de referências em um único push Máximo de 4.000, incluindo criação, exclusão eatualização. Não há limites para o número total dereferências no repositório.

Número de repositórios Máximo de 1000 por AWS conta. Esse limite podeser alterado. Para mais informações, consulte AWSCodeCommit Parâmetros de avaliação e quotas eAWS Quotas de serviço.

Número de triggers em um repositório Máximo de 10.

Versão da API 2015-04-13420

Page 430: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCotas

Regiões CodeCommitO AWS está disponível nas seguintesregiões da :

• Leste dos EUA (Ohio)• Leste dos EUA (Norte da Virgínia)• Oeste dos EUA (Norte da Califórnia)• Oeste dos EUA (Oregon)• Europa (Irlanda)• Europa (Londres)• Europa (Paris)• Europa (Frankfurt)• Europa (Estocolmo)• Ásia-Pacífico (Tóquio)• Ásia-Pacífico (Cingapura)• Ásia-Pacífico (Sydney)• Ásia-Pacífico (Seul)• Ásia Pacífico (Mumbai)• Ásia-Pacífico (Hong Kong)• América do Sul (São Paulo)• Oriente Médio (Bahrein)• Canadá (Central)• China (Pequim)• China (Ningxia)• AWS GovCloud (Oeste dos EUA)• AWS GovCloud (Leste dos EUA)

Para obter mais informações, consulte Parâmetrosde ligação de regiões e Git (p. 409).

Descrições de repositório Qualquer combinação de caracteres entre 0 e1.000 caracteres. As descrições de repositório sãoopcionais.

Nomes de repositório Qualquer combinação de letras, números, pontos,sublinhados e traços entre 1 e 100 caracteres.Os nomes diferenciam letras maiúsculas deminúsculas. Nomes de repositório não podemterminar em .git nem conter nenhum dos seguintescaracteres: ! ? @ # $ % ^ & * ( ) + = { }[ ] | \ / > < ~ ` ' " ; :

Versão da API 2015-04-13421

Page 431: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioReferência da linha de comando

Nomes de chave de tag de repositório Qualquer combinação de letras, números, espaçose caracteres Unicode permitidos em UTF-8, entre1 e 128 caracteres de comprimento. Os caracterespermitidos são + - = . _ : / @

Os nomes de chaves de tag devem ser exclusivos,e cada chave só pode ter um valor. Uma tag nãopode:

• começar com aws:• consistir apenas de espaços• terminar com um espaço• conter emojis ou qualquer um dos seguintes

caracteres: ? ^ * [ \ ~ ! # $ % & * ( )> < | " ' ` [ ] { } ;

Valores de tag de repositório Qualquer combinação de letras, números, espaçose caracteres Unicode permitidos em UTF-8, entre1 e 256 caracteres de comprimento. Os caracterespermitidos são + - = . _ : / @

Uma chave pode ter apenas um valor, mas váriaschaves podem ter o mesmo valor. Uma tag nãopode:

• consistir apenas de espaços• terminar com um espaço• conter emojis ou qualquer um dos seguintes

caracteres: ? ^ * [ \ ~ ! # $ % & *( ) > < | " ' ` [ ] { } ;

Tags de repositório As tags diferenciam letras maiúsculas deminúsculas Máximo de 50 por recurso.

Nomes de trigger Qualquer combinação de letras, números, pontos,sublinhados e traços entre 1 e 100 caracteres.Nomes do trigger não podem conter espaços ouvírgulas.

Os nomes de usuário em confirmações feitas noconsole

Qualquer combinação dos caracteres permitidosentre 1 e 1,024 caracteres.

AWS CodeCommitReferência da linha de comandodo

Esta referência ajuda a aprender a usar o AWS CLI.

Como instalar e configurar o AWS CLI

1. Na sua máquina local, baixe e instale o AWS CLI. Esse é um pré-requisito para interagir com oCodeCommit a partir da linha de comando. Para mais informações, consulte Configurar o AWSInterface da linha de comando.

Versão da API 2015-04-13422

Page 432: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioReferência da linha de comando

Note

CodeCommitO AWS CLI trabalha somente com as versões da 1.7.38 e posterior. Comoprática recomendada, instale ou atualize a AWS CLI para a versão mais recente disponível.Para determinar qual a versão do AWS CLI instalou, execute o aws --version comando.Para atualizar uma versão mais antiga do AWS CLI para a versão mais recente, consulteInstalar o AWS Command Line Interface.

2. Execute este comando para verificar o CodeCommit comandos para o AWS CLI estão instalados:

aws codecommit help

Este comando deve devolver uma lista de CodeCommit comandos.3. Configurar o AWS CLI com um perfil utilizando o configure como se segue:

aws configure

Quando solicitado, especifique o AWS chave de acesso e AWS chave de acesso secreta do IAMutilizador para utilizar com CodeCommit. Além disso, certifique-se de que especifica a região AWSonde o repositório existe, como us-east-2. Quando solicitado para o formato de saída predefinido,especifique json. Por exemplo:

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Para obter mais informações sobre como criar e configurar perfis para usar com a AWS CLI, consulteo seguinte:

• Perfis nomeados• Utilizar um IAM Função no AWS CLI• Comando set• A ligar a AWS CodeCommit repositórios com credenciais rotativas (p. 301)

Para se conectar a um repositório ou um recurso em outra região da AWS, é necessário reconfigurar aAWS CLI com o nome da região padrão. Os nomes de região padrão compatíveis com o CodeCommitincluem:

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1 Versão da API 2015-04-13

423

Page 433: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioReferência da linha de comando

• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1

Para obter mais informações sobre o CodeCommit e as regiões da AWS, consulte Parâmetros deligação de regiões e Git (p. 409). Para mais informações sobre IAM, teclas de acesso e teclassecretas, consulte Como obtenho credenciais? e Gerir chaves de acesso para IAM Utilizadores. Paramais informações sobre o AWS CLI e perfis, consulte Perfis nomeados.

Para visualizar uma lista de todos os comandos do CodeCommit disponíveis, execute este comando:

aws codecommit help

Para ver informações sobre um CodeCommit comando, execute o seguinte comando, onde command-name é o nome do comando (por exemplo, create-repository):

aws codecommit command-name help

Veja a seguir descrições e exemplos de uso dos comandos no AWS CLI:

• associate-approval-rule-template-with-repository (p. 215)• batch-associate-approval-rule-template-with-repositories (p. 215)• batch-disassociate-approval-rule-template-from-repositories (p. 220)• batch-describe-merge-conflicts (p. 202)• batch-get-commits (p. 233)• batch-get-repositories (p. 135)• create-approval-rule-template (p. 213)• create-branch (p. 259)• create-commit (p. 226)• create-pull-request (p. 165)• create-pull-request-approval-rule (p. 169)• create-repository (p. 92)• create-unreferenced-merge-commit (p. 205)• delete-approval-rule-template (p. 221)• delete-branch (p. 270)• delete-comment-content (p. 247)• delete-file (p. 159)• delete-repository (p. 152)• describe-merge-conflicts (p. 204)

Versão da API 2015-04-13424

Page 434: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioReferência da linha de comando

• delete-pull-request-approval-rule (p. 188)• describe-pull-request-events (p. 173)• disassociate-pull-request-approval-rule-template-from-repository (p. 220)• evaluate-pull-request-approval-rules (p. 194)• get-approval-rule-template (p. 216)• get-blob (p. 235)• get-branch (p. 265)• get-comment (p. 247)• obter reacções-reacções (p. 251)• get-comments-for-compared-commit (p. 245)• get-comments-for-pull-request (p. 181)• get-commit (p. 231)• get-differences (p. 234)• get-merge-commit (p. 232)• get-merge-conflicts (p. 173)• get-merge-options (p. 200)• get-pull-request (p. 172)• get-pull-request-approval-states (p. 172)• get-pull-request-override-state (p. 190)• get-repository (p. 134)• get-repository-triggers (p. 125)• list-approval-rule-templates (p. 216)• list-associated-approval-rule-templates-for-repository (p. 219)• list-branches (p. 264)• list-pull-requests (p. 171)• list-repositories (p. 134)• list-repositories-for-approval-rule-template (p. 218)• list-tags-for-resource (p. 107)• merge-branches-by-fast-forward (p. 267)• merge-branches-by-squash (p. 267)• merge-branches-by-three-way (p. 268)• merge-pull-request-by-fast-forward (p. 194)• merge-pull-request-by-squash (p. 195)• merge-pull-request-by-three-way (p. 197)• override-pull-request-approval-rules (p. 189)• post-comment-for-compared-commit (p. 248)• post-comment-for-pull-request (p. 180)• post-comment-reply (p. 249)• reação-comentário-a-vestir (p. 250)• put-file (p. 156)• put-repository-triggers (p. 125)• tag-resource (p. 106)

Versão da API 2015-04-13425

Page 435: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioComandos de Git básicos

• test-repository-triggers (p. 127)• untag-resource (p. 110)• update-approval-rule-template-content (p. 217)• update-approval-rule-template-description (p. 218)• update-approval-rule-template-name (p. 217)• update-comment (p. 249)• update-default-branch (p. 269)• update-pull-request-approval-rule-content (p. 188)• update-pull-request-approval-state (p. 182)• update-pull-request-description (p. 184)• update-pull-request-status (p. 207)• update-pull-request-title (p. 183)• update-repository-description (p. 137)• update-repository-name (p. 138)

Comandos de Git básicosPode utilizar Git para trabalhar com um repo local e o Repositório do CodeCommit a que ligou repo local.

Veja alguns exemplos básicos de comandos do Git muito usados abaixo.

Para obter mais opções, consulte a documentação do Git.

Tópicos• Variáveis de configuração (p. 426)• Repositórios remotos (p. 427)• Commits (p. 428)• Branches (p. 428)• Tags (p. 429)

Variáveis de configuração

Lista todas as variáveis de configuração. git config --list

Lista somente variáveis de configuração locais. git config --local -l

Lista somente variáveis de configuração dosistema.

git config --system -l

Lista somente variáveis de configuração globais. git config --global -l

Define uma variável de configuração no arquivo deconfiguração especificado.

git config [--local | --global | --system] variable-name variable-value

Edita um arquivo de configuração diretamente.Também pode ser usada para descobrir o local deum arquivo de configuração específico. Para sairdo modo de edição, normalmente você digita :q(para sair sem guardar alterações) ou :wq (para

git config [--local | --global | --system] --edit

Versão da API 2015-04-13426

Page 436: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioRepositórios remotos

guardar as alterações e, em seguida, sair) e, emseguida, prima Enter.

Repositórios remotos

Inicializa um repo local em preparação paraconectá-lo a um Repositório do CodeCommit.

git init

Pode ser utilizado para configurar uma ligaçãoentre um repo local e um repositório remoto(como Repositório do CodeCommit) utilizandoo pseudónimo especificado repo local para oRepositório do CodeCommit e o URL especificadopara Repositório do CodeCommit.

git remote add remote-name remote-url

Cria um repositório local fazendo uma cópia de umRepositório do CodeCommit no URL especificado,em uma subpasta especificada da pasta atualna máquina local. Este comando também criauma agência de rastreio remoto para cada ramono clonado Repositório do CodeCommit e criae verifica uma sucursal inicial que é forçada apartir da actual sucursal predefinida no clonadoRepositório do CodeCommit.

git clone remote-url local-subfolder-name

Mostra o apelido que o repo local usa para oRepositório do CodeCommit.

git remote

Mostra o apelido e a URL que o repo local usapara buscas e envios por push ao Repositório doCodeCommit.

git remote -v

Puxa o compromisso finalizado do repo localpara o Repositório do CodeCommit, usandoo pseudónimo especificado repo local parao Repositório do CodeCommit e o ramoespecificado. Também configura informações derastreamento upstream do repo local durante opush.

git push -u remote-name branch-name

Puxa o compromisso finalizado do repo local parao Repositório do CodeCommit depois de definir ainformação de seguimento a montante.

git push

Abrange compromissos finalizado repo localdo Repositório do CodeCommit, usando opseudónimo especificado repo local para oRepositório do CodeCommit e o ramo específico

git pull remote-name branch-name

Abrange compromissos finalizado repo local doRepositório do CodeCommit depois de definir ainformação de seguimento a montante.

git pull

Desliga o repo local do Repositório doCodeCommit, usando o pseudónimo especificadorepo local para o Repositório do CodeCommit.

git remote rm remote-name

Versão da API 2015-04-13427

Page 437: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioCommits

CommitsMostra o que foi ou não adicionado à confirmaçãopendente no repositório local.

git status

Mostra o que foi ou não adicionado à confirmaçãopendente no repo local em um formato conciso.

(M = modificado, A = adicionado, D = eliminado,etc.)

git status -sb

Mostra alterações entre a confirmação pendente ea confirmação mais recente no repo local.

git diff HEAD

Adiciona arquivos específicos à confirmaçãopendente no repo local.

git add [file-name-1 file-name-2 file-name-N | file-pattern]

Adiciona todos os arquivos novos, modificados eexcluídos à confirmação pendente no repositóriolocal.

git add

Começa a finalizar a confirmação pendente norepo local, que exibe um editor para fornecer umamensagem de confirmação. Após a mensagem serinserida, a confirmação pendente é finalizada.

git commit

Finaliza a confirmação pendente no repo local,incluindo a especificação de uma mensagem deconfirmação ao mesmo tempo.

git commit -m "Some meaningful commitcomment"

Lista confirmações recentes no repo local. git log

Lista confirmações recentes no repo local emformato de gráfico.

git log --graph

Lista confirmações recentes no repo local emformato condensado predefinido.

git log --pretty=oneline

Lista confirmações recentes no repo local em umformato condensado predefinido, com um gráfico.

git log --graph --pretty=oneline

Lista confirmações recentes no repo local em umformato personalizado, com um gráfico.

(Para mais opções, consulte Noções básicas -Visualizar o histórico de compromissos)

git log --graph --pretty=format:"%H(%h) : %cn : %ar : %s"

BranchesMostra todas as sucursais no repo local com umasterisco (*) apresentado junto à sua sucursalatual.

git branch

Obtém informações sobre todas as ramificaçõesexistentes no Repositório do CodeCommit para orepositório local.

git fetch

Versão da API 2015-04-13428

Page 438: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioTags

Lista todas as ramificações no repo locale ramificações de rastreamento remoto norepositório local.

git branch -a

Lista ramificações de rastreamento remoto no repolocal.

git branch -r

Cria uma nova ramificação no repo local usando onome de ramificação especificado.

git branch new-branch-name

Alterna para outra ramificação no repo localusando o nome de ramificação especificado.

git checkout other-branch-name

Cria uma nova ramificação no repo local usando onome de ramificação especificado e, em seguida,alterna para ela.

git checkout -b new-branch-name

Puxa uma nova filial do repo local para oRepositório do CodeCommit utilizar o pseudónimoespecificado repo local para o Repositório doCodeCommit e o nome da sucursal especificado.Também configura informações de rastreamentoupstream da ramificação no repo local durante opush.

git push -u remote-name new-branch-name

Cria uma nova ramificação no repo local usandoo nome de ramificação especificado. Em seguida,liga o novo ramo na repo local a uma filialexistente no Repositório do CodeCommit, usandoo pseudónimo especificado repo local para oRepositório do CodeCommit e o nome da sucursalespecificado.

git branch --track new-branch-nameremote-name/remote-branch-name

Mescla alterações de outra ramificação no repolocal à ramificação atual no repo local.

git merge from-other-branch-name

Exclui uma ramificação no repo local, a menos queela contenha trabalho que ainda não foi mesclado.

git branch -d branch-name

Elimina uma ramificação no Repositório doCodeCommit utilizar o pseudónimo especificadorepo local para o Repositório do CodeCommit e onome da sucursal especificado. (Observe o uso dedois pontos (:).)

git push remote-name :branch-name

Tags

Lista todas as tags no repo local. git tag

Efetua pull de todas as tags do Repositório doCodeCommit para o repo local.

git fetch --tags

Mostra informações sobre uma tag específica norepo local.

git show tag-name

Versão da API 2015-04-13429

Page 439: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioTags

Cria uma tag "leve" no repo local. git tag tag-name commit-id-to-point-tag-at

Carrega uma etiqueta específica do repo localpara o Repositório do CodeCommit utilizar opseudónimo especificado repo local para oRepositório do CodeCommit e o nome da etiquetaespecificado.

git push remote-name tag-name

Puxa todas as etiquetas do repo local para oRepositório do CodeCommit utilizar o pseudónimoespecificado repo local para o Repositório doCodeCommit.

git push remote-name --tags

Deleta uma tag no repo local. git tag -d tag-name

Elimina uma etiqueta no Repositório doCodeCommit utilizar o pseudónimo especificadorepo local para o Repositório do CodeCommit e onome da etiqueta especificado. (Observe o uso dedois pontos (:).)

git push remote-name :tag-name

Versão da API 2015-04-13430

Page 440: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

AWS CodeCommitHistórico dedocumentação do Guia do usuário do

A tabela a seguir descreve mudanças importantes na documentação do CodeCommit. Para recebernotificações sobre atualizações dessa documentação, inscreva-se em um feed RSS.

• Versão da API: 2015-04-13• Atualização da documentação mais recente: 24 de junho de 2020

update-history-change update-history-description update-history-date

CodeCommit adiciona apoiopara reacções de emoji aoscomentários (p. 431)

CodeCommit agora suportareagir aos comentários de outrosutilizadores com emojis. Paramais informações, consulteComentar um compromisso eRever um pedido de pull.

June 24, 2020

CodeCommit agora disponívelem China (Pequim) e China(Ningxia) (p. 431)

CodeCommit está agoradisponível em dois AWSRegiões: China (Pequim)e China (Ningxia). Paramais informações, consulteParâmetros de ligação de regiõese Git.

April 23, 2020

CodeCommitO adicionasuporte para git-remote-codecommit (p. 431)

CodeCommit suporta ligaçõespara CodeCommit repositóriossobre HTTPS com git-remote-codecommit, um utilitário quemodifica Git. Esta é a abordagemrecomendada para ligaçõesde acesso federal ou federalpara CodeCommit repositórios.Também pode utilizar git-remote-codecommit com um IAMutilizador. git-remote-codecommitnão requer que configure ascredenciais Git para o utilizador.Para mais informações, consultePassos de Configuração paraLigações HTTPS para AWSCodeCommit com código decontrolo git-remote.

March 4, 2020

CodeCommitO oferece suporte atags de sessão (p. 431)

o catálogosuporta a utilizaçãode etiquetas de sessão, quesão atributos de par de valor-chave que passa quando assumeuma IAM função, utilizar otemporou de um utilizador emAWS Security Token Service

December 19, 2019

Versão da API 2015-04-13431

Page 441: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

(AWS STS). Você pode usar asinformações fornecidas nessastags para facilitar a identificaçãode quem fez uma alteraçãoou causou um evento. Paramais informações, consulteMonitorização CodeCommit eUtilizar etiquetas para fornecerinformações de identidade emCodeCommit.

CodeCommitO está disponívelem Ásia-Pacífico (HongKong) (p. 431)

Agora é possível usar oCodeCommit em Ásia-Pacífico(Hong Kong). Para maisinformações, incluindo osparâmetros de ligação de Git,consulte Regiões.

December 11, 2019

CodeCommitO oferecesuporte ao Amazon CodeGuruReviewer (p. 431)

CodeCommit suporta AmazonCodeGuru Reviewer, umserviço de revisão de códigoautomatizado que utiliza aanálise do programa e aaprendizagem da máquinapara detetar problemas comunse recomendar correções noseu código Java. Para maisinformações, consulte Associarou Desassociar um Repositóriocom Amazon CodeGuruReviewer e Trabalhar compedidos de pull.

December 3, 2019

CodeCommitO oferece suporte aregras de aprovação (p. 431)

Agora você pode usar regrasde aprovação para ajudá-loa personalizar seus fluxos detrabalho de desenvolvimentoem vários repositórios, de modoque diferentes ramificaçõestenham os níveis apropriadosde aprovações e controles parasolicitações pull. Para maisinformações, consulte Trabalharcom modelos de regras deaprovação e Trabalhar compedidos de pull.

November 20, 2019

CodeCommitO oferece suporte aregras de notificação (p. 431)

Agora você pode usar regrasde notificação para informaros usuários sobre alteraçõesimportantes nos repositórios. Afuncionalidade desse recursosubstitui as notificações criadasantes de 5 de novembro de 2019.Para mais informações, consulteCriar uma regra de notificação.

November 5, 2019

Versão da API 2015-04-13432

Page 442: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

CodeCommitO estádisponível em Oriente Médio(Bahrein) (p. 431)

Agora é possível usar oCodeCommit em OrienteMédio (Bahrein). Para maisinformações, incluindo osparâmetros de ligação de Git,consulte Regiões.

October 30, 2019

CodeCommitO adicionasuporte para recuperarinformações sobre váriasconfirmações (p. 431)

É possível obter informaçõessobre várias confirmaçõesusando o comando batch-get-commits na AWS CLI. Paramais informações, consulte Verdetalhes do compromisso.

August 15, 2019

CodeCommitO estádisponível em Europa(Estocolmo) (p. 431)

Agora é possível usar oCodeCommit em Europa(Estocolmo). Para maisinformações, incluindo osparâmetros de ligação de Git,consulte Regiões.

July 31, 2019

CodeCommitO CodeCommitadiciona suporte para marcarrepositórios no console do (p. 431)

Pode agora adicionar, gerire remover etiquetas para umrepositório para o ajudar agerir o seu AWS recursos doCodeCommit consola. Para maisinformações, consulte Marcar umrepositório.

July 2, 2019

CodeCommitO inclui suportea estratégias adicionais demesclagem do Git (p. 431)

Agora, você pode escolher entreas estratégias de mesclagemdo Git ao mesclar solicitaçõespull no CodeCommit. Tambémpode resolver conflitos deagrupamento no CodeCommitconsola. Para mais informações,consulte Trabalhar com pedidosde pull.

June 10, 2019

CodeCommitO está disponívelem AWS GovCloud (Leste dosEUA) (p. 431)

Agora é possível usar oCodeCommit em AWS GovCloud(Leste dos EUA). Para maisinformações, incluindo osparâmetros de ligação de Git,consulte Regiões.

May 31, 2019

CodeCommitO inclui suportepara marcar repositórios comtags (p. 431)

Pode agora adicionar, gerire remover etiquetas para umrepositório para o ajudar a geriro seu AWS recursos. Para maisinformações, consulte Marcar umrepositório.

May 30, 2019

Versão da API 2015-04-13433

Page 443: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

Encontrar recursos noconsole (p. 431)

Agora você pode pesquisarrapidamente recursos, comorepositórios, projetos decompilação, aplicativos deimplantação e pipelines. EscolherIr para recurso ou prima obotão / e, em seguida, escrevao nome do recurso. Paramais informações, consulteCodeCommit Tutorial.

May 14, 2019

CodeCommitO está disponívelem AWS GovCloud (Oeste dosEUA) (p. 431)

Agora é possível usar oCodeCommit em AWS GovCloud(Oeste dos EUA). Para maisinformações, incluindo osparâmetros de ligação de Git,consulte Regiões.

April 18, 2019

CodeCommit adiciona suportepara Amazon VPC parâmetrosde avaliação (p. 431)

Agora você pode estabeleceruma conexão privada entre aVPC e o CodeCommit. Para maisinformações, consulte UtilizarCodeCommit com parâmetros deavaliação VPC da interface.

March 7, 2019

CodeCommitAdição de uma novaAPI do (p. 431)

CodeCommitO adicionou umaAPI para criar confirmações. Paramais informações, consulte Criarum compromisso.

February 20, 2019

Atualização deconteúdo (p. 431)

O conteúdo deste guia foiatualizado com pequenascorreções e orientações deproblemas adicionais.

January 2, 2019

Atualização deconteúdo (p. 431)

O conteúdo deste guia foiactualizado para apoiar o novoCodeCommit experiência daconsola.

October 30, 2018

CodeCommit e a normafederal de processamento deinformações (FIPS) (p. 431)

CodeCommitO incluiu suporteadicional para a publicação 140-2do padrão governamental daNorma federal de processamentode informações (FederalInformation Processing Standard,FIPS) em algumas regiões.Para mais informações sobreos parâmetros de avaliaçãoFIPS e FIPS, consulte Norma deProcessamento da InformaçãoFederal (FIPS) 140-2 Síntese.Para mais informações sobreos parâmetros de ligação Git,consulte Regiões.

October 25, 2018

Versão da API 2015-04-13434

Page 444: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAtualizações anteriores

CodeCommitO adiciona trêsAPIs (p. 431)

CodeCommitO adicionou trêsAPIs para oferecer suporte aotrabalho com arquivos. Paramais informações sobre osparâmetros de ligação Git,consulte Permissões paraacções em ficheiros individuaise Referência de API do AWSCodeCommit.

September 27, 2018

CodeCommitAs notificações dehistórico de documentação deestão disponíveis por meio defeed RSS (p. 431)

Agora, você pode recebernotificações sobre asatualizações da documentaçãoCodeCommit assinando um feedRSS.

June 29, 2018

Atualizações anterioresA tabela a seguir descreve alterações importantes na documentação antes de 29 de junho de 2018.

Alteração Description (Descrição) Alterado em

Novo tópico O tópico O limite empurra e encaixa para as filiais (p. 260) foiadicionado. O tópico CodeCommitReferência de permissões do (p. 337) foi atualizado.

16 de maio de2018

Nova seção A seção Trabalhar com ficheiros em AWS CodeCommitrepositórios (p. 153) foi adicionada. O CodeCommitReferênciade permissões do (p. 337) e Conceitos básicos de AWSCodeCommit (p. 56) tópicos foram atualizados.

21 defevereiro de2018

Novo tópico O tópico Configurar o acesso entre contas cruzadas a umAWS CodeCommit repositório utilizando funções (p. 142) foiadicionado.

21 defevereiro de2018

Novo tópico O tópico Integrar o AWS Cloud9 ao AWS CodeCommit (p. 22)foi adicionado. O tópico Integrações de produtos eserviços (p. 81) foi atualizado com informações sobre a AWSCloud9.

1 dedezembro de2017

Nova seção A seção Trabalhar com pedidos de pull-in AWS CodeCommitrepositórios (p. 161) foi adicionada. A seção Autenticaçãoe controle de acesso para o AWS CodeCommit (p. 309) foiatualizada com informações sobre permissões para solicitaçõesde pull e comentários. Ela também inclui instruções de políticagerenciada atualizadas.

20 denovembro de2017

Tópicos atualizados O Integrações de produtos e serviços (p. 81) o tópico foiactualizado para incluir ligações para clientes que queiramatualizar as suas condutas existentes a utilizar Eventos doAmazon CloudWatch para iniciar condutas em resposta aalterações num CodeCommit repositório.

11 de outubrode 2017

Novos tópicos A seção Autenticação e controle de acesso para o AWSCodeCommit (p. 309) foi adicionada. Ela substitui o tópicoReferência de permissões de acesso.

11 desetembro de2017

Versão da API 2015-04-13435

Page 445: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAtualizações anteriores

Alteração Description (Descrição) Alterado em

Tópicos atualizados A seção Gerenciar triggers para um repositório (p. 110) foiatualizada para refletir as alterações na configuração detriggers. Tópicos e imagens foram atualizados em todo o guiapara refletir as alterações na barra de navegação.

29 de agostode 2017

Novo tópico O tópico Trabalhar com preferências do utilizador (p. 273)foi adicionado. O tópico Ver detalhes da etiqueta (p. 252)foi atualizado. Os tópicos Integrações de produtos eserviços (p. 81) foram atualizados com informações sobrecomo se integrar ao Eventos do Amazon CloudWatch.

3 de agostode 2017

Novos tópicos O Integrar o Eclipse ao AWS CodeCommit (p. 29) e Integraro Visual Studio ao AWS CodeCommit (p. 25) tópicos foramadicionados.

29 de junhode 2017

Tópico atualizado CodeCommit está agora disponível em duas regiões adicionais:Ásia Pacífico (Mumbai), e Canadá (Central). O tópicoParâmetros de ligação de regiões e Git (p. 409) foi atualizado.

29 de junhode 2017

Tópico atualizado CodeCommit está agora disponível em quatro regiõesadicionais: Ásia-Pacífico (Seul), América do Sul (São Paulo),Oeste dos EUA (Norte da Califórnia), e Europa (Londres).O tópico Parâmetros de ligação de regiões e Git (p. 409) foiatualizado.

6 de junho de2017

Tópico atualizado CodeCommit está agora disponível em quatro regiõesadicionais: Ásia-Pacífico (Tóquio), Ásia-Pacífico (Cingapura),Ásia-Pacífico (Sydney), e Europa (Frankfurt). O Parâmetros deligação de regiões e Git (p. 409) o tópico foi atualizado parafornecer informações sobre os parâmetros de avaliação deligação Git e regiões suportadas para CodeCommit.

25 de maio de2017

Novo tópico O tópico Comparar e unir ramos (p. 265) foi adicionado.O conteúdo do Trabalhar com ramificações (p. 257)foram atualizadas com informações sobre a utilização doCodeCommit para trabalhar com filiais num repositório.

18 de maio de2017

Novo tópico O tópico Comparar confirmações (p. 237) foi adicionado cominformações sobre comparação de confirmações. A estruturado guia do utilizador foi actualizada para trabalhar comrepositórios (p. 90), compromisso, (p. 222), e ramos (p. 257).

28 de marçode 2017

Tópico atualizado O Visualizar detalhes da confirmação (p. 228) o tópico foiatualizado com informações sobre a visualização da diferençaentre um compromisso e o seu principal na consola, eutilizando o get-differences para ver as diferenças entre ocompromisso utilizando o AWS CLI.

24 de janeirode 2017

Novo tópico O Iniciar sessão AWS CodeCommit Chamadas API com AWSCloudTrail (p. 380) tópico foi adicionado com informaçõessobre o registo de ligações a CodeCommit utilizar AWSCloudFormation.

11 de janeirode 2017

Novo tópico O Para utilizadores HTTPS utilizando credenciais Git (p. 10)tópico foi adicionado com informações sobre como configurarligações para CodeCommit utilizando as credenciais Git sobreHTTPS.

22 dedezembro de2016

Versão da API 2015-04-13436

Page 446: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAtualizações anteriores

Alteração Description (Descrição) Alterado em

Tópico atualizado O tópico Integrações de produtos e serviços (p. 81) foiatualizado para incluir informações sobre a integração com oAWS CodeBuild.

5 dedezembro de2016

Tópico atualizado CodeCommitO agora está disponível em outra região: .Europa(Irlanda). O Parâmetros de ligação de regiões e Git (p. 409)o tópico foi atualizado para fornecer informações sobre osparâmetros de avaliação de ligação Git e regiões suportadaspara CodeCommit.

16 denovembro de2016

Tópico atualizado CodeCommitO agora está disponível em outra região: .Oestedos EUA (Oregon). O Parâmetros de ligação de regiões eGit (p. 409) o tópico foi atualizado para fornecer informaçõessobre os parâmetros de avaliação de ligação Git e regiõessuportadas para CodeCommit.

14 denovembro de2016

Novo tópico O Criar um desencadeador para um Lambda função (p. 116)o tópico foi atualizado para refletir a capacidade de criarCodeCommit como parte da criação do Lambda função.Este processo simplificado simplifica a criação do acionadore configura automaticamente o desencadeador com aspermissões necessárias para CodeCommit para invocar oLambda função. O Criar um trigger para uma função Lambdaexistente (p. 119) tópico foi adicionado para incluir informaçõessobre a criação de acionadores para o existente Lambdafunções no CodeCommit consola.

19 de outubrode 2016

Novo tópico CodeCommitO agora está disponível em outra região: .Lestedos EUA (Ohio). O Parâmetros de ligação de regiões eGit (p. 409) tópico foi adicionado para fornecer informaçõessobre os endpoints de ligação Git e regiões suportadas paraCodeCommit.

17 de outubrode 2016

Atualização de tópico O tópico Integrações de produtos e serviços (p. 81) foiatualizado para incluir informações sobre a integração com oAWS Elastic Beanstalk.

13 de outubrode 2016

Atualização de tópico O tópico Integrações de produtos e serviços (p. 81) foiatualizado para incluir informações sobre a integração com oAWS CloudFormation.

6 de outubrode 2016

Atualização de tópico O tópico Para ligações SSH no Windows (p. 40) foi revisadopara fornecer orientações sobre o uso de um emulador deBash para conexões SSH no Windows, ao invés da suíte deferramentas PuTTY.

29 desetembro de2016

Atualização de tópico O Visualizar detalhes da confirmação (p. 228) e Conceitosbásicos de CodeCommit (p. 56) tópicos foram atualizadospara incluir informações sobre o Resumo do compromisso noCodeCommit consola. O tópico Cotas (p. 418) foi atualizadocom o aumento do número de referências permitido em umúnico push.

14 desetembro de2016

Versão da API 2015-04-13437

Page 447: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAtualizações anteriores

Alteração Description (Descrição) Alterado em

Atualização de tópico O Visualizar detalhes da confirmação (p. 228) e Conceitosbásicos de CodeCommit (p. 56) os tópicos foram atualizadospara incluir informações sobre a visualização da história decompromisso no CodeCommit consola.

28 de julho de2016

Novos tópicos O Migrar um repositório Git para AWS CodeCommit (p. 274)e Migrar conteúdo local ou não versionado para AWSCodeCommit (p. 283) tópicos foram adicionados.

29 de junhode 2016

Atualização de tópico Foram feitas pequenas actualizações ao Solução deproblemas (p. 388) e Para ligações HTTPS no Windows com oAWS CLI auxiliar de credencial (p. 50) tópicos.

22 de junhode 2016

Atualização de tópico Os tópicos Integrações de produtos e serviços (p. 81) e daReferência de permissões de acesso foram atualizados paraincluir informações sobre integração com o CodePipeline.

18 de abril de2016

Novos tópicos A seção Gerenciar triggers para um repositório (p. 110) foiadicionada. Os novos tópicos incluem exemplos, inclusivepolíticas e amostras de código, de como criar, editar e excluirtriggers.

7 de março de2016

Novo tópico O tópico Integrações de produtos e serviços (p. 81) foiadicionado. Atualizações menores foram feitas em Solução deproblemas (p. 388).

7 de março de2016

Atualização de tópico Para além da impressão digital do servidor MD5, a impressãodigital do servidor SHA256 para CodeCommit foi adicionado aPara ligações SSH em Linux, macOS, or Unix (p. 35) e Paraligações SSH no Windows (p. 40).

9 dedezembro de2015

Novo tópico O tópico Procurar ficheiros num repositório (p. 154) foiadicionado. Novos problemas foram adicionados a Soluçãode problemas (p. 388). Melhorias e correções menores foramfeitas em todo o guia do usuário.

5 de outubrode 2015

Novo tópico O tópico Para utilizadores SSH que não utilizam o AWSCLI (p. 33) foi adicionado. Os tópicos na seção Configuração (p. 7) foram simplificados. Foi fornecida orientação para ajudaros usuários a determinarem quais etapas seguir para seussistemas operacionais e protocolos preferidos.

5 de agostode 2015

Atualização de tópico Esclarecimentos e exemplos foram adicionados às etapas doID de chave SSH em SSH e Linux, macOS, or Unix: Configureas chaves públicas e privadas para Git e CodeCommit (p. 37) eSSH e Windows: Configure as chaves públicas e privadas paraGit e CodeCommit (p. 41).

24 de julho de2015

Atualização de tópico Passos em SSH e Windows: Configure as chaves públicas eprivadas para Git e CodeCommit (p. 41) foram atualizados pararesolver um problema com IAM e guardar o ficheiro de chavepública.

22 de julho de2015

Atualização de tópico Solução de problemas (p. 388) foi atualizado com auxíliosde navegação. Foram adicionadas mais informações sobresolução de problemas de conjuntos de chaves de credenciais.

20 de julho de2015

Versão da API 2015-04-13438

Page 448: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuárioAtualizações anteriores

Alteração Description (Descrição) Alterado em

Atualização de tópico Mais informações sobre AWS Key ManagementService permissões foram adicionadas ao AWS KMS eencriptação (p. 300) e os tópicos de Referência de Permissõesde Acesso.

17 de julho de2015

Atualização de tópico Outra seção foi adicionada a Solução de problemas (p. 388)com informações sobre solução de problemas com o AWS KeyManagement Service.

10 de julho de2015

Versão inicial. Esta é a versão inicial do CodeCommit Guia do utilizador. 9 de julho de2015

Versão da API 2015-04-13439

Page 449: AWS CodeCommit - Guia do usuário€¦ · Apresentação do CodeCommit..... 1 CodeCommit, Git e a escolha do serviço certo da AWS para suas necessidades ... Uso do Git para excluir

AWS CodeCommit Guia do usuário

AWS GlossaryFor the latest AWS terminology, see the AWS Glossary in the AWS General Reference.

Versão da API 2015-04-13440