Я установил Jenkins на человечности 15.10. На шаге сборки оболочки я пытаюсь создать виртуальную среду Python и активировать его:
Но я получаю следующую ошибку, когда я выполняю задание:
/tmp/hudson4515625893361069094.sh: 9: /tmp/hudson4515625893361069094.sh: source: not found
Больше от журнала:
[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
Таким образом, виртуальная среда была создана успешно, но она не может быть активирована, потому что исходная команда не может быть найдена.
Я действительно проверял, что могу действительно работать, источник активируют команду от терминала на машине как jenkins пользователь в соответствующей рабочей области:
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
Итак, почему это перестало работать, когда я выполняю его под заданием Jenkins?
Найденный подобным сообщением здесь:
решение состоит в том, чтобы добавить:
#!/bin/bash
в первой строке шага сценария: