diff options
Diffstat (limited to 'lib/capistrano/tasks/create_secret_token.rake')
-rw-r--r-- | lib/capistrano/tasks/create_secret_token.rake | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/capistrano/tasks/create_secret_token.rake b/lib/capistrano/tasks/create_secret_token.rake new file mode 100644 index 0000000..5b048b9 --- /dev/null +++ b/lib/capistrano/tasks/create_secret_token.rake @@ -0,0 +1,17 @@ +# :mode=ruby: +require 'securerandom' + +namespace :deploy do + desc 'Generate secret token if not already set' + task :generate_secret_token do + target_file = File.join(shared_path, 'config', 'initializers', 'secret_token.rb') + on roles(:app) do + unless test "[ -f #{target_file} ]" + result = %Q{ BetaWebApp::Application.config.secret_token = "#{SecureRandom.hex(64)}" } + upload!(StringIO.new(result), target_file) + end + end + end + + before 'deploy', 'deploy:generate_secret_token' +end |