为了部署到FreeBSD jails中,我需要看到这样的命令:
ssh user@example.org "jexec 'web_jail' $THE_COMMAND_HERE"
ssh user@example.org "jexec 'db_jail' $ANOTHER_COMMAND_HERE"
...
请注意,虽然技术上可行,但我希望避免直接在jails中激活SSH!
那么我怎么能让Capistrano像这样运作呢?
(请注意,我主要是要求修改默认上限任务。)
答案 0 :(得分:0)
有电锯?
需要澄清的一部分是谁确定它是web_jail还是db_jail?这是附加了_jail的角色吗?
我要攻击的地方是Capistrano :: Command.replace_placeholders。您可以使用alias_method_chain挂钩。原文位于lib / capistrano / command.rb。
你可以用“shell”变量做一些花哨的步法,但这看起来很难。
由于你有两个人在观看,这可能是提交给Capistrano人员的一个很好的补充。