AWS CodeCommit é um serviço de controle de origem gerenciado seguro e altamente dimensionável que hospeda repositórios privados do Git. Basta criar um repositório para armazenar o código e não é necessário se preocupar com o provisionamento e a escalabilidade de hardware ou com a instalação, a configuração e a operação de hardware.
Você pode transferir seus arquivos do AWS CodeCommit usando HTTPS e SSH, os repositórios ociosos são criptografados automaticamente por meio do AWS Key Management Service (AWS KMS) usando chaves específicas do cliente, armazena seus repositórios no Amazon S3 e no Amazon DynamoDB, pode usar o Console de Gerenciamento da AWS, o AWS CLI e os AWS SDKs para gerenciar os repositórios ou também é possível usar comandos ou ferramentas gráficas do Git para interagir com os arquivos fonte dos repositórios.
Permite 5 usuários de graça e após isso ele começa a cobrar, abaixo vou deixa a URL da Amazon para você verificar um pouco mais.
https://aws.amazon.com/pt/codecommit/
Então como eu acesso, um acho que todos nós já estamos pensando – “o de sempre”, isso aí, vamos no console principal da AWS e na parte de pesquisar é só digitar “CodeCommit ” e ele vai lhe direcionar para o console de inicialização é só click no botão “criar repositório” e ele vai abrir a tela de criação.
Nela você deve prender; nome para repositório, descrição, adicionar um Tag, habilitar recomendações para código Java ( caso você deseje usar Java também) e clicar no botão ” criar “, ele irá criar e direcionar para console de gerenciamento.
Ao clicar no repositórios você poderá configurar e visualizar as configurações dele, como as notificações, trigger,branches, se vai fazer envios via HTTPS ou SSH, verificar os arquivos do repositório, fazer clones, deletar o repositório e muito várias outras.
Para que o usuário consiga acessar o repositório e necessário da permissão no IAM.
Então caso ainda não tenha um grupo de usuário IAM criado e só ir no console principal da AWS digitar no pesquisa IAM, ele irá lhe direcionar para o console, no menu Usuário click no botão adicionar usuário, ele irá lhe perguntar um nome de usuário, o tipo de acesso, vamos marcar o Programmatic Acess depois click no botão ” próximas permissões” em set permissões vamos criar um grupo para permissões nos repositórios do CodeCommit então click em ” add user to group” e no botão ” create group”, coloque um nome e em filter policies procure ” CodeCommit”, ele vai lhe apresentar 3 opções de políticas a primeira e a “CodeCommit full acess” ( permissão total) a segunda “Codecommit Power user” ( permissão de acesso mais não deixa deletar repositórios) e o terceiro “Code Commit Read “( permite ler o console e o repositório). Depois de escolher qual você deseja click no botão “próximo” ele irá direcionar para baixa do create com a permissão que vc acabou de criar sentada click em próximo, tag, próximo, revisão da criação, informação do endereço criado para o AWS Management console acess deste repositório, o nome do grupo que você criou, a chave de acesso e a senha de acesso. Faça o download do csv e não compartilhe com ninguém isso.
Agora na máquina que você irá usar vamos configura o ssh Key. No promt do AWS Cli da máquina digite:
aws configure
Irá lhe perguntar a chave de acesso, cópia da IAM User do Grupo que você criou e cola aqui. Depois ele vai te pedir a senha de acesso mesma coisa cópia é cola,ele vai pergunta qual a região default que você vai usar. O formato de output, não precisa digitar nada se não quiser. Com isso ele vai criar um diretórios da AWS com as credenciais AWS do seu repositório para visualizar a página e só digitar:
cat. aws/c
Ele irá te apresentar os subdiretorios Config e credentials, em credentials vai ter as duas informações, a de acesso e de chave do grupo que você acabou de colocar.
No promt do AWS Cli, para criar uma chave ssh vamos digitar o comando:
ssh – keygen
Ele irá lhe pergunta se quer criar uma chave com nome padrão id_rsa se sim e só dá enter, depois pergunta se quer criar uma uma passphrase se não é só da enter e com isso ela vai criar a chave privada e pública. Para você vê as chaves e só digitar:
cd .ssh/
ls
Agora vamos cópia a chave pública:
cat id_rsa.pub
Agora no AWS – IAM no usuário de grupo que você criou click nele, na aba credenciais de segurança, vamos clicar em upload SSH public Key, e colar a chave rsa. pub que copiamos do promt. Click no botão Upload SSH publica Key.
Agora nós vamos criar uma arquivo de configuração no ssh para poder quando solicitar os nossa entrada no ssh ele leia as informações de usuários e deixe a gente entrar sem precisar ficar passado toda vez.
No promt do AWS Cli digite o comando:
vi .ssh/ config
Dentro do arquivo digite:
Host git-codecommit. *. amazonas.com
User (cole o usuário do grupo do IAM do campo ssh Key ID)
IdentityFile ( caminho de onde está na sua máquina o caminha a chave ssh/id_ rsa)
Salva e da permissão para o arquivo, digite o comando:
chmod 600 .ssh/config
Agora vamos tentar acessar pelo SSh este repositório, para pegar o caminho deste repositório vá no CodeCommit, na aba Repositório no repositórios desejado e campo Clone URL click emcima de SSH que irá cópia o caminho.
No promt do AWS Cli digite:
ssh git (cole a URL)
Enter e ele irá configura e entrar.
Caso queira começar a popular o repositório. Depois de criado o arquivo você digita o comando para commit para o CodeCommit :
git – m “texto informando o que está fazendo” nome_do_arquivo_criado.extensão
Está do tudo certinho no arquivo e só digitar o comando :
git push
É o arquivo aparecerá no menu Repositórios do CodeCommit.
Caso você queira criar outra branch o comando:
git checkout – b nome_da_nova_branche
Para visualizar as que você tem no promt:
git branch
Para mudar o direcionamento de um push de um branch digite:
git push origin nome_do_branche
Caso você queira mudar a branch default no CodeCommit no menu Repositório, click no repositório desejado escolhe na aba a branch desejada clicar no botão Create pull request, colocar o autor, ele vai enviar para a pessoa responsável pela revisão do que você criou estando ok, a pessoa irá fazer o merge,ou caso você mesmo ( não recomendado) click no botão Merge ele irá lhe pergunta qual o estilo de git merge que você deseja escolhe, coloca o e-mail,marca se quer excluir o anterioir e click em Merge Pull Request. É tudo pronto.
No aws Cli você pode fazer várias coisas para que você possa visualizar os comando vou colocar a URL da Amazon que tem várias.
https://docs.aws.amazon.com/pt_br/cli/latest/userguide/cli-configure-options.html
Vamos agora criar uma trigger de ação, no CodeCommit no menu repositório escola qual você deseja criar a ação click nele depois no menu Setting e na aba Tiggers e no botão Create trigger, coloca um nome, qual evento vai acionar a trigger nome da branch se quiser, qual o Service que irá notificar se SNS ou Lambda.
Se escolhe o SNS, escolhe o ARC do SNS criado para o CodeCommit, caso queira digita uma informação, aí você pode click no botão de teste ou já pedi para create trigger. Não esqueça que ele vai manda um email de confirmação para o e-mail que você selecionou no SNS para receber a mensagem então não esqueça de autorizar na caixa de email pra poder receber as notificações.
Se você esqueceu como criar o SNS vou fala bem rapidinho, vai no AWS coloca SNS no console click em create tópico escolhe o tipo, coloca o nome, o nome de referência que vai usar este SNS clikc em criar tópico . Depois click no menu tópicos click no que vc acabou de criar na aba subscriptions click e create subscriptions procure o tópico ARN que ele criou ( vai ter o nome que você colocou) o protocolo que você vai usar para receber a notificação, é click em create subscription.
Depois de tudo isso deu até uma canseira, vou deixa para vocês a URL da AWS falando sobre o CodeCommit e AWS Cli, nós vemos na próxima.
https://docs.aws.amazon.com/pt_br/codecommit/latest/userguide/welcome.html
https://docs.aws.amazon.com/pt_br/cli/index.html
Beijos, Maga.😘