强制capistrano立即要求密码

时间:2012-11-13 20:28:45

标签: capistrano

我有一个cap脚本,在运行任何远程代码之前执行一些冗长的编译步骤。我希望能够在所有这一切发生时离开,但是一旦编译完成,它将询问我远程服务器密码。有没有办法可以强制脚本立即要求输入密码,以便我可以让其他人无人看管?

我知道我可以设置无密码ssh以完全避免密码提示,但我正在寻找一种方法,允许无法设置无密码ssh的用户进行无人值守部署。

我觉得我在某个地方已经看到了一个简单的解决方案,但我找不到正确的搜索条件。

1 个答案:

答案 0 :(得分:1)

如果您通过sudo运行大多数命令(也就是说,您有set :use_sudo, true),您可以通过挂钩before "deploy", "ask_for_password"来执行此操作,并立即创建任务“ask_for_password”使用它来执行sudo的任何命令,例如sudo date。 Sudo将仅在第一次提示,然后可能有足够长的超时时间来完成部署。

如果那不起作用......

......我们谈论的是卡皮斯特拉诺 - 对于卡皮斯特拉诺来说并不是那么简单。这是一个非常强大的工具,我不知道有谁发现它“简单”。

不是设置每个人都能够部署,而是设置一个主机,让人们像“deployer”这样的用户进行搜索,然后执行部署。

但是部署是一项非常重要的任务 - 不是每个人都应该能够做到这一点,尤其是生产。我认为您最好安装有权在部署在允许部署的服务器上的用户的无密码公钥(例如,更多的是测试而不是分段或生产)。