Ceci est une ancienne révision du document !
Table des matières
Mise à jour de paste
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"
La première fois
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
Les fois suivantes
cd ~/code/chapril/paste-chapril git fetch --all
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 :
git tag --sort=v:refname | tail -n 1
Stockons le numéro de version qui nous intéresse dans une variable, ici la version 1.5.1 pour l'exemple :
export VERSION=1.5.1
cd ~/code/chapril/paste-chapril git checkout main-chapril git rebase ${VERSION?}
Et maintenant, il faut résoudre les éventuels conflits.
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 # Pousser le tag côté forge April
Déployer
Le tag créé dans la précédente section donne lieu à la création d'un tarball téléchargeable sur la page des tags de la forge.
Transférer le tarball précédemment créé sur la VM lamp, dans le dossier /tmp/.
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 :
export VERSION=1.5.1
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 :) )
cd /var/www/paste.chapril.org/ wget -O versions/${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/${VERSION?}-chapril.tar.gz cd versions/chapril-paste-${VERSION?}/cfg/ ln -s /etc/chapril-paste.conf conf.php
On peut maintenant faire la bascule, tout simplement en remplaçant le lien symbolique public_html pour qu'il pointe vers le nouveau dossier :
cd /var/www/paste.chapril.org/ rm -f public_html ; ln -s versions/chapril-paste-${VERSION?} public_html
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 :
rm -f public_html ; ln -s versions/chapril-paste-1.4.0 public_html