Não é possível ativar o env virtual python no shell script do jenkins

4

Eu instalei o Jenkins no ubuntu 15.10. Em uma etapa de criação de shell, estou tentando criar um ambiente virtual Python e ativá-lo:

Mas recebo o seguinte erro ao executar o trabalho:

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

Mais do log:

[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

Assim, o ambiente virtual foi criado com sucesso, mas não pode ser ativado porque o comando source não pode ser encontrado.

Eu verifiquei que realmente posso executar o comando source activate de um terminal na máquina como o usuário jenkins na área de trabalho correspondente:

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

Então por que ele falha quando eu o executo sob o trabalho de Jenkins?

    
por u123 12.04.2016 / 22:21

1 resposta

4

Encontrou um post semelhante aqui:

link

A solução é adicionar:

#!/bin/bash

na primeira linha da etapa do script:

    
por u123 13.04.2016 / 12:11