From e49b8c0b0e58e8cd50d1675473ff4bc737b068ed Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sun, 7 Dec 2014 23:01:33 +0100 Subject: Add refinery setup tasks for capistrano. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copied from Åsatru.no setup. --- lib/capistrano/tasks/create_secret_token.rake | 17 +++++++++++++++++ lib/capistrano/tasks/refinery_setup.rake | 22 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 lib/capistrano/tasks/create_secret_token.rake create mode 100644 lib/capistrano/tasks/refinery_setup.rake (limited to 'lib') 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 diff --git a/lib/capistrano/tasks/refinery_setup.rake b/lib/capistrano/tasks/refinery_setup.rake new file mode 100644 index 0000000..d5d21bc --- /dev/null +++ b/lib/capistrano/tasks/refinery_setup.rake @@ -0,0 +1,22 @@ +# :mode=ruby: +require 'securerandom' +require 'active_support/inflector' + +namespace :deploy do + namespace :refinery do + desc 'Initialize refinery config for new deployments.' + task :setup do + output_file = File.join(shared_path, "config", "initializers", "refinery", "core.rb") + on roles(:app) do + unless test "[ -f #{output_file} ]" + template = IO.read(File.join("config", "initializers", "refinery", "core.rb.erb")) + core = ERB.new(template) + site_name = fetch(:site_name, "Beta") + upload!(StringIO.new(core.result(binding)), output_file) + end + end + end + end + + before 'deploy', 'deploy:refinery:setup' +end -- cgit v1.2.3