Outils pour utilisateurs

Outils du site


admin:services:paste.chapril.org:upgrade

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
admin:services:paste.chapril.org:upgrade [2024/01/07 14:41] – [Déployer] pitchumadmin:services:paste.chapril.org:upgrade [2024/05/07 19:33] (Version actuelle) – supprimée pitchum
Ligne 1: Ligne 1:
-====== Mise à jour de paste ====== 
- 
-<note>Ceci est une nouvelle procédure, pas encore totalement éprouvée. 
-Elle a été rédigée à partir de ce qui a été fait manuellement pour la v1.5.1. 
-</note> 
- 
-La mise à jour se passe en 2 temps : 
- 
-  - générer un tarball de la nouvelle version, sur le poste de travail de l'animsys 
-  - déployer ce tarball sur le serveur 
- 
-===== Générer le "livrable" ====== 
- 
-<note>Cette étape se déroule de préférence sur le poste de travail de l'animsys, pas sur le serveur.</note> 
- 
-==== La première fois ==== 
- 
-<code bash> 
-mkdir -p ~/code/chapril/paste-chapril 
-cd ~/code/chapril/paste-chapril/ 
-git clone https://forge.april.org/Chapril/paste.chapril.org-privatebin.git . # ne pas oublier le "." ici 
-git remote add upstream https://github.com/PrivateBin/PrivateBin.git 
-git fetch --all 
-</code> 
- 
-==== Les fois suivantes ==== 
- 
-<code bash> 
-cd ~/code/chapril/paste-chapril 
-git fetch --all 
-</code> 
- 
-Trouver le tag de la version qui nous intéresse. C'est probablement le dernier qui nous intéresse, donc on peut l'obtenir avec cette commande : 
-<code bash> 
-git tag --sort=v:refname | tail -n 1 
-</code> 
- 
-Stockons le numéro de version qui nous intéresse dans une variable, ici la version 1.5.1 pour l'exemple : 
- 
-<code bash> 
-export VERSION=1.5.1 
-</code> 
- 
-<code bash> 
-cd ~/code/chapril/paste-chapril 
-git checkout main-chapril 
-git rebase ${VERSION?} 
-</code> 
- 
-Et maintenant, il faut résoudre les éventuels conflits. 
- 
-<note>TODO : décrire grossièrement la procédure de résolution des conflits (edit/git add/git rebase --continue)</note> 
- 
-Une fois les conflits résolus, on créé un tag, puis une archive tar.gz à partir de ce tag : 
- 
-<code bash> 
-git tag ${VERSION?}-chapril 
-git push --tags origin # Pousser le tag côté forge April 
-</code> 
- 
-Normalement, le fait de pousser le tag suffit pour générer une archive téléchargeable sur la [[https://forge.april.org/Chapril/paste.chapril.org-privatebin/tags|page des tags de la forge]]. 
-Mais si l'archive n'est pas téléchargeable, alors on peut le créer soi-même comme ceci : 
- 
-<code bash> 
-git archive --prefix=paste-${VERSION?}-chapril/ -o /tmp/paste-${VERSION?}-chapril.tar.gz ${VERSION?}-chapril 
-</code> 
- 
-===== Déployer ===== 
- 
-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/Chapril/paste.chapril.org-privatebin/tags|page des tags de la forge]]. 
- 
-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'exemple : 
- 
-<code bash> 
-export VERSION=1.5.1 
-</code> 
- 
-On extrait alors dans un dossier dédié, dans lequel on doit recopier le fichier //conf.php// spécifique de Chapril (on ne le copie pas, on créé plutôt un lien symbolique parce qu'on aime créer du lien :) ) 
- 
-<code bash> 
-cd /var/www/paste.chapril.org/ 
-wget -O versions/paste-${VERSION?}-chapril.tar.gz \ 
-  https://forge.april.org/Chapril/paste.chapril.org-privatebin/archive/${VERSION?}-chapril.tar.gz 
-sudo -u www-data tar \ 
-  --one-top-level=versions/chapril-paste-${VERSION?} \ 
-  --strip-components=1 \ 
-  -xavf versions/paste-${VERSION?}-chapril.tar.gz 
-cd versions/chapril-paste-${VERSION?}/cfg/ 
-ln -s /etc/chapril-paste.conf conf.php 
-</code> 
- 
-On peut maintenant faire la bascule, tout simplement en remplaçant le lien symbolique //public_html// pour qu'il pointe vers le nouveau dossier : 
- 
-<code bash> 
-cd /var/www/paste.chapril.org/ 
-rm -f public_html ; ln -s versions/chapril-paste-${VERSION?} public_html 
-</code> 
- 
-On vérifie que l'appli fonctionne toujours correctement en visitant https://paste.chapril.org/. 
- 
-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/chapril-paste-1.4.0 public_html 
-</code>