Geral

P: 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 AWS CodeCommit para armazenar qualquer item, desde código a arquivos binários. Além disso, ele funciona perfeitamente com suas ferramentas Git existentes.

P: 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 sobre o Git, consulte a documentação do Git. Para saber mais sobre o uso do AWS CodeCommit com o Git, consulte Tutorial do Git com o AWS CodeCommit.
P: Quem deve usar o 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 web designers podem usar o AWS CodeCommit para armazenar páginas em HTML e imagens.
P: Qual a diferença entre o AWS CodeCommit e outros sistemas de controle de origem baseados no Git?
 
O AWS CodeCommit disponibiliza diversos recursos que não são oferecidos por outros sistemas de controle de origem baseados no Git:
  • Totalmente gerenciado – O AWS CodeCommit elimina a necessidade de hospedar, manter, fazer backup e escalar seus próprios servidores de controle de origem.
  • 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 a usuários específicos para seus repositórios.
  • Altamente disponível – O AWS CodeCommit tem como base serviços altamente escaláveis, redundantes e duráveis da AWS, 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á limites 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 de 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 rastreamento de alterações em lote que abrangem vários arquivos, nem outros recursos necessários para o desenvolvimento colaborativo de software.

Usando o AWS CodeCommit

P: Como começo 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. Caso deseje uma introdução ao serviço, consulte os Conceitos básicos, que incluem um tutorial detalhado.
P: Como crio um repositório?

Você pode criar um repositório a partir do Console de Gerenciamento da AWS ou usando a AWS Command Line Interface (AWS CLI – Interface da linha de comando), os AWS SDKs ou as APIs do AWS CodeCommit.
P: Como atualizo arquivos em meu repositório?

Você pode editar seus arquivos diretamente a partir do console do CodeCommit ou usar o Git para trabalhar com o repositório. Por exemplo, no Git você pode usar o comando git clone para fazer uma cópia local do repositório do AWS CodeCommit. Faça as alterações nos arquivos locais e use o comando git commit quando estiver pronto para salvá-los. Por fim, use o comando git push para fazer upload das alterações para o repositório do AWS CodeCommit. Para obter instruções detalhadas, consulte Tutorial do Git com o AWS CodeCommit.
P: Como importo meu 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 detalhadas sobre a importação de repositórios Git, consulte Migração para o AWS CodeCommit. Para instruções detalhadas sobre como importar conteúdo local ou sem versionamento, consulte a documentação de migração do Git.
P: Atualmente quais operações do Git são compatíveis com o AWS CodeCommit?
 
No momento, o AWS CodeCommit tem suporte para os comandos clone, pull, push e fetch.
P: 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.
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 arquivo individual que posso armazenar no CodeCommit?

Um arquivo individual em um repositório não pode ter mais de 2 GB de tamanho.
P: Como faço backup de meu repositório?

Caso tenha uma cópia local do repositório, gerada a partir da execução de um git clone completo, você pode usá-la para restaurar dados. Se deseja backups adicionais, isso pode ser feito de várias maneiras. Uma opção é instalar o Git em seu servidor de backup e executar uma tarefa agendada que usa o comando git clone para criar snapshots regulares de seu 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 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.
P: Como restauro 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.
P: Como gerencio revisões 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.

P: Como integro meu sistema de integração contínua ao 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 sobre o uso dos sistemas de CI com o AWS CodeCommit, consulte nossa publicação no blog sobre a integração do AWS CodeCommit ao Jenkins.
P: Como crio 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 o URL desejado para o webhook. Em seguida, no console do AWS CodeCommit, você pode configurar esse tópico do SNS para um evento de repositório usando gatilhos.
P: Posso obter um histórico das operações Git do AWS CodeCommit e das chamadas de API realizadas em minha conta para fins de análise de segurança ou 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

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 a 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, 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 a esse usuário acesso ao git pull, mas não ao git push no repositório. Para mais informações sobre o uso do IAM com o AWS CodeCommit, consulte Controle de acesso e autenticação do AWS CodeCommit. Para mais informações sobre a autenticação de acessos de API usando o MFA, consulte Configuração de acesso à API protegido por MFA.
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, primeiramente instale a AWS CLI. A 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 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 detalhadas sobre a configuração de acesso HTTPS e SSH, consulte a página Configuração do AWS CodeCommit.
P: Quais portas devo abrir no firewall para permitir o acesso ao AWS CodeCommit?

Você precisa abrir o acesso de saída para um endpoint de serviço do AWS CodeCommit na porta 22 (SSH) ou na porta 443 (HTTPS).
P: Como criptografo um 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 mais detalhes, consulte AWS Key Management Service e criptografia para repositórios do AWS CodeCommit.
P: Posso habilitar o acesso ao meu repositório entre diferentes contas?

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 mais detalhes, consulte Assumir uma função na documentação da AWS CLI.

Regiões

P: Quais regiões são compatíveis com o AWS CodeCommit?

Consulte a Tabela de regiões para obter detalhes sobre a disponibilidade do CodeCommit por região.

Faturamento

P: Qual o preço 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 mais detalhes.
P: 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 é contabilizado como um usuário ativo.
P: Quais solicitações Git são levadas em consideração na franquia mensal?

Uma solicitação Git inclui todos os push ou pull que transmitem objetos do repositório. A solicitação não é contabilizada em seu limite de solicitações Git caso não haja transferência de objetos devido ao fato de que as ramificações local e remota estão atualizadas.

Saiba mais sobre a definição de preço do AWS CodeCommit

Acesse a página de definição de preço
Pronto para compilar?
Comece a usar o AWS CodeCommit
Tem outras dúvidas?
Entre em contato conosco
Conteúdo da página
Geral Usando o AWS CodeCommit Segurança Regiões
Faturamento