Comece a usar a AWS gratuitamente

Crie uma conta gratuita

Receba doze meses de acesso ao nível de uso de nível gratuito da AWS e aproveite os recursos do AWS Basic Support incluindo atendimento ao cliente 24x7x365 e fóruns de suporte, entre outros recursos.
Consulte os detalhes do nível gratuito da AWS »


P: O que é o AWS CodeCommit?
O AWS CodeCommit é um serviço de controle de fonte gerenciado seguro e altamente escalável que hospeda repositórios privados do Git. O AWS CodeCommit elimina a necessidade de operar seu próprio sistema de controle de fonte ou a preocupação 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.

P: O que é o Git?
O Git é um sistema de controle distribuído de versões de código aberto. Para trabalhar com os repositórios do AWS CodeCommit, você pode usar a interface da linha de comando (ILC) do Git ou qualquer dos clientes Git disponíveis. Para saber mais sobre o Git, consulte a documentação do Git. Para saber mais sobre o uso do AWS CodeCommit com o Git, consulte Getting Started with AWS CodeCommit.

P: Quem deve usar o AWS CodeCommit?
O AWS CodeCommit foi criado para desenvolvedores de software que precisam de um sistema de controle de fonte seguro, confiável e escalável para armazenar e controlar a versão de código. Além disso, o AWS CodeCommit pode ser usado por qualquer pessoa que precise 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.

P: Qual a diferença entre o AWS CodeCommit e outros sistemas de controle de fonte 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 arquivos em trânsito e ociosos. 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 aos ambientes de criação, preparação e produção na Nuvem AWS. Isso permite que você aumente a velocidade e a frequência do seu ciclo de vida de desenvolvimento.

P: Quais as diferenças entre o AWS CodeCommit e um bucket do S3 com controle de versão?
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.

O que é o Git? O Git é um sistema de controle distribuído de versões de código aberto. Para trabalhar com os repositórios do AWS CodeCommit, você pode usar a interface da linha de comando (ILC) do Git ou qualquer dos clientes Git disponíveis. Para saber mais sobre o Git, consulte a documentação do Git. Para saber mais sobre o uso do AWS CodeCommit com o Git, consulte Getting Started with AWS CodeCommit.

P: Como faço 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 o repositório usando o Git. Se você desejar uma rápida introdução ao serviço, consulte os conceitos básicos, que incluem um tutorial detalhado.

P: Como faço para criar um repositório?
Você pode criar um repositório no Console de Gerenciamento da AWS ou usando a Interface da Linha de Comando (AWS CLI), os AWS SDKs ou as APIs do AWS CodeCommit.

P: como faço para atualizar arquivos no repositório?
Use o Git para trabalhar com o repositório. Por exemplo, você pode usar o comando git clone para fazer uma cópia local do repositório do AWS CodeCommit. Faça alterações nos arquivos locais e use o comando git commit quando estiver pronto para salvá-las. Finalmente, use o comando git push para fazer o upload das alterações para o repositório do AWS CodeCommit. Para obter instruções detalhadas, consulte Getting Started with AWS CodeCommit.

P: Como faço para importar meu repositório atual para o AWS CodeCommit?
Você pode usar o Git para importar qualquer 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 detalhadas sobre a importação de repositórios do Git, consulte Migrate an Existing Repository to AWS CodeCommit. Para obter instruções sobre a migração de outros repositórios para o Git, consulte a documentação de migração do Git.

P: No momento, 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.

P: O AWS CodeCommit é compatível com os submódulos do Git?
Sim. O AWS CodeCommit pode ser usado com repositórios do Git que incluem submódulos.

P: Quais são os limites de serviço ao usar o AWS CodeCommit?
Para obter informações sobre os limites de serviço, consulte Limites.

P: Qual é o tamanho máximo de um único arquivo para armazenamento no CodeCommit?
Um único arquivo em um repositório não pode exceder 2 GB de tamanho.

P: Como posso fazer backup do meu repositório?
Se você tiver uma cópia local do repositório, gerada pela execução de um git clone completo, poderá usá-la para restaurar dados. Se você deseja backups adicionais, isso pode ser feito de várias maneiras. Uma opção é instalar o Git no servidor de backup e executar um job agendado que usa o comando git clone para criar snapshots regulares do repositório. Se quiser copiar apenas as alterações incrementais, você pode usar git pull em vez de git clone. Observe que essas operações podem gerar encargos adicionais de usuário e/ou solicitação de acordo com a forma como o servidor de backup foi configurado e com a frequência de sondagem.

