web-dev-qa-db-ja.com

jenkinsシェルスクリプトでpython仮想環境をアクティブにできません

JenkinsをUbuntu 15.10にインストールしました。シェルビルドステップで、Python仮想環境を作成してアクティブにしようとしています。 enter image description here

しかし、ジョブを実行すると次のエラーが表示されます。

/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

したがって、仮想環境は正常に作成されましたが、sourceコマンドが見つからないため、アクティブ化できません。

対応するワークスペースのjenkinsユーザーとして、マシンの端末からsource activateコマンドを実際に実行できることを確認しました。

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ジョブで実行すると失敗するのはなぜですか?

5
u123

ここで同様の投稿を見つけました:

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

解決策は以下を追加することです:

#!/bin/bash

スクリプトステップの最初の行で:

enter image description here

5
u123