我正在尝试使用Capistrano部署Django项目。 Capistrano将代码部署到我的服务器并完成部署步骤。
但是当我尝试添加这样的自定义任务时......
task :collect_static do
on roles(:app) do |host|
execute "cd #{release_path}/myproject"
execute "workon myproject"
execute "./manage.py collectstatic"
end
end
after "deploy:updated", "collect_static"
它抛出以下错误......
02 bash: workon: command not found
部署之后,如果我手动SSH到服务器并运行workon命令它工作正常(相同的用户)。 Just Capistrano不承认吗?
workon
不是一个程序,而是来自virtualenvwrapper
的shell函数。要让bash
找到它,你必须在shell中找到virtualenvwrapper.sh
。