【问题标题】:Unknown user 'app' with capistrano带有 capistrano 的未知用户“应用程序”
【发布时间】:2010-05-04 15:17:37
【问题描述】:

这是我第一次尝试设置 capistrano 来部署 rails 应用程序。我正在从我的本地机器部署到我的远程服务器,该服务器在同一台机器上拥有 repo、web、app 和 mysql 服务器。我正在关注此演练:http://www.capify.org/index.php/From_The_Beginning

我得到命令

cap deploy:start

然后我得到这个错误:

*** [err :: example.com] sudo: unknown user: app
   command finished
failed: "sh -c 'cd /var/www/example/current && sudo -p '\\''sudo password: '\\'' -u app nohup script/spin'" on example.com

我应该添加一个“应用”用户,还是有办法更改命令运行的用户身份?

这是我的 deploy.rb:

set :application, "example"
set :repository,  "git@example.com:example.git"
set :user, "trobrock"
set :branch, 'master'

set :deploy_to, "/var/www/example"

set :scm, :git
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`

role :web, "example.com"                           # Your HTTP server, Apache/etc
role :app, "example.com"                           # This may be the same as your `Web` server
role :db,  "example.com", :primary => true         # This is where Rails migrations will run

很明显,它说 example.com 是我的服务器主机名,而它只是说 example 的每个地方都是应用程序名称。

【问题讨论】:

    标签: ruby-on-rails ruby deployment capistrano


    【解决方案1】:

    失败的命令正在尝试 sudo。也许您应该将 use_sudo 设置为 false

    set :use_sudo, false 
    

    当它没有设置为 false 时,我会遇到类似的异常

    祝你好运

    【讨论】:

      【解决方案2】:

      我认为您会发现您的应用程序用于此命令的“运行程序”默认为“应用程序”。当您设置了 :user 时,我想您需要将 :runner 或 :admin runner 设置为“trobrock”。有关详细信息,请参阅blog post on runners。语法类似于:

      set :runner, 'trobrock'
      set :admin_runner, 'trobrock'
      

      我想你会发现 :runner 就是你所追求的。

      也就是说,deploy:start 看起来像 deprecated 并且不应该使用。我现在在所有食谱中肯定已经把它压倒了很久。由于您已经完成了部署的设置,我建议您直接进入“上限部署”并看看会发生什么。

      如果您还有其他问题,请在发布新问题后随时联系我 :)

      【讨论】:

        猜你喜欢
        • 2014-10-02
        • 2014-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多