Comment dire à Jenkins d'utiliser un python virtualenv particulier
J'ai déjà créé un virtualenv pour l'exécution de mon script python.
Maintenant, quand je intégrer ce python sac avec Jenkins, j'ai trouvé au moment de l'exécution Jenkins est le mauvais environnement python.
Comment je peux assurer Jenkins est d'utiliser le bon virtualenv?
Comme un exemple, pour mon cas je souhaite utiliser virtualenv test. Comment je peux utiliser cette pré-préparés virtualenv pour exécuter mon script python.
source test/bin/activate
source d'informationauteur Exploring
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous devez éviter d'utiliser ShiningPanda car est cassé. Il échouer si vous essayez d'exécuter des tâches en parallèle et n'est pas compatible avec Jenkins2 pipelines.
Quand construit sont exécutées en parallèle (en même temps) Jenkins va ajouter
@2
,@3
... pour le répertoire d'espace de travail de sorte que deux exécutions de ne pas partager le même dossier. Jenkins ne clone de l'original worksspace donc, ne soyez pas surpris si il contiendra un virtualenv vous avez créé dans une version antérieure.Vous avez besoin pour prendre soin de la virtualenv création vous-même, mais vous devez être très prudent sur la façon dont vous l'utilisez:
Donc votre seule option sûre est de créer un unique environnement virtuel dossier pour chaque construction à l'intérieur de l'espace de travail. Vous pouvez facilement le faire en utilisant la
$JOB_NUMBER
variable d'environnement.Ce sera différent, même si vous avez des tâches s'exécutant en parallèle. Aussi ce ne sera pas le répéter.
Inconvénients:
--site-packages
vous pouvez accélérer la création considérablement (si les lourds paquets sont déjà installés sur le système)Shell extrait de
La première ligne est la mise en œuvre de bash chaîne de mode, plus de détails à http://redsymbol.net/articles/unofficial-bash-strict-mode/