Mise en production

Postez ici vos scripts Bash, Python, etc.
Répondre
Avatar du membre
tioker
modérateur
Messages : 1000
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Mise en production

Message par tioker »

Bonjour,

Ceci n'est pas un question mais plutôt un partage.
À mes heures perdues je développe; du bash parfois (peu), du python (plus) et du C++ (Arduino et Attiny).
J'ai un peu la déformation du mon métier passé où, dans l'univers de la production, on utilisait plusieurs environnement pour sécuriser les fameuses "mises en production":
- un environnement de développement
- un environnement de qualification
- un environnement de production
C'est un des sujets de la norme ITIL.
D'ailleurs Github traite aussi de cette problématique, mais plus dans le développement collaboratif (si je ne me trompe pas).

Pour ma petite personne je ne veux pas déployer d'usine à gaz même si Github a son intérêt (je ne l'utilise que pour diffusion dans le libre).

Ainsi, récemment, pour déployer des programmes sur des Raspberry, j'ai creusé la commande rsync. Et bien m'en a pris car j'y ai trouvé une solution simple pour ma petite personne.
Soit un programme python nommé spg.py(routine) et spgui.py(user interface). Il a fini sa phase de développement dans le répertoire Documents/Programmes/Dev/SPG. Je veux le diffuser sur mes raspberry et en local mais je veux conserver l'ancienne version sur la cible au cas où...
Et bien j'utilise la commande:

Code : Tout sélectionner

rsync -rvaz --backup --suffix=`date +'.%F_%H-%M'` ~/Documents/Programmes/Dev/SPG/spg*.py pi@pi4://home/pi/bin/
Explications:
-rvaz pour récursif, verbose, droits et compression
--backup pour backuper ancienne version et --suffix pour l'extension de l'ancienne version

Ainsi, en résultat j'aurai sur mon raspberry

Code : Tout sélectionner

pi@pi4:~/bin $ ls -lah
total 40K
drwxr-xr-x  2 pi pi 4,0K  9 juil. 14:54 .
drwx------ 12 pi pi 4,0K  9 juil. 14:40 ..
-rw-rw-r--  1 pi pi 8,3K  9 juil. 14:53 spg.py
-rw-rw-r--  1 pi pi 8,3K  9 juil. 14:47 spg.py.2024-07-09_14-54
-rw-rw-r--  1 pi pi 6,1K  9 juil. 13:53 spgui.py
pi@pi4:~/bin $ 
On n'est pas obligé de beaucoup développer pour avoir la nécessité d'un retour en arrière. Par cette méthode je me suis évité d'écrire une routine de mise en production complexe.

Je ne sais pas ce que vous en pensez, j'attends vos commentaires. Merci d'avance
Distrib : Linux Mint 22 Desktop : X-Cinnamon
Kernel : 6.8.0-39-generic CPU : AMD Ryzen 5 5600H with Radeon Graphics RAM : 14Gi
CG : NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1)
Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c6)

Avatar du membre
cyrille
Administrateur du site
Messages : 13612
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Mise en production

Message par cyrille »

Merci pour le partage Tioker ;)
Perso, je garde 2 branches distinctes du git : la dev et la master ;)
Ensuite, je n'ai jamais creusé beaucoup plus loin ;)
Toujours plaisant de lire tes propositions ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Répondre