Merge pull request #96 from albertsun/asset-deploys

Asset deploys

Andrew Cantino 11 anni fa
parent
commit
f8744cb89a
5 ha cambiato i file con 93 aggiunte e 8 eliminazioni
  1. 3 0
      .env.example
  2. 5 7
      Gemfile
  3. 1 0
      config/application.rb
  4. 3 1
      config/environments/production.rb
  5. 81 0
      config/environments/staging.rb

+ 3 - 0
.env.example

@@ -7,6 +7,9 @@ APP_SECRET_TOKEN=REPLACE_ME_NOW!
7 7
 # for development, but it needs to be changed when you deploy to a production environment.
8 8
 DOMAIN=localhost:3000
9 9
 
10
+# Optionally set an asset host
11
+# ASSET_HOST=http://assets.example.com
12
+
10 13
 ############################
11 14
 #      Database Setup      #
12 15
 ############################

+ 5 - 7
Gemfile

@@ -19,13 +19,11 @@ gem "daemons"
19 19
 gem 'foreman'
20 20
 gem 'dotenv-rails', :groups => [:development, :test]
21 21
 
22
-group :assets do
23
-  gem 'sass-rails',   '~> 3.2.3'
24
-  gem 'coffee-rails', '~> 3.2.1'
25
-  gem 'uglifier', '>= 1.0.3'
26
-  gem 'select2-rails'
27
-  gem 'jquery-rails'
28
-end
22
+gem 'sass-rails',   '~> 3.2.3'
23
+gem 'coffee-rails', '~> 3.2.1'
24
+gem 'uglifier', '>= 1.0.3'
25
+gem 'select2-rails'
26
+gem 'jquery-rails'
29 27
 
30 28
 gem 'geokit-rails3'
31 29
 gem 'kramdown'

+ 1 - 0
config/application.rb

@@ -55,6 +55,7 @@ module Huginn
55 55
 
56 56
     # Enable the asset pipeline
57 57
     config.assets.enabled = true
58
+    config.assets.initialize_on_precompile = false
58 59
 
59 60
     # Version of your assets, change this if you want to expire all your assets
60 61
     config.assets.version = '1.0'

+ 3 - 1
config/environments/production.rb

@@ -43,7 +43,9 @@ Huginn::Application.configure do
43 43
   # config.cache_store = :mem_cache_store
44 44
 
45 45
   # Enable serving of images, stylesheets, and JavaScripts from an asset server
46
-  # config.action_controller.asset_host = "http://assets.example.com"
46
+  if ENV['ASSET_HOST'].present?
47
+    config.action_controller.asset_host = ENV['ASSET_HOST']
48
+  end
47 49
 
48 50
   # Precompile additional assets (application.js.coffee.erb, application.css, and all non-JS/CSS are already added)
49 51
   config.assets.precompile += %w( graphing.js )

+ 81 - 0
config/environments/staging.rb

@@ -0,0 +1,81 @@
1
+Huginn::Application.configure do
2
+  # Settings specified here will take precedence over those in config/application.rb
3
+
4
+  # Code is not reloaded between requests
5
+  config.cache_classes = true
6
+
7
+  # Full error reports are disabled and caching is turned on
8
+  config.consider_all_requests_local       = false
9
+  config.action_controller.perform_caching = true
10
+
11
+  # Disable Rails's static asset server (Apache or nginx will already do this)
12
+  config.serve_static_assets = false
13
+
14
+  # Compress JavaScripts and CSS
15
+  config.assets.compress = true
16
+
17
+  # Don't fallback to assets pipeline if a precompiled asset is missed
18
+  config.assets.compile = false
19
+
20
+  # Generate digests for assets URLs
21
+  config.assets.digest = true
22
+
23
+  # Defaults to nil and saved in location specified by config.assets.prefix
24
+  # config.assets.manifest = YOUR_PATH
25
+
26
+  # Specifies the header that your server uses for sending files
27
+  # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
28
+  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
29
+
30
+  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
31
+  config.force_ssl = true
32
+
33
+  # See everything in the log (default is :info)
34
+  # config.log_level = :debug
35
+
36
+  # Prepend all log lines with the following tags
37
+  config.log_tags = [ :uuid ] # :subdomain
38
+
39
+  # Use a different logger for distributed setups
40
+  # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
41
+
42
+  # Use a different cache store in production
43
+  # config.cache_store = :mem_cache_store
44
+
45
+  # Enable serving of images, stylesheets, and JavaScripts from an asset server
46
+  if ENV['ASSET_HOST'].present?
47
+    config.action_controller.asset_host = ENV['ASSET_HOST']
48
+  end
49
+
50
+  # Precompile additional assets (application.js.coffee.erb, application.css, and all non-JS/CSS are already added)
51
+  config.assets.precompile += %w( graphing.js )
52
+
53
+  # Enable threaded mode
54
+  # config.threadsafe!
55
+
56
+  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
57
+  # the I18n.default_locale when a translation can not be found)
58
+  config.i18n.fallbacks = true
59
+
60
+  # Send deprecation notices to registered listeners
61
+  config.active_support.deprecation = :notify
62
+
63
+  # Log the query plan for queries taking more than this (works
64
+  # with SQLite, MySQL, and PostgreSQL)
65
+  # config.active_record.auto_explain_threshold_in_seconds = 0.5
66
+
67
+  config.action_mailer.default_url_options = { :host => ENV['DOMAIN'] }
68
+  config.action_mailer.asset_host = ENV['DOMAIN']
69
+  config.action_mailer.perform_deliveries = true
70
+  config.action_mailer.raise_delivery_errors = true
71
+  config.action_mailer.delivery_method = :smtp
72
+  config.action_mailer.smtp_settings = {
73
+      address: ENV['SMTP_SERVER'] || 'smtp.gmail.com',
74
+      port: ENV['SMTP_PORT'] || 587,
75
+      domain: ENV['SMTP_DOMAIN'],
76
+      authentication: ENV['SMTP_AUTHENTICATION'] || 'plain',
77
+      enable_starttls_auto: ENV['SMTP_ENABLE_STARTTLS_AUTO'] == 'true' ? true : false,
78
+      user_name: ENV['SMTP_USER_NAME'],
79
+      password: ENV['SMTP_PASSWORD']
80
+  }
81
+end