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
- Allez dans la section Modèles de tâches et cliquez sur le bouton Nouveau modèle.
- Sélectionnez Python comme type d'application.
- Configurez le modèle :
| Champ | Description |
|---|---|
| Nom | Un nom descriptif pour le modèle |
| Dépôt | Dépôt contenant votre script .py |
| Playbook / Script | Chemin relatif vers le script, par exemple scripts/deploy.py |
| Groupes de variables | Groupes de variables dont les valeurs sont injectées comme variables d'environnement |
- Cliquez sur Créer.
- 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
python3est 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.txtdans 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
0signifie succès ; tout code de sortie non nul marque la tâche comme échouée.