Aller au contenu principal

Python

Semaphore peut exécuter directement des scripts Python. Pour cela, créez un modèle de tâche Python.

Créer un modèle Python

  1. Allez dans la section Modèles de tâches et cliquez sur le bouton Nouveau modèle.
  2. Sélectionnez Python comme type d'application.
  3. Configurez le modèle :
ChampDescription
NomUn nom descriptif pour le modèle
DépôtDépôt contenant votre script .py
Playbook / ScriptChemin relatif vers le script, par exemple scripts/deploy.py
Groupes de variablesGroupes de variables dont les valeurs sont injectées comme variables d'environnement
  1. Cliquez sur Créer.
  2. Cliquez sur Exécuter pour lancer le modèle.

Transmettre des variables aux scripts

Les variables des Groupes de variables sélectionnés sont injectées comme variables d'environnement. Accédez-y dans Python avec os.environ :

import os

target = os.environ.get("TARGET_HOST")
print(f"Deploying to {target}")

Version de Python et dépendances

Semaphore utilise le binaire python3 présent dans le PATH de l'environnement d'exécution.

  • Installation binaire/paquet : assurez-vous que le bon python3 est installé sur l'hôte.
  • Docker : utilisez une image personnalisée avec la version de Python requise.
  • Docker (paquets supplémentaires) : montez un fichier requirements.txt à l'emplacement /etc/semaphore/requirements.txt dans le conteneur du serveur ou du runner. Semaphore l'installe dans l'environnement virtuel Python embarqué à chaque démarrage du conteneur. Voir Installer des dépendances Python supplémentaires.

Remarques

  • Les scripts s'exécutent de manière non interactive.
  • Le code de sortie 0 signifie succès ; tout code de sortie non nul marque la tâche comme échouée.