PROJET

#### Objectif: Automatisation de déploiement L'objectif est d'automatiser des déploiements à l'aide de playbook Ansible et de son écosystème Ce projet devra comprendre un: - Déploiement serveur - Déploiement applicatif #### Groupe ou individuel: Ce projet peut se faire en groupe (de 2/3/4 personnes) ou individuellement #### Consignes: - Le projet doit être mis sur un repository dans le [gitlab](https://forge.univ-lyon1.fr) de l'université. - Le nom du repository devra être sous la forme: LP - DevOps - 2020 - ansible - Grp* - **** - * Exemple: `LP - DevOps - 2020 - ansible - Grp2 - Python - 2` - Grp* pour le numéro du groupe - **** pour la technologie applicative utilisée (php / java / python / dotnet) - * pour un numéro de sous groupe (1/2/3/4) si besoin - Le professeur doit être ajouté en tant que `owner` aux membres du - Un readme doit être présent dans le projet avec les rubriques suivantes: - Liste des étudiants. - Comportant: nom - prénom - numéro étudiant - Les clés ssh de connexion: - aux serveurs openstack - aux repositories gitlab - Les technologies utilisées. - La liste des `roles` (si utilisés). - La liste des commandes à utiliser. Ceux-ci pourront aussi être présents dans un makefile - Une présentation de l'architecture mise en place #### Architecture/Environnement L'architecture doit permettre le déploiement au minimun sur des environnements de: - preprod - prod #### Serveur Il doit être possible de déployer les types suivants: - web - base de données - applicatif #### Applicatif La stratégie de déploiement doit permettre du `atomic deployments` ``` -- /var/www/my-app.com |-- current -> /var/www/my-app.com/releases/20200512131539 |-- releases | |-- 20200512131539 | |-- 20200509150741 | |-- 20200509145325 |-- shared ``` #### Conseils - Un code organiser/structurer, tu feras - Sur une/des nouvelle(s) machine(s) (hôte/VM), le professeur lancera - sans erreur, les playbooks seront #### Bonus - Des tests applicatifs pourront être lancés via un playbook - Si des `roles` ont été créés ceux-ci pourront être testés avec [Molecule](https://molecule.readthedocs.io/en/latest/)