Outils pour utilisateurs

Outils du site


admin:services:paste.chapril.org

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
Prochaine révisionLes deux révisions suivantes
admin:services:paste.chapril.org [2024/04/07 20:13] claveradmin:services:paste.chapril.org [2024/04/24 21:05] 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://privatebin.info]]\\  site principal : [[https://privatebin.info]]\\ 
Ligne 134: Ligne 136:
 </code> </code>
  
-====== Installation d'un mise à jour ======+====== Installation d'une mise à jour ======
  
 <note warning>Une nouvelle procédure est en cours d'expérimentation [[admin/services/paste.chapril.org/upgrade|sur une page dédiée]]. La documentation ci-dessous est vouée à être remplacée prochainement.</note> <note warning>Une nouvelle procédure est en cours d'expérimentation [[admin/services/paste.chapril.org/upgrade|sur une page dédiée]]. La documentation ci-dessous est vouée à être remplacée prochainement.</note>
Ligne 147: Ligne 149:
 </code> </code>
  
-Faire une sauvegarde du dossier en production.(Changer la date!) +====== Mise à jour de paste ====== 
-<code> + 
-cp -/var/www/paste.chapril.org  /srv/paste.chapril.org/paste.chapril.org20200412+<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> </code>
  
-Se mettre sur la dernière branche master,créer une nouvelle branche master et se mettre dessus. +==== Les fois suivantes ==== 
-<code> + 
-git checkout master-x.x.x +<code bash
-git branch master-x.x.(x+1) +cd ~/code/chapril/paste-chapril 
-git checkout master-x.x.(x+1)+git fetch --all
 </code> </code>
  
-Tout vider sauf .git et .gitignore.+Trouver le tag de la version qui nous intéresseC'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>
  
-Récupérer le fichier tar de la nouvelle version et le décompresser.+Stockons le numéro de version qui nous intéresse dans une variable, ici la version 1.5.1 pour l'exemple :
  
-Si nécessaire déplacer l'ensemble des fichiers dans /var/www/paste.chapril.org. +<code bash
-<code> +export VERSION=1.5.1
-wget https://github.com/PrivateBin/PrivateBin/archive/x.x.(x+1).tar.gz +
-tar xf x.x.(x+1).tar.gz && rm x.x.(x+1).tar.gz+
 </code> </code>
-Récupérer dans la sauvegarde le répertoire data et le fichier paste.log + 
-<code> +<code bash
-cp -a /srv/paste.chapril.org/paste.chapril.org20200412/data /var/www/paste.chapril.org/ +cd ~/code/chapril/paste-chapril 
-cp  /srv/paste.chapril.org/paste.chapril.org20200412/paste.log /var/www/paste.chapril.org/paste.log+git checkout main-chapril 
 +git rebase ${VERSION?}
 </code> </code>
-Faire le commit + 
-<code> +Et maintenant, il faut résoudre les éventuels conflits. 
-git commit -m "version (x.x.x+1) (#1111)"+ 
 +<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> </code>
-Revenir sur la dernière branche chapril-x.x.x, créer une nouvelle branche chapril-x.x.(x+1) et se mettre dessus et faire le merge de la branche master-x.x.(x+1) dans chapril-x.x.(x+1). + 
-<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]]. 
-git checkout chapril-x.x.x +Mais si l'archive n'est pas téléchargeable, alors on peut le créer soi-même comme ceci : 
-git branch chapril-x.x.(x+1) + 
-git checkout chapril-x.x.(x+1) +<code bash
-git merge master-x.x.(x+1)+git archive --prefix=paste-${VERSION?}-chapril/ -o /tmp/paste-${VERSION?}-chapril.tar.gz ${VERSION?}-chapril
 </code> </code>
-Résoudre le problèmes éventuels. + 
-Réactiver le site  +===== Déployer ===== 
-<code> + 
-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/Chapril/paste.chapril.org-privatebin/tags|page des tags de la forge]]
-systemctl restart apache2+ 
 +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> </code>
-mettre l'avis de maintenance à terminé. 
  
-Faire un push vers la forge et la faire pointer vers la dernière branche +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> + 
-git push --all+<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> </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>
admin/services/paste.chapril.org.txt · Dernière modification : 2024/05/07 19:32 de pitchum