technique:adminserv:sites:update_from_archive

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édentes Révision précédente
Prochaine révision
Révision précédente
technique:adminserv:sites:update_from_archive [2021/01/09 00:36] qduchemitechnique:adminserv:sites:update_from_archive [2022/09/26 13:55] (Version actuelle) crozatst
Ligne 1: Ligne 1:
-{{indexmenu_n>1}} +{{indexmenu_n>3}} 
-Mise à jour à partir d'une archive Scenari+Modifier un site web
  
-**Méthode alternative (manuelle) :**+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.
  
-  * Récupérer le ZIP +<bootnote>À ce jour, les sites de Picasoft tournent sur `pica01` et `pica03`. On peut le vérifier sur [[technique:graph_services|ces graphes]].</bootnote> 
-  * L'extraire. On va supposer qu'on l'a extrait dans le dossier ''A'' + 
-  * Ouvrir un terminal à la racine du dossier ''A'' (la commande ''ls'' devrait retourner ''co  index.html  lib-md  lib-sc  meta  res  skin''+On commence par transférer ces fichiers dans sur `pica01` ou `pica03`. Supposons qu'ils soient situés en local, dans le dossier `~/website` : 
-  * Exécuter cette commande (en l'adaptant à votre contexte): ''rsync -vru -e "ssh -/home/<nom-utilisateur>/.ssh/<clé_privée>./* root@pica02.picasoft.net:/DATA/docker/website/html''+ 
 +```bash 
 +rsync -a ~/site <login>@pica01.picasoft.net:/tmp 
 +``` 
 + 
 +## Cas de Scenari 
 + 
 +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 
 +``` 
 + 
 +<bootnote warning>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`.</bootnote> 
 + 
 +<bootnote>En théorie, un [script](https://gitlab.utc.fr/picasoft/projets/websiteexiste 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.</bootnote> 
 + 
 +<bootnote> 
 +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 crozatstet 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" 
 +``` 
 +</bootnote> 
 + 
 +## Copier les fichiers dans le conteneur 
 + 
 +<bootnote warning>Cette opération écrase les fichiers existants.</bootnote> 
 + 
 +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`. 
 + 
 +<bootnote warning>L'arborescence peut avoir son importance, en particulier dans le cas des sites générés par ScenariPar 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.</bootnote> 
 + 
 +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] 
 +``` 
 + 
 +<bootnote> 
 +Le `[complement]` est optionnel ; dans la plupart des cas, on remplace tout le site (radio, site principal...). 
 +</bootnote>
  • technique/adminserv/sites/update_from_archive.1610149012.txt.gz
  • de qduchemi