我在CentOS 6上托管了一个jenkins安装工作。我创建了一个执行shell命令的作业
$ fab deploy
结构脚本连接到远程CentOS主机并运行许多二进制文件,例如:
/usr/local/bin/python2.7 setup.py develop
我收到以下错误:
/bin/bash: /usr/local/bin/python2.7: No such file or directory
奇怪的是,从本地计算机(Mac OS X)运行时脚本完全没有问题。
我以root用户身份连接到远程CentOS服务器:
env.user = 'root'
env.hosts = [REMOTE_HOST]
经过一番研究,我试过了
env.bash = '/bin/sh -c'
但仍然是同样的错误。我也尝试用bash作为
在run()中包装命令run("/bin/bash -l -c '/usr/local/bin/python2.7 setup.py develop'")
但是当jenkins工作运行时我仍然会遇到同样的错误。 python二进制文件就在那里! fab deploy命令可以在本地运行,而不是在jenkins上运行。
答案 0 :(得分:0)
原来这是一个VPN访问问题。我的本地机器没有通过代理盒,所以当我设置python2.7时,我实际上是在代理盒上设置它,而不是jenkins打的那个盒子。一旦解决了,其他一切都有效。