admin:services:paste.chapril.org
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
admin:chatons:paste.chapril.org [2020/04/15 19:17] – [Installation d'un mise à jour] dclermonte | admin:services:paste.chapril.org [2024/04/24 21:05] (Version actuelle) – claver | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Service paste.chapril.org ====== | ====== Service paste.chapril.org ====== | ||
+ | |||
====== Introduction ====== | ====== Introduction ====== | ||
+ | |||
Ce service est basé sur privatebin\\ | Ce service est basé sur privatebin\\ | ||
site principal : [[https:// | site principal : [[https:// | ||
sources : [[https:// | sources : [[https:// | ||
- | installation | + | Machine virtuelle Chapril pour ce service |
Les données peuvent être stockées en SQL ou en fichier plat, ici la solution retenue est fichiers plats | Les données peuvent être stockées en SQL ou en fichier plat, ici la solution retenue est fichiers plats | ||
+ | |||
+ | |||
====== Préparation ====== | ====== Préparation ====== | ||
+ | |||
+ | Création de la VM avec la procédure [[admin: | ||
+ | |||
création d'un utilisateur (non indispensable mais fait pour chapril) | création d'un utilisateur (non indispensable mais fait pour chapril) | ||
< | < | ||
Ligne 129: | Ligne 136: | ||
</ | </ | ||
- | ====== Installation d'un mise à jour ====== | + | ====== Installation d'une mise à jour ====== |
+ | |||
+ | <note warning> | ||
+ | |||
Émettre un avis de maintenance planifiée. | Émettre un avis de maintenance planifiée. | ||
Ligne 138: | Ligne 149: | ||
</ | </ | ||
- | Faire une sauvegarde du dossier en production.(Changer | + | ====== Mise à jour de paste ====== |
- | < | + | |
- | cp -a /var/www/paste.chapril.org | + | < |
+ | Elle a été rédigée à partir de ce qui a été fait manuellement pour la v1.5.1. | ||
+ | </ | ||
+ | |||
+ | La mise à jour se passe en 2 temps : | ||
+ | |||
+ | - générer un tarball de la nouvelle version, sur le poste de travail de l' | ||
+ | - déployer ce tarball sur le serveur | ||
+ | |||
+ | ===== Générer le " | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== La première fois ==== | ||
+ | |||
+ | < | ||
+ | mkdir -p ~/code/chapril/paste-chapril | ||
+ | cd ~/ | ||
+ | git clone https:// | ||
+ | git remote add upstream https://github.com/ | ||
+ | git fetch --all | ||
</ | </ | ||
- | Se mettre sur la dernière branche master, | + | ==== Les fois suivantes ==== |
- | < | + | |
- | git checkout master-x.x.x | + | < |
- | git branch master-x.x.(x+1) | + | cd ~/ |
- | git checkout master-x.x.(x+1) | + | git fetch --all |
</ | </ | ||
- | Tout vider sauf .git et .gitignore. | + | Trouver le tag de la version qui nous intéresse. C'est probablement le dernier qui nous intéresse, donc on peut l' |
+ | <code bash> | ||
+ | git tag --sort=v: | ||
+ | </ | ||
- | Récupérer | + | Stockons |
- | Si nécessaire déplacer l' | + | < |
- | < | + | export VERSION=1.5.1 |
- | wget https:// | + | |
- | tar xf x.x.(x+1).tar.gz && rm x.x.(x+1).tar.gz | + | |
</ | </ | ||
- | Récupérer dans la sauvegarde le répertoire data et le fichier paste.log | + | |
- | < | + | < |
- | cp -a /srv/paste.chapril.org/paste.chapril.org20200412/ | + | cd ~/code/ |
- | cp / | + | git checkout main-chapril |
+ | git rebase ${VERSION?} | ||
</ | </ | ||
- | Faire le commit | + | |
- | < | + | Et maintenant, il faut résoudre les éventuels conflits. |
- | git commit | + | |
+ | < | ||
+ | |||
+ | Une fois les conflits résolus, on créé un tag, puis une archive tar.gz à partir de ce tag : | ||
+ | |||
+ | < | ||
+ | git tag ${VERSION?}-chapril | ||
+ | git push --tags origin | ||
</ | </ | ||
- | Revenir | + | |
- | < | + | Normalement, |
- | git checkout chapril-x.x.x | + | Mais si l' |
- | git branch | + | |
- | git checkout | + | < |
- | git merge master-x.x.(x+1) | + | git archive --prefix=paste-${VERSION? |
</ | </ | ||
- | Résoudre le problèmes éventuels. | ||
- | Réactiver le site et mettre l'avis de maintenance à terminé. | ||
- | Faire un push vers la forge et la faire pointer vers la dernière branche | + | ===== Déployer ===== |
- | < | + | |
- | a2ensite paste.chapril.org.conf | + | Le tag créé dans la précédente section donne lieu à la création d'un tarball téléchargeable sur la [[https://forge.april.org/ |
- | systemctl restart apache2 | + | |
- | git push --all | + | Stockons une fois de plus le numéro de version qui nous intéresse dans une variable, ici la version 1.5.1 pour l' |
+ | |||
+ | < | ||
+ | export VERSION=1.5.1 | ||
</ | </ | ||
+ | On extrait alors dans un dossier dédié, dans lequel on doit recopier le fichier // | ||
+ | |||
+ | <code bash> | ||
+ | cd / | ||
+ | wget -O versions/ | ||
+ | https:// | ||
+ | sudo -u www-data tar \ | ||
+ | --one-top-level=versions/ | ||
+ | --strip-components=1 \ | ||
+ | -xavf versions/ | ||
+ | cd versions/ | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | On peut maintenant faire la bascule, tout simplement en remplaçant le lien symbolique // | ||
+ | |||
+ | <code bash> | ||
+ | cd / | ||
+ | rm -f public_html ; ln -s versions/ | ||
+ | </ | ||
+ | |||
+ | On vérifie que l' | ||
+ | |||
+ | Si besoin, on peut rapidement faire un retour arrière à la version précédente (version 1.4.0 ici) avec la commande suivante : | ||
+ | |||
+ | <code bash> | ||
+ | rm -f public_html ; ln -s versions/ | ||
+ | </ |
admin/services/paste.chapril.org.1586978267.txt.gz · Dernière modification : 2020/04/15 19:17 de dclermonte