Ce projet permet de déployer de manière automatisée une application sur AWS en utilisant les outils Packer, Ansible, Terraform et GitLab CI.
Le projet est organisé en plusieurs répertoires :
- BuildAmi : Contient le code Packer et la configuration Ansible pour la construction de l'AMI.
- DeployRunner : Contient le code Terraform pour le déploiement de la VM exécutant GitLab Runner.
- DeployWebInfrastructure : Contient le code Terraform pour le déploiement de l'infrastructure de l'application web.
- DeployWebApplication : Contient le code Terraform pour le déploiement de l'application web.
Le déploiement se déroule selon l'ordre suivant en utilisant GitLab CI :
- Build AMI Validate : Validation du code Packer et de la configuration Ansible.
- Build AMI Deploy : Construction de l'AMI.
- DeployWebInfrastructure Validate : Validation du code Terraform pour le déploiement de l'infrastructure.
- DeployWebInfrastructure Plan : Planification du déploiement de l'infrastructure.
- DeployWebInfrastructure Apply : Déploiement de l'infrastructure.
- DeployWebApplication Validate : Validation du code Terraform pour le déploiement de l'application.
- DeployWebApplication Plan : Planification du déploiement de l'application.
- DeployWebApplication Apply : Déploiement de l'application.
- DeployWebApplication Destroy : Destruction de l'application.
- DeployWebInfrastructure Destroy : Destruction de l'infrastructure.
- Build AMI Clean : Nettoyage de l'AMI.
Assurez-vous de configurer correctement les variables dans les fichiers ainsi que dans les parametres Gitlab Runner