update project def
This commit is contained in:
parent
1c344e03c3
commit
b195750064
1 changed files with 47 additions and 6 deletions
53
readme.md
53
readme.md
|
@ -5,8 +5,9 @@
|
|||
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
|
||||
- Déploiement serveur (nginx, mariadb, php, composer, nodejs)
|
||||
- Déploiement applicatif (Symfony blog)
|
||||
- https://forge.univ-lyon1.fr/iut-lyon-lp-devops-ansible/symfony-blog
|
||||
|
||||
#### Groupe ou individuel:
|
||||
Ce projet peut se faire en binôme ou individuellement
|
||||
|
@ -36,7 +37,21 @@ L'architecture doit permettre le déploiement sur des environnements de :
|
|||
Il doit être possible de déployer les parties suivantes (séparément ou "all-in-one") :
|
||||
- serveur web (nginx)
|
||||
- base de données (mariadb)
|
||||
- applicatif (php / composer / git / nodejs )
|
||||
- applicatif (php / composer / git / npm )
|
||||
|
||||
- Nginx :
|
||||
- Configuration: Activer le Gzip (https://www.digitalocean.com/community/tools/nginx)
|
||||
- Vhost pour Symfony: [https://symfony.com/doc/current/setup/web_server_configuration.html#nginx]
|
||||
|
||||
- Mariadb :
|
||||
- (?TODO Check timeout sur installation de la clé) Installer la version : [10.5](https://downloads.mariadb.org/mariad≤b/repositories/#distro=Ubuntu&distro_release=focal--ubuntu_focal&mirror=cnrs&version=10.5)
|
||||
- config: create database / create user and password
|
||||
- PHP :
|
||||
- version 7.4
|
||||
- Extensions: JSON, zip, mysql, intl, fpm, xml
|
||||
- max_execution_time / memory_limit
|
||||
|
||||
- composer: https://getcomposer.org/download/
|
||||
|
||||
#### Applicatif
|
||||
|
||||
|
@ -47,7 +62,7 @@ La stratégie de déploiement doit permettre du `atomic deployments`
|
|||
|
||||
> **Atomic deployment** – Make updates available only when they are complete and totally in place.
|
||||
|
||||
- Ressource pour en savoir plus sur l'atomic deployemnt
|
||||
- Ressource pour en savoir plus sur l'atomic deployment
|
||||
- https://deploybot.com/blog/deploy-complex-apps-with-atomic-sftp-deployments (lire les 3 premières parties)
|
||||
- https://www.ewaldvanderveken.dev/zero-downtime-deployment-of-your-symfony-project-using-capistrano-and-gitlab-ci/ (lire la première partie)
|
||||
|
||||
|
@ -55,8 +70,8 @@ La stratégie de déploiement doit permettre du `atomic deployments`
|
|||
- https://docs.ansible.com/ansible/2.9/modules/deploy_helper_module.html
|
||||
|
||||
```
|
||||
-- /var/www/my-app.com
|
||||
|-- current -> /var/www/my-app.com/releases/20200512131539
|
||||
-- /var/www/html/my-app.com
|
||||
|-- current -> /var/www/html/my-app.com/releases/20200512131539
|
||||
|-- releases
|
||||
| |-- 20200512131539
|
||||
| |-- 20200509150741
|
||||
|
@ -64,13 +79,39 @@ La stratégie de déploiement doit permettre du `atomic deployments`
|
|||
|-- shared
|
||||
```
|
||||
|
||||
|
||||
|
||||
- L'applicatif doit comporter un connexion à la base de données
|
||||
Chaque environnement doit avoir sa propre base de données avec un user et un mot de passe différent.
|
||||
|
||||
Exemple:
|
||||
- preprod:
|
||||
- user: symfony_preprod
|
||||
- pwd: symfony_preprod
|
||||
- prod:
|
||||
- user: symfony_prod
|
||||
- pwd: symfony_prod
|
||||
|
||||
|
||||
- L'applicatif doit permet d'afficher un titre de blog différent par environnement.
|
||||
Exemple:
|
||||
Symfony blog - preprod
|
||||
|
||||
- Variable d'environnement du projet symfony:
|
||||
- DATABASE_URL=
|
||||
- APP_ENV=
|
||||
- APP_SECRET=
|
||||
|
||||
Commande pour compiler les variables d'environment: `composer dump-env dev`
|
||||
|
||||
- Mise à jours de la base de données:
|
||||
- bin/console doctrine:migration:migrate
|
||||
- Compiler le JS et SCSS:
|
||||
- npm run build
|
||||
|
||||
- Pour la preprod:
|
||||
- Ajouter les données de test (fixtures)
|
||||
- `bin/console hautelook:fixtures:load`
|
||||
#### 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
|
||||
|
|
Reference in a new issue