Usar o AWS CodeCommit com o Visual Studio Team Explorer
Você pode usar as contas de usuário do AWS Identity and Access Management (IAM) para criar credenciais do Git e utilizá-las para criar e clonar repositórios dentro do Team Explorer.
Tipos de credencial do AWS CodeCommit
A maioria dos usuários do AWS Toolkit for Visual Studio está ciente da configuração de perfis de credencial da AWS que contêm as respectivas chaves de acesso e secretas. Esses perfis de credenciais são usados no kit de ferramentas para Visual Studio para permitir as chamadas de APIs de serviço; por exemplo, para listar buckets do Amazon S3 no AWS Explorer ou executa uma instância do Amazon EC2. A integração do AWS CodeCommit com o Team Explorer também usa esses perfis de credencial. No entanto, para trabalhar com o Git propriamente dito, você precisa de credenciais adicionais, especificamente, as credenciais do Git para conexões HTTPS. Você pode ler mais sobre essas credenciais (um nome de usuário e senha) em Configuração para usuários de HTTPS usando credenciais do Git no Guia do usuário do AWS CodeCommit.
Você pode criar as credenciais do Git para o AWS CodeCommit apenas para contas de usuário do IAM. Você não pode criá-las para uma conta raiz. Você pode criar até dois conjuntos dessas credenciais para o serviço e, embora possa marcar um conjunto de credenciais como inativo, os conjuntos inativos continuam contando para o limite de dois conjuntos. Você pode excluir e recriar credenciais a qualquer momento. Quando você usa o AWS CodeCommit dentro do Visual Studio, as credenciais da AWS tradicionais são utilizadas para trabalhar com o serviço propriamente dito; por exemplo, quando você está criando e listando repositórios. Trabalhando com os repositórios do Git reais hospedados no AWS CodeCommit, você deve usar as credenciais do Git.
Como parte do suporte para o AWS CodeCommit, o kit de ferramentas para Visual Studio cria e gerencia automaticamente essas credenciais do Git para você e as associa ao perfil de credencial da AWS. Você não precisa se preocupar em ter conjunto certo de credenciais à disposição para realizar operações do Git dentro do Team Explorer. Assim que você se conecta ao Team Explorer com o perfil de credencial da AWS, as credenciais do Git associadas são usadas automaticamente sempre que você trabalha com um Git remoto.
Como se conectar à AWS CodeCommit
Ao abrir a janela Team Explorer no Visual Studio de 2015 ou posterior, você verá uma entrada do AWS CodeCommit na seção Hosted Service Providers de Manage Connections.
Escolher Cadastre-se abre a página inicial da Amazon Web Services em uma janela do navegador. O que acontece quando você escolhe Conectar depende de o kit de ferramentas para Visual Studio conseguir encontrar um perfil de credencial com chaves de acesso e secreta da AWS para fazer chamadas à AWS em seu nome. É possível configurar um perfil de credencial usando a nova página Conceitos básicos exibida no IDE quando o kit de ferramentas para Visual Studio não consegue encontrar credenciais armazenadas localmente. Ou talvez você esteja usando o kit de ferramentas para Visual Studio, o AWS Tools for Windows PowerShell ou a AWS CLI e já tenha perfis de credencial da AWS disponíveis para o kit de ferramentas para Visual Studio usar.
Ao escolher Conectar, o kit de ferramentas para Visual Studio inicia o processo para encontrar um perfil de credencial a ser usado na conexão. Se o kit de ferramentas para Visual Studio não conseguir encontrar um perfil de credencial, ele abrirá uma caixa de diálogo solicitando que você insira as chaves de acesso e secretas para a Conta da AWS. É altamente recomendável usar uma conta de usuário do IAM, e não as credenciais raiz. Além disso, conforme observado anteriormente, as credenciais do Git de que você precisará só podem ser criadas para usuários do IAM. Assim que as chaves de acesso e secretas forem fornecidas e o perfil de credencial for criado, a conexão entre o Team Explorer e o AWS CodeCommit estará pronta para ser usada.
Se o kit de ferramentas para Visual Studio encontrar mais de um perfil de credencial da AWS, você deverá selecionar a conta que deseja usar dentro do Team Explorer.
Se você tiver apenas um perfil de credencial, o kit de ferramentas para Visual Studio ignorará a caixa de diálogo de seleção do perfil e a conexão será estabelecida imediatamente:
Quando uma conexão é estabelecida entre o Team Explorer e o AWS CodeCommit por meio dos perfis de credencial, a caixa de diálogo de convite é fechada e o painel de conexão é exibido.
Como você não têm repositórios clonados localmente, o painel mostra apenas as operações que você pode realizar: Clone (Clonar), Create (Criar) e Sign out (Sair). Assim como outros provedores, o AWS CodeCommit no Team Explorer só pode ser vinculado a um perfil de credencial da AWS em um dado momento. Para alternar contas, use Sign out (Sair) para remover a conexão, de maneira que possa iniciar uma nova conexão usando uma conta diferente.
Agora que estabeleceu uma conexão, você pode criar um repositório clicando no link Create (Criar).
Criação de um repositório
Ao clicar no link Criar, a caixa de diálogo Criar um repositório do AWS CodeCommit é aberta.
Os repositórios do AWS CodeCommit são organizados por região. Assim, em Region (Região), você pode selecionar a região na qual hospedar o repositório. A lista tem todas as regiões nas quais o AWS CodeCommit é compatível. Você fornece o nome (obrigatório) e a descrição (opcional) para o novo repositório.
O comportamento padrão da caixa de diálogo é de sufixo do local da pasta para o novo repositório com o nome do repositório (à medida que você insere o nome, o local da pasta também se atualiza). Para usar um nome de pasta diferente, edite o caminho da pasta Clone into (Clonar para) depois de terminar de inserir o nome do repositório.
Você também pode optar por criar automaticamente um arquivo .gitignore inicial para o repositório. O AWS Toolkit for Visual Studio fornece um padrão incorporado para tipos de arquivo do Visual Studio. Você também pode optar por não ter arquivo algum ou usar um arquivo existente personalizado que gostaria de reutilizar em todos os repositórios. Basta selecionar Use custom (Usar personalizado) na lista e navegue até o arquivo personalizado a ser usado.
Assim que tiver um nome de repositório e um local, você estará pronto para clicar em OK e começar a criar o repositório. O kit de ferramentas para Visual Studio solicita que o serviço crie o repositório e clone o novo repositório localmente, adicionando uma confirmação inicial para o arquivo .gitignore, caso você esteja usando um. É nesse ponto que você começa a trabalhar com o Git remoto e que o kit de ferramentas para Visual Studio requer acesso às credenciais do Git descritos anteriormente.
Configurar credenciais do Git
Até esse ponto, você usou chaves de acesso e secretas da AWS para solicitar que o serviço criasse o repositório. Agora você precisa trabalhar com o Git propriamente dito para fazer a operação de clonagem real, mas o Git não reconhece chaves de acesso e secretas da AWS. Em vez disso, você precisa fornecer as credenciais de nome do usuário e senha ao Git a ser usado em uma conexão HTTPS com o remoto.
Conforme observado em Configurar credenciais do Git, as credenciais do Git que você usará devem ser associadas a um usuário do IAM. Você não pode gerá-las para credenciais raiz. Você deve sempre configurar os perfis de credencial da AWS para conter chaves de acesso e secretas de usuário do IAM, e não as chaves raiz. O kit de ferramentas para Visual Studio pode tentar configurar credenciais do Git para o AWS CodeCommit em seu nome e associá-las ao perfil de credencial da AWS que você usou para se conectar ao Team Explorer anteriormente.
Ao escolher OK na caixa de diálogo Criar um repositório do AWS CodeCommit e criar com êxito o repositório, o kit de ferramentas para Visual Studio verifica o perfil de credencial da AWS conectado ao Team Explorer para determinar se as credenciais do Git para o AWS CodeCommit existem e estão associadas localmente ao perfil. Em caso positivo, o kit de ferramentas para Visual Studio instrui o Team Explorer a iniciar a operação de clonagem no novo repositório. Se as credenciais do Git não estiverem disponíveis localmente, o kit de ferramentas para Visual Studio verificará o tipo das credenciais de conta que foram usadas na conexão com o Team Explorer. Se as credenciais se destinarem a um usuário do IAM, conforme recomendamos, a mensagem a seguir será mostrada.
Se as credenciais forem credenciais raiz, a mensagem a seguir será mostrada em seu lugar.
Em ambos os casos, o kit de ferramentas para Visual Studio se oferece para tentar criar as credenciais do Git necessárias em seu nome. No primeiro cenário, tudo o que precisa ser feito é criar um conjunto de credenciais do Git para o usuário do IAM. Quando uma conta raiz estiver em uso, o kit de ferramentas para Visual Studio primeiro tentará criar um usuário do IAM e, em seguida, criar credenciais do Git para esse novo usuário. Se o kit de ferramentas para Visual Studio precisar criar um usuário, ele aplicará a política gerenciada de usuário avançado do AWS CodeCommit a essa nova conta de usuário. Essa política só permite acesso ao AWS CodeCommit e permite que todas as operações sejam realizadas com o AWS CodeCommit, exceto a exclusão do repositório.
Quando estiver criando credenciais, você só poderá visualizá-las uma vez. Por isso, o kit de ferramentas para Visual Studio solicita que você salve as credenciais recém-criadas como um arquivo .csv antes de continuar.
Isso também é algo altamente recomendável, e não se esqueça de salvá-las em um local seguro!
Pode haver casos em que o kit de ferramentas para Visual Studio não consiga criar automaticamente as credenciais. Por exemplo, talvez você já tenha criado o número máximo de conjuntos de credenciais do Git (dois) para o AWS CodeCommit ou não tenha direitos programáticos suficientes para o kit de ferramentas para Visual Studio fazer esse trabalho (se tiver feito login como um usuário do IAM). Nesses casos, você pode fazer login no Console de gerenciamento da AWS para gerenciar as credenciais ou obtê-las junto ao administrador. Você pode inseri-las na caixa de diálogo Credenciais do Git para o AWS CodeCommit exibida pelo kit de ferramentas para Visual Studio.
Agora que as credenciais do Git estão disponíveis, a operação de clonagem do novo repositório continua (consulte a indicação do progresso da operação dentro do Team Explorer). Se você tiver optado por aplicar um arquivo .gitignore padrão, ele será confirmado para o repositório com um comentário 'Initial Commit'.
Isso é tudo para configurar credenciais e criar um repositório dentro do Team Explorer. Assim que as credenciais necessárias forem implantadas, tudo o que você verá ao criar repositórios no futuro será a própria caixa de diálogo Criar um repositório do AWS CodeCommit.
Clonar um repositório
Para clonar um repositório existente, retorne ao painel de conexão do AWS CodeCommit no Team Explorer. Clique no link Clonar para abrir a caixa de diálogo Clonar repositório do AWS CodeCommit e selecione o repositório a ser clonado e o local no disco onde você deseja colocá-lo.
Assim que você escolher a região, o kit de ferramentas para Visual Studio consultará o serviço para descobrir os repositórios disponíveis na região e exibi-los na parte central da lista da caixa de diálogo. O nome e a descrição opcional de cada repositório também são exibidos. Você pode reorganizar a lista para classificá-la por nome de repositório ou pela data da última modificação e classificar cada uma em ordem crescente ou decrescente.
Assim que selecionar o repositório, você poderá escolher o local para clonagem. O padrão é o mesmo local de repositório usado em outros plug-ins para o Team Explorer, mas você pode procurar ou inserir qualquer outro local. Por padrão, o nome do repositório é incluído como sufixo no caminho selecionado. No entanto, se você quiser um caminho específico, bastará editar a caixa de texto depois de selecionar a pasta. Todo o texto na caixa quando você clicar em OK será a pasta na qual encontrará o repositório clonado.
Tendo selecionado o repositório e uma pasta local, você acaba clicando em OK para continuar a operação de clonagem. Assim como acontece com a criação de um repositório, você pode ver o progresso da operação de clonagem informada no Team Explorer.
Trabalho com repositórios
Quando você clona ou cria repositórios, observe que os repositórios locais da conexão estão listados no painel de conexão no Team Explorer nos links da operação. Essas entradas dão a você uma maneira prática de acessar o repositório para procurar conteúdo. Basta clicar com o botão direito do mouse no repositório e escolher Browse in Console (Navegar no console).
Você também pode usar Update Git Credentials (Atualizar credenciais do Git) para atualizar as credenciais do Git armazenadas associadas ao perfil de credencial. Isso será útil se você tiver girado as credenciais. O comando abre a caixa de diálogo Credenciais do Git para o AWS CodeCommit, na qual você pode inserir ou importar as novas credenciais.
As operações do Git nos repositórios funcionam como você esperaria. Você pode fazer confirmações locais e, quando estiver pronto para compartilhar, usar a opção Sync no Team Explorer. Como as credenciais do Git já estão armazenadas localmente e associadas ao perfil de credencial da AWS conectado, não deveremos fornecê-las novamente para operações em relação ao AWS CodeCommit remoto.