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 01:01] – [Copier les fichiers dans le conteneur] 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
  
-La mise à jour de tous les sites Picasoft termine par la même étape : à partir d'une archive ZIP générée par Scenari, il faut la transférer sur le serveur web.+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.
  
-Un [script cassé](https://gitlab.utc.fr/picasoft/projets/website) permettait de le faire automatiquement ; il peut être amélioré pour accélérer le processus.+<bootnote>À ce jour, les sites de Picasoft tournent sur `pica01` et `pica03`. On peut le vérifier sur [[technique:graph_services|ces graphes]].</bootnote>
  
-<bootnote>À ce jour, tous les sites de Picasoft tournent sur `pica01`. On peut le vérifier sur [[technique:adminserv:graph_services|ces graphes]].</bootnote>+On commence par transférer ces fichiers dans sur `pica01` ou `pica03`. Supposons qu'ils soient situés en local, dans le dossier `~/website` :
  
-## Transférer le site sur la machine cible+```bash 
 +rsync -a ~/site <login>@pica01.picasoft.net:/tmp 
 +```
  
-Depuis votre poste :+## 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.
  
 ``` ```
-rysnc -a <site>.zip <login>@pica01.picasoft.net:/tmp+cd /tmp 
 +unzip <site>.zip -d site
 ``` ```
  
-## Extraire les fichiers+<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>
  
-Sur `pica01:+<bootnote>En théorie, un [script](https://gitlab.utc.fr/picasoft/projets/website) 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.</bootnote> 
 + 
 +<bootnote> 
 +Dans les items de publication Scenari `.websiteun 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 
 ``` ```
-cd /tmp +# Pour publier :  
-mkdir site +# - générer 
-mv <site>.zip site/ +# - télécharger le ZIP du site généré dans /tmp 
-cd site +# - lancer (avec son user pica01 pour le rsync et ssh) : 
-unzip <site>.zip+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>
-<bootnote>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.</bootnote>+
  
 ## Copier les fichiers dans le conteneur ## Copier les fichiers dans le conteneur
Ligne 34: Ligne 45:
  
 Trouver le nom du conteneur concerné. Un `docker ps` peut aider. 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 à `/var/www/html` dans les conteneurs. +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 Par exemple, un module de `doc.picasoft.net` sera à remplacer dans `/var/www/html/modules/<nom_module>`, et non à la racine!</bootnote>+<bootnote warning>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.</bootnote>
  
 Une fois que vous avez identifié le chemin où remplacer les fichiers **à l'intérieur du conteneur**, il suffit de les copier : Une fois que vous avez identifié le chemin où remplacer les fichiers **à l'intérieur du conteneur**, il suffit de les copier :
Ligne 42: Ligne 55:
 ``` ```
 cd /tmp/site cd /tmp/site
-docker cp <nom_conteneur>:/var/www/html/[complement]+docker cp <nom_conteneur>:/usr/share/nginx/html/[complement]
 ``` ```
  
 <bootnote> <bootnote>
-Le `[complement]` est optionnel ; dans la plupart des cas, on remplace tout le site (`radio`, site principal...).+Le `[complement]` est optionnel ; dans la plupart des cas, on remplace tout le site (radio, site principal...).
 </bootnote> </bootnote>
  • technique/adminserv/sites/update_from_archive.1610150480.txt.gz
  • de qduchemi