Deploy Hugo no S3 com pipeline no CircleCI - Parte 2
E ai pessoal, tudo beleza? vamos iniciar a parte 2 do deploy do hugo no AWS S3 e com pipeline no CircleCI
Se você ainda não viu a primeira parte inicie por lá Parte 1
Configurando as Chaves AWS
Primeiramente você necessita entrar na sua console da AWS e lá acessar o servico IAM
Ao acessar clique no menu ao lado esquerdo em Usuários conforme abaixo:
E após isto, clique no botão Adicionar Usuário
E ai irá pra a tela de criação de usuário, digite o nome do usuário, lembrando que esse usuário não irá ter acesso na console, somente via CLI, então tome bastante cuidado e determine somente as funções necessárias
E marque a opção de acesso programático, para que gere as chaves de acesso via CLI
Após avançar, você irá criar um grupo para definir as permissões daquele grupo, então clique no botão Criar um grupo
E ai coloque o nome do grupo e no campo Filtrar Politicas digite S3 conforme a foto abaixo e selecione a politica AmazonS3FullAccess
Após isto, pode finalizar e Revisar a sua criação de usuário.
Ao Finalizar, ele irá abrir uma tela pedindo para que vc salve um ID e chave de acesso, Salve ela neste momento, pois necessitaremos posteriormente para dar a permissão do CircleCI enviar arquivos para o seu Bucket!
Criação do Bucket
Bom, esse procedimento vou realizar na própria console da AWS para o processo ser mais fácil, mas posteriormente irei mostrar como criar via Terraform para pessoas que desejam aprender essa ferramenta que é muito simples de fazer playbooks e executar.
Continuando na console da AWS, vá no servico S3 e depois clique no botão Criar Bucket
Irá aparecer uma janela pedindo o nome do bucket e a região, o nome do bucket necessita ser um nome unico em toda AWS, então não se preocupe quando der erro, não é porque vc já tem um bucket com aquele nome, mas sim alguem naquela região criou o bucket com o nome que vc escolheu (teste e numeros na frente são os mais escolhidos kkkkk)
A região você pode determinar para qualquer lugar, mas isto varia de preço entre regioes, para verificar qual é o preco daquela região, acesse aqui (https://aws.amazon.com/pt/s3/pricing/)
Após clicar em próximo, irá aparecer essa tela, pedindo algumas opções, ai fica do seu critério inserir, no meu caso somente coloquei uma tag para conseguir identificar posteriormente no AWS CLI
Aqui irá aparecer solicitando a definição de acesso, pode deixar desabilitado tudo, pois como nós iremos hospedar um site estático, necessita de acesso publico.
Após isto, o seu Bucket estará criado!
Na tela da listagem dos Buckets, clique no seu bucket que acabou de criar e vá na aba Propriedades e clique em Hospedagem de site estático
E dentro selecione Usar esse bucket para hospedar um site
E irá abaixo aparecer as informações de documento de indice e de erro, vocẽ pode customizar isto também
E Encima destas opções irá apresentar uma URL, salve ela que ela será onde vocẽ irá apontar a sua entrada de DNS para ele.
Pronto, as configurações do seu bucket estão finalizadas, agora iremos configurar o CircleCI com as credenciais.
Inserindo as Credenciais no CircleCI
Primeiramente, vá até o CircleCI e clique no projeto que você criou e após clique em Project Settings
e após isto no seu lado direito clique em Enviroment Variables
E ao entrar em Enviroment Variables, clique em Add Variable
E irá aparecer uma tela para inserir o nome e o valor, vocẽ irá criar 3 Variaveis:
Name: AWS_ACCESS_KEY_ID, Value: Id da Chave da AWS que vocẽ criou anteriormente
Name: AWS_SECRET_ACCESS_KEY, Value: Senha do Id da Chave AWS que você criou anteriormente
Name: AWS_REGION, Value: A Região que vocẽ criou o Seu Bucket S3
Assim que realizar a criação dessas 3 Variaveis, você roda o seu pipeline manualmente no painel do CircleCi, ou faz um commit no seu repositório GIT que voce havia configurado anteriormente. assim o deploy irá rodar e voce poderá acompanhar no painel a execução.
Após finalizar com sucesso o pipeline, você já pode acessar o seu site criado na Esteira de CI/CD com Sucesso!!
Qualquer duvida ou sugestão, pode me enviar um email ou entrar em contato em qualquer rede social minha que está nessa página Sobre
Vlw e até a próxima!