Time BV's Automatização da criação de VM com CI/CD, utilzando terraform, magalucloud + ansible

Nossa proposta está dividida em três partes, vamos fazer de forma sequencial a medida que o tempo for passando, e ver se vamos dar conta / conseguir integrar todas as coisas.
Consiste em:

  1. CI / CD - Automatização de deploys por pipelines utilzindo o git /Jenkins
  2. Solução para lidar com cenários de emergência. Facilidade de subir servidores, realizar deploys e tudo mais
  3. Devex → Aplicação para gerenciar / controlar o sistema de deploys

ATT1:
O processo ci/cd demorou mais do que pensavamos, e focamos apenas nele. Durante a trajetória, encontramos diversos bugs, como um erro em que a chave da API não estava funcionando, por isso o terraform não iniciava, depois, conseguimos iniciar o terraform utilizando a api pelo auth do CLI, porém, não era o jeito em que nós queriamos, depois, vimos que era um erro em que a criação da chave de API estava linkada a minha conta pessoal, ao invés de estar sendo criada na organização. Conseguimos contornar esse erro criando a chave de API via mgc.
As VMs criadas também não estavam sendo exibidas na interface visual do magaluCloud, sendo apenas visualizadas via CLI também.

Por enquanto, seguiremos no criação da vm via github actions, e após isso, o deploy da aplicação na VM recém criada, tudo isso automatizado.

1 curtida

ATT2: Concluimos nosso projeto, e tivemos alguns desafios durante o caminho:
A atualização do:
security_groups = [ {
id = “4aa1a237-2d57-439b-bf6a-177ddbace4cb”
} ]
}

ainda não é totalmente funcional pelo terraform, precisei atualizar na mão, pelo URL da pagina da magalu, uma vez que não consegui visualizar minha vm lá, pois atingiu o máximo de 50.

Os exemplos da documentação não estão muito amigavéis, e não funcionam se seguir 100%, precisa sempre realizar algumas alterações a parte.

Fora isso, o desafio foi íncrivel e a gente conseguiu aprender demais!!

Segue o nosso github do projeto final:
https://github.com/Edu-Spinelli/hackathon-magalu

e segue também o link da nossa aplicação automatizada, rodando na VM:
http://169.150.0.236:8080/