This repository has been archived by the owner on Jul 22, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 62
Installation et maj : amélioration du mécanisme #665
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This reverts commit 8d9c518.
f58178e to
c18ad3a
Compare
wouldsmina
approved these changes
Jun 19, 2018
|
erreur durant l'update : on dirait que le nom de la bdd ne passe pas |
|
C'est tout ce qu'il y a ? :( Je vais creuser ce weekend. Tu peux me dire à quelle étape il s'est vautré ? |
|
NB: ne pas oublier de sauvegarder avant le destroy |
|
désolé pour le retard, l'erreur complète sur un c'est sous mondaran, connecté en root et les fichiers appartiennent à www-data |
|
oublie ce que je t'ai dit, ça vient de mon install |
|
BPM! |
|
\o/ |
Closed
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #174
Abstract
Les patchs de versions ne sont pas satisfaisants en l'état actuel. Le fichier regroupant tous les changements – installation comme migration – fait perdre de vue quelle PR a introduit quoi, et si la lecture est difficile, le debug aussi.
Je propose donc d'ajouter un niveau de granularité aux patchs, leur permettant de nous montrer isolément de quel changement il s'agit.
En plus de l'aspect évidemment moins lourdingue du processus de migration, dire qu'une installation est une mise à jour particulière et faire des patchs à incréments a un effet intéressant : ça va nous permettre, tôt ou tard, d'avoir moins de branches. Une fois que le code sera dans une bonne dynamique de fiabilité, nous pourrons être sûrs de nous et pousser nos branches de travail sur
master. En cas de bug, il nous suffira de patcher le code, de livrer une version et de lancer le script de mise à jour. Ce genre de choses n'est pas possible dans la version actuelle, et c'est pour ça que j'introduis les incréments. Tout cela s'accompagne bien évidemment d'un support aux utilisateurs pour leur faire prendre l'habitude de migrer souvent, sinon ça perd un peu de son intérêt.Méthodo
Je n'ai pas pu faire un système basé sur le timestamp comme je le voulais au départ compte tenu que la synchronisation temporelle entre les développements et les installations n'était pas assurée. J'ai donc un truc encore plus simple : les patchs sont organisés dans un seul répertoire, un fichier par incrément, sous la forme « Major.minor.patch ». Cela me permet d'assurer la migration tout en garantissant la synchronisation entre les devs et les utilisateurs.
Au fur et à mesure des sorties, le tout premier patch contiendra la totalité des changements induits par les autres et l'histoire recommencera.
J'ai vainement tenté de faire une installation / maj en web et d'être le plus compatible possible. Mais ça n'a pas été possible ; seul l'admin peut avoir le droit de faire une mise à jour, et vu les patchs à incrément, personne aurait pu se connecter pour avoir le droit de mettre à jour si des changements de BD apparaissent. Je suis donc parti sur un truc sécurisé et souple à la fois puisqu'il n'est pas accessible : le CLI.
Une installation se présente ainsi tout bêtement :
une mise à jour
À noter que l'installation crée désormais la DB. Il y a aussi un ordre make
reinstallpour les devs qui passent leur temps à déboguer leur code (…).J'ai aussi mis une doc, accessible via l'ordre par défaut de make :
makeTest
NB : j'ai tout supprimé comme un berserk, encore une fois, mais c'est pour la bonne cause. J'ai en effet pour ambition d'avoir un vrai installateur automatisé qui embarquerait l'installation via composer ainsi que tous les contrôles sur la pile technique (curl, php7, mbstring, …).