Ответ в том, что это невозможно сделать.
Невозможно хранить ваши секреты в средах ENV и использовать их как для вашего приложения rails, так и для задач rake, если вы используете установку Jelastics Ruby, которая использует rake_deploy
для запуска задач rake при развертывании.
Причина в том, что rake_deploy
запускается как root
.
Я решил добавить это грабли-задачи:
task :env do
puts ENV.to_h.to_yaml
sh %[whoami]
end
, который сначала печатает ENV, а затем печатает, от какого пользователя запускается команда.
Или, возможно, есть способ, если я смогу сначала запустить задачу rake, которая редактирует .bash_profile
из root
, не помещая ее в систему контроля версий. Но он не чувствует себя ни безопасным, ни профессиональным.
Также некуда девать ваши секреты, которые хранятся вне контроля версий и сохраняются между развертываниями.
Мой провайдер PaaS связывался с Jelastic, чтобы сообщить им об этом, и они не заинтересованы в его изменении.