用Capistrano激活Virtualenv包装器

时间:2018-09-12 10:59:51

标签: ruby python-3.x capistrano3 virtualenvwrapper

我正在尝试使用Capistrano部署Django项目。 Capistrano将代码部署到我的服务器并完成部署步骤。

但是当我尝试添加这样的自定义任务时...

 Intent intent = new Intent(this, ActivityIntentService.class);
    startService(intent);
    return PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

它引发以下错误...

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"

在部署之后,如果我手动SSH到服务器上并运行workon命令,它可以正常运行(同一用户)。只是Capistrano无法识别?

1 个答案:

答案 0 :(得分:2)

year is out of range 不是程序,而是workon中的Shell函数。为了使virtualenvwrapper能够找到它,您必须在外壳中提供bash