Как я могу настроить команду Capistranos SSH?
Для развертывания в тюрьмах FreeBSD мне нужно, чтобы мои команды выглядели так:
ssh user@example.org "jexec 'web_jail' $THE_COMMAND_HERE"
ssh user@example.org "jexec 'db_jail' $ANOTHER_COMMAND_HERE"
...
Обратите внимание, что, хотя это технически возможно, я хочу избежать прямой активации SSH в тюрьмах!
Так как я могу сделать так, чтобы Capistrano работал так?
(Обратите внимание, что я в основном спрашиваю, что касается внесения изменений в стандартные задачи по ограничению.)
1 ответ
Есть бензопила?
Одна часть, которая нуждается в разъяснении, - кто определяет, является ли это web_jail или db_jail? Это роль с _jail добавлена к нему?
Я бы взломал Capistrano::Command.replace_placeholder. Вы можете использовать alias_method_chain для подключения. Оригинал находится в lib/capistrano/command.rb.
Вы могли бы сделать некоторую сложную работу с помощью переменной "shell", но это может показаться довольно трудным делом.
Поскольку за вами наблюдают два человека, это может быть хорошим дополнением для представления людям из Capistrano.