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:
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?
Trouvé un post similaire ici:
La solution consiste à ajouter:
#!/bin/bash
dans la première ligne de l'action de script: