3

为了部署到 FreeBSD 监狱,我需要我的命令如下所示:

ssh user@example.org "jexec 'web_jail' $THE_COMMAND_HERE"
ssh user@example.org "jexec 'db_jail' $ANOTHER_COMMAND_HERE"
...

请注意,虽然技术上可行,但我想避免直接在监狱中激活 SSH!

那么我怎样才能让 Capistrano 像这样运行呢?

(请注意,我主要是在参考修改默认上限任务时询问。)

4

1 回答 1

0

有电锯吗?

需要澄清的一部分是由谁来确定它是 web_jail 还是 db_jail?那是附加了 _jail 的角色吗?

我要入侵的地方是 Capistrano::Command.replace_placeholders。您可以使用 alias_method_chain 来挂钩。原始文件位于 lib/capistrano/command.rb 中。

你也许可以用“shell”变量做一些花哨的步法,但这似乎很难做到。

既然你有两个人在看,这可能是向 Capistrano 人提交的一个很好的补充。

于 2012-09-01T18:07:39.387 回答