web-dev-qa-db-fra.com

Impossible d'activer python env virtuel dans le script shell jenkins

J'ai installé Jenkins sur Ubuntu 15.10. Dans une étape de construction du shell, j'essaie de créer un environnement virtuel Python et de l'activer: enter image description here

Mais le message d'erreur suivant s'affiche lorsque j'exécute le travail:

/tmp/hudson4515625893361069094.sh: 9: /tmp/hudson4515625893361069094.sh: source: not found

Plus du journal:

[Django-demo] $ /bin/sh -xe /tmp/hudson4515625893361069094.sh
+ virtualenv --no-site-packages virtual_Django
New python executable in virtual_Django/bin/python2
Also creating executable in virtual_Django/bin/python
Installing setuptools, pip...done.
Running virtualenv with interpreter /usr/bin/python2
+ cd virtual_Django/bin
+ pwd
/var/lib/jenkins/workspace/Django-demo/virtual_Django/bin
+ dir
activate      activate.fish easy_install      pip   pip2.7  python2
activate.csh  activate_this.py  easy_install-2.7  pip2  python  python2.7
+ source activate
/tmp/hudson4515625893361069094.sh: 9: /tmp/hudson4515625893361069094.sh: source: not found
Build step 'Execute Shell' marked build as failure

L'environnement virtuel a donc été créé avec succès, mais il ne peut pas être activé car la commande source est introuvable.

J'ai vérifié que je pouvais effectivement exécuter la commande source activate depuis un terminal de la machine en tant qu'utilisateur jenkins dans l'espace de travail correspondant:

jenkins@vmi63860 ~/workspace/Django-demo/virtual_Django/bin ((HEAD detached at 290c6a4)) $ source activate
(virtual_Django)jenkins@vmi63860 ~/workspace/Django-demo/virtual_Django/bin ((HEAD detached at 290c6a4)) $ exit

Alors, pourquoi cela échoue-t-il lorsque je l'exécute sous le poste de Jenkins?

5
u123

Trouvé un post similaire ici:

https://stackoverflow.com/questions/670191/getting-a-source-not-found-error-when-using-source-in-a-bash-script

La solution consiste à ajouter:

#!/bin/bash

dans la première ligne de l'action de script:

enter image description here

5
u123