P: Como posso restaurar um repositório excluído do AWS CodeCommit?
A exclusão de um repositório do AWS CodeCommit é uma operação unidirecional 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 de um clone completo para fazer o 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 obter 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 das perguntas frequentes.

P: Como faço para gerenciar revisões de código com o AWS CodeCommit?
Para revisar código, você pode usar qualquer sistema de revisão de código compatível com o Git, como o Review Board.

P: Como faço para incorporar meu sistema de integração contínua ao AWS CodeCommit?
Os sistemas de integração contínua (CI) podem ser configurados para usar o Git para extrair código do AWS CodeCommit. Para obter exemplos sobre o uso dos sistemas de CI com o AWS CodeCommit, veja nossa publicação no blog sobre a integração do AWS CodeCommit com o Jenkins.

P: Como posso criar webhooks usando o AWS CodeCommit?
No console do Amazon Simple Notification Service (SNS), você pode criar um tópico do SNS com um endpoint HTTP e a URL desejada 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.

P: É possível obter um histórico das operações Git do AWS CodeCommit e das chamadas de API realizadas na minha conta para fins de análise de segurança ou solução de problemas operacionais?
Sim. Para receber um histórico das operações Git do CodeCommit e das chamadas de API realizadas na sua conta, basta ativar o AWS CloudTrail no Console de Gerenciamento da AWS. No momento, não oferecemos compatibilidade com o registro de logs de confirmações individuais dentro de operações push do Git. Consulte o Guia do usuário do CloudTrail para saber mais.

P: Posso 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 de serviço. Você pode especificar que usuários podem executar quais ações em 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, você também pode especificar git pull e git push como ações para controlar o acesso de clientes do Git. Por exemplo, é possível criar um usuário somente leitura para um repositório, concedendo acesso ao git pull, mas não ao git push, para esse repositório. Para obter mais informações sobre o uso do IAM com o AWS CodeCommit, consulte Access Permissions Reference. Para obter mais informações sobre a autenticação de acessos via API usando o MFA, consulte Configuring MFA-Protected API Access.

P: Quais protocolos de comunicação sã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, instale antes o AWS CLI. O AWS CLI instala um auxiliar de credenciais do Git, que pode ser configurado com credenciais da AWS. Ele assina automaticamente todas as solicitações HTTPS enviadas ao AWS CodeCommit usando a especificação de assinatura Signature versão 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 detalhadas sobre a configuração de acesso HTTPS e SSH, consulte a página Setting up AWS CodeCommit.

P: Quais portas devem ser abertas no firewall para permitir o 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).

P: Como faço para criptografar um repositório no AWS CodeCommit?
Os repositórios ociosos são criptografados automaticamente. Nenhuma ação de usuário é necessária. O AWS CodeCommit usa o AWS Key Management Service (KMS) para criptografar repositórios. Quando você cria o primeiro repositório, uma chave gerenciada pela AWS é criada para o CodeCommit na sua conta da AWS. Para obter detalhes, consulte Encryption for AWS CodeCommit Repositories.

P: Posso ativar acesso entre contas ao 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 em outras contas da AWS. Em seguida, os usuários do IAM podem configurar o AWS CLI para usar AWS Security Token Service (STS) e assumir a função na execução de comandos. Para obter detalhes, consulte Assuming a Role na documentação do AWS CLI.

P: Quais regiões são compatíveis com o AWS CodeCommit?
Consulte Regional Products and Services para obter detalhes sobre a disponibilidade do CodeCommit por região.

P: Quanto custa o AWS CodeCommit?
O AWS CodeCommit custa 1 USD por usuário ativo por mês. Para cada usuário ativo, sua conta recebe um bônus adicional de 10 GB por mês de armazenamento e 2.000 solicitações Git para esse mês. Os bônus de armazenamento e solicitações Git não utilizados não serão acumulados para os próximos meses. Se você precisar de mais armazenamento ou solicitações Git para os usuários, o uso adicional será cobrado a 0,06 USD por GB por mês e a solicitação Git adicional a 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 e é automaticamente aplicada à sua conta. Consulte a página de definição de preço para obter mais detalhes.

P: Qual é a definição de um usuário ativo no AWS CodeCommit?
Um usuário ativo é uma identidade exclusiva da AWS (usuário/função do IAM, usuário unificado ou conta-raiz) que acessa os repositórios do AWS CodeCommit durante o mês 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.

P: Quais solicitações Git são consideradas no bônus 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.