49 lines
2.5 KiB
Markdown
49 lines
2.5 KiB
Markdown
# Publier et installer une mise à jour
|
||
|
||
Globinours consulte directement les releases de son dépôt Forgejo. L’adresse du dépôt est configurable dans `.env` :
|
||
|
||
```dotenv
|
||
GLOBINOURS_RELEASES_REPOSITORY=https://nnsprod.com/git/oversu/Globinours
|
||
```
|
||
|
||
À partir de cette adresse, Globinours déduit automatiquement l’API Forgejo. Aucun jeton n’est nécessaire tant que le dépôt et ses releases sont publics.
|
||
|
||
## Contenu d’une release
|
||
|
||
Une release stable doit porter un tag de version, par exemple `1.0.1`, et contenir les deux assets suivants :
|
||
|
||
```text
|
||
globinours-1.0.1.tar.gz
|
||
SHA256SUMS
|
||
```
|
||
|
||
Le fichier `SHA256SUMS` contient l’empreinte de l’archive :
|
||
|
||
```text
|
||
0f00000000000000000000000000000000000000000000000000000000000000 globinours-1.0.1.tar.gz
|
||
```
|
||
|
||
Un fichier nommé `globinours-1.0.1.tar.gz.sha256` peut remplacer `SHA256SUMS`. Les brouillons sont toujours ignorés. Une installation candidate accepte les releases marquées comme préversions ; une installation stable les ignore. Un technicien peut exceptionnellement les autoriser avec `GLOBINOURS_RELEASES_PRERELEASES=1`.
|
||
|
||
L’archive doit contenir un fichier `VERSION`, le dossier `app`, le dossier `migrations` et `public/index.php`, directement ou sous un unique dossier parent. Les dossiers `.env`, `data`, `storage` et `public/media` éventuellement présents sont toujours ignorés.
|
||
|
||
## Depuis l’interface
|
||
|
||
Un administrateur ouvre **Paramètres → Mises à jour**. Il peut installer la dernière release stable ou téléverser lui-même son archive et son empreinte SHA-256. Son mot de passe est demandé avant toute installation ou restauration.
|
||
|
||
## En ligne de commande
|
||
|
||
```bash
|
||
php scripts/update.php --check
|
||
php scripts/update.php --online
|
||
php scripts/update.php globinours-1.0.1.tar.gz --sha256=EMPREINTE
|
||
php scripts/update.php --rollback
|
||
```
|
||
|
||
Avant de remplacer le code, Globinours crée et vérifie une sauvegarde complète. Il conserve ensuite une copie du code précédent dans `storage/releases`. Si une migration ou un contrôle final échoue, le code et les données sont restaurés automatiquement.
|
||
|
||
Le retour arrière manuel restaure également les données telles qu’elles étaient avant la mise à jour. Une nouvelle sauvegarde de l’état courant est créée avant cette opération.
|
||
|
||
## Détection des versions
|
||
|
||
La vérification est effectuée au plus une fois par jour pour un administrateur connecté et pendant la maintenance planifiée. Elle ne transmet aucune donnée du refuge. Seuls le nom et la version de Globinours figurent dans l’identifiant HTTP.
|