La mise à jour de tous les sites Picasoft termine par la même étape : on a des fichiers locaux, il faut la transférer sur le serveur web.
Note:
À ce jour, les sites de Picasoft tournent sur pica01
et pica03
. On peut le vérifier sur ces graphes.
On commence par transférer ces fichiers dans sur pica01
ou pica03
. Supposons qu’ils soient situés en local, dans le dossier ~/website
:
rsync -a ~/site <login>@pica01.picasoft.net:/tmp
Scenari génère systématiquement une archive ZIP. Une fois transférée sur pica01
ou pica03
, il faut l’extraire.
cd /tmp unzip <site>.zip -d site
Attention:
Si on se contentait d’extraire <site>.zip
, tous les dossiers qu’il contient se retrouveraient dans /tmp
. Il est plus pratique de les extraire dans un dossier à part, ici site
.
Note:
En théorie, un script existe pour faire le transfert et la mise à jour automatiquement ; il est cassé/obsolète mais peut être amélioré pour accélérer de nouveau le processus.
Note:
Dans les items de publication Scenari .website
un commentaire propose un squelette de commande bash à finir de configurer (il suffit de changer l’user (ici crozatst) et la machine (ici pica01), comme par exemple
# Pour publier : # - générer # - télécharger le ZIP du site généré dans /tmp # - lancer (avec son user pica01 pour le rsync et ssh) : cd /tmp && rm -rf picahome && unzip home_gen_tileSite.zip -d picahome && rsync -va picahome/* crozatst@pica01.picasoft.net:/tmp/website && ssh crozatst@pica01.picasoft.net "docker cp /tmp/website/. website:/usr/share/nginx/html"
Attention:
Cette opération écrase les fichiers existants.
Trouver le nom du conteneur concerné. Un docker ps
peut aider.
La racine de tous les fichiers servis par les sites de Picasoft se trouve à /usr/share/nginx/html
dans les conteneurs.
Il suffit alors de lancer un simple docker cp
.
Attention:
L’arborescence peut avoir son importance, en particulier dans le cas des sites générés par Scenari. Par exemple, un module de doc.picasoft.net
sera à remplacer dans /usr/share/nginx/html/modules/<nom_module>
, et non à la racine ! Aussi, une recette de culture.picasoft.net
sera à ajouter dans /usr/share/nginx/html/recipes
, et pas à la racine.
Une fois que vous avez identifié le chemin où remplacer les fichiers à l’intérieur du conteneur, il suffit de les copier :
cd /tmp/site docker cp . <nom_conteneur>:/usr/share/nginx/html/[complement]
Note:
Le [complement]
est optionnel ; dans la plupart des cas, on remplace tout le site (radio, site principal…).