【问题标题】:Runnung Capistrano recipe with rbenv sudo使用 rbenv sudo 运行 Capistrano 配方
【发布时间】:2014-03-10 10:28:05
【问题描述】:

我正在尝试在 Capistrano 2 配方中使用 rbenv sudo 插件。 但是,当我运行它时,我被要求输入密码,所以配方没有完成。

run "cd #{current_path} && rbenv #{sudo} bundle exec foreman export upstart /etc/init -a appa -u appaser -l ~/apps/appa/current/log"

有没有办法在 Capistrano 中使用 rbenv sudo?

谢谢

【问题讨论】:

    标签: capistrano rbenv


    【解决方案1】:

    您必须确保运行命令的用户可以实际运行 sudo 而无需提供密码。

    查看这篇文章以了解如何设置:http://www.davidverhasselt.com/2008/01/27/passwordless-sudo/

    【讨论】:

    • 首先感谢您的回复。我试图设置 sudoers 但没有成功。我希望从 Capistrano 无密码运行的命令是 rbenv sudo bin/foreman export upstart 我应该在 sudoers 中输入什么?我的目前看起来像deployser ALL=NOPASSWD:/home/deployerser/mapps/current/bin/foreman export upstart /etc/init*。谢谢
    • 尝试删除 /etc/init*
    • 同样的结果。还是要密码。谢谢
    • 您应该尝试手动执行此操作,以查看您是否以上述用户身份登录,是否能够使用 sudo 运行该命令。无论如何,可能是您需要允许服务器。顺便说一句,我注意到您的用户名中有拼写错误。它与主文件夹的用户名不匹配。不是这个原因吧?
    • 错字只是在我的评论中(不知道为什么会出现)。用户是部署者,在我的 sudoers 中,我现在有 deployser ALL=NOPASSWD:/home/deployser/mapps/current/bin/foreman,当我从终端运行时 current$ rbenv sudo bin/foreman export upstart /etc/init -a mapps -u deployser -l ./log 被要求输入密码。但是,如果我运行 current$ sudo bin/foreman export upstart /etc/init -a mapps -u deployser -l ./log 我会得到 /usr/bin/env: ruby: No such file or directory 所以在这种情况下不需要密码。
    猜你喜欢
    • 2016-09-26
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2012-04-23
    相关资源
    最近更新 更多