O AWS CodeCommit não está mais disponível para novos clientes. Os clientes atuais do AWS CodeCommit podem continuar a usar o serviço normalmente. Saiba mais
- Ferramentas do desenvolvedor›
- AWS CodeCommit›
- Perguntas frequentes
Perguntas frequentes sobre o AWS CodeCommit
Geral
O que é o AWS CodeCommit?
O AWS CodeCommit é um serviço gerenciado, seguro e altamente escalável de controle de origem que torna a colaboração nos códigos mais fácil para as equipes. O AWS CodeCommit elimina a necessidade de operar seu próprio sistema de controle de origem ou de se preocupar com a escalabilidade de sua infraestrutura. Você pode usar o CodeCommit para armazenar qualquer coisa, desde código-fonte até arquivos binários. Além disso, ele funciona perfeitamente com as suas ferramentas Git existentes.
O que é o Git?
O Git é um sistema distribuído de controle de versões com código aberto. Para trabalhar com os repositórios do AWS CodeCommit, você usa a command line interface (CLI – interface de linha de comando) do Git ou qualquer dos clientes Git disponíveis. Para saber mais informações sobre o Git, consulte a documentação do Git. Para saber mais informações sobre como usar o AWS CodeCommit com o Git, consulte Getting Started with AWS CodeCommit.
Quem são os usuários recomendados do AWS CodeCommit?
O AWS CodeCommit foi projetado para desenvolvedores de software que precisam de um sistema seguro, confiável e escalável de controle de origem para armazenar e controlar as versões dos códigos deles. Além disso, o AWS CodeCommit pode ser usado por qualquer pessoa que esteja em busca de um armazenamento de dados fácil de usar, totalmente gerenciado e com controle de versão. Por exemplo, os administradores de TI podem usar o AWS CodeCommit para armazenar scripts e configurações. Os designers web podem usar o AWS CodeCommit para armazenar páginas HTML e imagens.
De que forma o AWS CodeCommit se distingue de outros sistemas de controle de origem baseados no Git?
O AWS CodeCommit disponibiliza diversos recursos não oferecidos por outros sistemas de controle de fonte baseados no Git:
- Totalmente gerenciado – O AWS CodeCommit elimina a necessidade de hospedar, manter, fazer backup e proporcionar escalabilidade aos seus próprios servidores de controle de fonte.
- Seguro – O AWS CodeCommit criptografa automaticamente seus arquivos em trânsito e em repouso. O AWS CodeCommit é integrado ao AWS Identity and Access Management (IAM), permitindo que você atribua permissões específicas de usuário aos seus repositórios.
- Altamente disponível – O AWS CodeCommit usa serviços da AWS altamente escaláveis, redundantes e duráveis, como o Amazon S3 e o Amazon DynamoDB.
- Escalável – O AWS CodeCommit permite que você armazene qualquer quantidade de arquivos, e não há limite para o tamanho do repositório.
- Ciclo de vida de desenvolvimento mais rápido – O AWS CodeCommit mantém os repositórios próximos de seus ambientes de criação, preparação e produção na Nuvem AWS. Isso permite que você aumente a velocidade e a frequência do ciclo de vida de desenvolvimento.
De que forma o AWS CodeCommit se compara a um bucket do S3 com versionamento?
O AWS CodeCommit foi projetado para o desenvolvimento colaborativo de software. Ele gerencia lotes de alterações em vários arquivos, oferece ramificações paralelas e inclui a detecção de diferenças entre versões (“diffing”). Por sua vez, o versionamento do Amazon S3 permite recuperar versões anteriores de arquivos individuais, mas não oferece o controle de alterações em lote que abrangem vários arquivos ou outros recursos necessários para o desenvolvimento colaborativo de software.
Uso do AWS CodeCommit
Qual é o procedimento para começar a usar o AWS CodeCommit?
Você pode fazer login no Console de Gerenciamento da AWS, criar um repositório e começar a trabalhar com ele ao usar o Git. Se você deseja obter uma introdução ao serviço, consulte Conceitos básicos, que inclui um tutorial passo a passo.
Qual é o procedimento para criar um repositório?
É possível criar um repositório por meio do Console de Gerenciamento da AWS ou ao usar a AWS Command Line Interface (AWS CLI), os AWS SDKs ou as APIs do AWS CodeCommit.
Qual é o procedimento para atualizar arquivos no repositório?
Você pode editar seus arquivos diretamente do console do CodeCommit ou usar o Git para trabalhar com o repositório. Por exemplo, considerando os comandos do Git, é possível usar o comando git clone para efetuar uma cópia local do repositório do AWS CodeCommit. Realize alterações nos arquivos locais e use o comando git commit quando estiver com tudo pronto para salvar as alterações. Por fim, use o comando git push para fazer o upload das alterações para o repositório do AWS CodeCommit. Para obter instruções passo a passo, consulte Getting Started with AWS CodeCommit.
Qual é o procedimento para importar o repositório existente para o AWS CodeCommit?
Você pode usar o Git para importar qualquer repositório Git existente para o AWS CodeCommit. Para outros repositórios, como Subversion e Perforce, você pode usar uma ferramenta de importação do Git para migrá-los antes para um repositório Git. Para obter instruções passo a passo sobre como importar repositórios do Git, consulte Migrate an Existing Repository to AWS CodeCommit. Para obter instruções passo a passo sobre como importar conteúdo local ou sem versionamento, consulte a documentação de migração do Git.
Atualmente, quais operações do Git são compatíveis com o AWS CodeCommit?
No momento, o AWS CodeCommit oferece suporte aos comandos clone, pull, push e fetch.
O AWS CodeCommit é compatível com submódulos do Git?
Sim. O AWS CodeCommit pode ser usado com repositórios do Git que incluem submódulos.
Quais são os limites de serviço relacionados ao uso do AWS CodeCommit?
Para obter mais informações sobre os limites de serviço, consulte Limits.
Qual é o tamanho máximo permitido para o armazenamento de um único arquivo no CodeCommit?
Um único arquivo em um repositório não pode exceder 2 GB de tamanho.
Qual é o procedimento para realizar o backup do meu repositório?
Caso você tenha uma cópia local do repositório resultante da execução do comando git clone de forma integral, pode usá-la para restaurar os dados. Se deseja backups adicionais, isso pode ser feito de várias maneiras. Uma maneira é instalar o Git no servidor de backup e executar um trabalho agendado que use o comando git clone para criar snapshots regulares do seu repositório. É possível usar o comando git pull em vez do comando git clone se desejar copiar somente as alterações incrementais. Observe que essas operações podem gerar cobranças adicionais de usuário e/ou solicitação com base em como o servidor de backup foi configurado e na frequência de sondagem.
Qual é o procedimento para restaurar um repositório excluído do AWS CodeCommit?
A exclusão de um repositório do AWS CodeCommit é uma operação unidirecional e destrutiva que não pode ser desfeita. Para restaurar um repositório excluído, será necessário criá-lo novamente e usar um backup ou uma cópia local a partir de um clone completo para fazer upload dos dados. Recomendamos usar políticas do IAM juntamente com a proteção do MFA para restringir os usuários que podem excluir repositórios. Para mais detalhes, consulte a pergunta “Posso usar o AWS Identity and Access Management (IAM) para gerenciar o acesso ao AWS CodeCommit?” na seção Segurança em Perguntas mais frequentes.
Qual é o procedimento para gerenciar análises de código com o AWS CodeCommit?
O CodeCommit é compatível com revisões de código e permite que você defina permissões nas ramificações de seu código. Consulte nossa documentação para obter ajuda com revisões de código ou permissões a nível de ramificação.
Qual é o procedimento para integrar o sistema de integração contínua com o AWS CodeCommit?
Os sistemas de Continuous Integration (CI – integração contínua) podem ser configurados para usar o Git para extrair código do AWS CodeCommit. Para obter exemplos do uso de sistemas de CI com o AWS CodeCommit, consulte nossa publicação no blog sobre a integração do AWS CodeCommit com o Jenkins.
Qual é o procedimento para criar webhooks usando o AWS CodeCommit?
No console do Amazon SNS, você pode criar um tópico do SNS com um endpoint HTTP e o URL desejado para o webhook. No console do AWS CodeCommit, você pode, então, configurar o tópico do SNS criado para um evento de repositório usando triggers. Além disso, os clientes que usam o AWS Chatbot podem configurar notificações para serem enviadas aos seus canais do Slack ou às salas de chat do Amazon Chime. Para obter mais detalhes, acesse aqui.
É possível obter um histórico das operações do Git e das chamadas de API do AWS CodeCommit que foram realizadas na minha conta para finalidades de análise de segurança e de solução de problemas operacionais?
Sim. Você pode analisar eventos recentes do CodeCommit, inclusive operações e chamadas de API do Git, no console do AWS CloudTrail. Para um registro contínuo de eventos, você pode criar uma trilha e registrar eventos em um bucket do Amazon S3. Para mais informações, consulte Registro de chamadas de API do AWS CodeCommit com o AWS CloudTrail.
Segurança
É possível usar o AWS Identity and Access Management (IAM) para gerenciar o acesso ao AWS CodeCommit?
Sim. O AWS CodeCommit é compatível com as permissões em nível de recurso. Você pode especificar quais usuários podem executar quais ações para cada repositório do AWS CodeCommit. Também é possível especificar a AWS Multi-Factor Authentication (MFA) para uma ação do CodeCommit. Isso permite adicionar um nível extra de proteção para ações destrutivas, como a exclusão de repositórios. Além das APIs do AWS CodeCommit, é possível especificar os comandos git pull e git push como ações para controlar o acesso de clientes do Git. Por exemplo, você pode criar um usuário somente leitura para um repositório ao permitir que esse usuário tenha acesso ao comando git pull, mas não ao comando git push no repositório. Para obter mais informações sobre como usar o IAM com o AWS CodeCommit, consulte Authentication and Access Control for AWS CodeCommit. Para obter mais informações sobre como autenticar o acesso à API usando MFA, consulte Configuring MFA-Protected API Access.
Quais são os protocolos de comunicação compatíveis com o AWS CodeCommit?
Você pode usar os protocolos HTTPS, SSH ou ambos na comunicação com o AWS CodeCommit. Para usar o HTTPS, primeiramente instale a AWS CLI. A AWS CLI instala um auxiliar de credenciais do Git, que pode ser configurado com credenciais da AWS. Todas as solicitações HTTPS para o AWS CodeCommit são automaticamente assinadas usando a especificação de assinatura Signature Version 4. Para usar SSH, os usuários criam seus próprios pares de chaves públicas/privadas e adicionam as chaves públicas a seus usuários do IAM. A chave privada criptografa as comunicações com o AWS CodeCommit. Para obter instruções passo a passo sobre como configurar o acesso HTTPS e SSH, consulte a página Setting up AWS CodeCommit.
Quais são as portas que precisam ser abertas no firewall para a obtenção de acesso ao AWS CodeCommit?
Você terá de abrir acesso de saída para um endpoint de serviço do AWS CodeCommit na porta 22 (SSH) ou na porta 443 (HTTPS).
Qual é o procedimento para criptografar o repositório no AWS CodeCommit?
Os repositórios são criptografados automaticamente quando estão em repouso. O usuário não precisa executar nenhuma ação. O AWS CodeCommit usa o AWS Key Management Service (KMS) para criptografar repositórios. Quando você cria seu primeiro repositório, uma chave gerenciada pela AWS é criada para o CodeCommit em sua conta da AWS. Para obter mais detalhes, consulte Encryption for AWS CodeCommit Repositories.
É possível habilitar o acesso entre contas para o meu repositório?
Sim. Você pode criar uma função do IAM em sua conta da AWS para delegar acesso a um repositório para usuários do IAM em outras contas da AWS. Em seguida, os usuários do IAM podem configurar a AWS CLI deles para usar AWS Security Token Service (STS) e assumir a função na execução de comandos. Para obter mais detalhes, consulte Assuming a Role na documentação da AWS CLI.
Regiões
Quais são as regiões com suporte por parte do AWS CodeCommit?
Consulte a página de produtos e serviços por região para obter detalhes sobre a disponibilidade do CodeCommit por região.
Faturamento
Qual é o custo do AWS CodeCommit?
O AWS CodeCommit custa 1 USD por usuário ativo por mês. Para cada usuário ativo, sua conta recebe uma franquia adicional de 10 GB de armazenamento por mês e 2.000 solicitações Git para o respectivo mês. A franquia de armazenamento e as solicitações Git não utilizadas não acumulam para os próximos meses. Se precisar de mais armazenamento ou solicitações Git para seus usuários, o uso adicional custará 0,06 USD por GB/mês e 0,001 USD por solicitação Git. Os usuários podem armazenar quantos repositórios Git quiserem. Sua utilização é calculada a cada mês em todas as regiões, sendo aplicada automaticamente à sua conta. Consulte a página de definição de preço para obter mais detalhes.
Qual é a definição de um usuário ativo no AWS CodeCommit?
Um usuário ativo é qualquer identidade exclusiva da AWS (usuário/função do IAM, usuário federado ou conta root) que acessa os repositórios do AWS CodeCommit durante o mês, seja por meio de solicitações Git ou usando o Console de Gerenciamento da AWS. Um servidor que acessa o CodeCommit usando uma identidade exclusiva da AWS é considerado como um usuário ativo.
Quais tipos de solicitações do Git são contabilizadas para o limite mensal?
Uma solicitação Git inclui todos os push ou pull que transmitem objetos do repositório. A solicitação não será considerada no limite de solicitações Git caso as ramificações local e remota estejam atualizadas e não haja transferência de objetos.