lib/engineyard/templates/ey.yml.erb
# Engine Yard Cloud Deploy Options
#
####################################################################
# IMPORTANT
# Commit this file into your git repository.
# These options are loaded on the server during deploy.
####################################################################
#
# Valid locations:
# * REPOSITORY_ROOT/config/ey.yml.
# * REPOSITORY_ROOT/ey.yml
#
# Further information available here:
# https://support.cloud.engineyard.com/entries/20996661-customize-your-deployment-on-engine-yard-cloud
#
# For advanced usage, see the source that loads this configuration:
# https://github.com/engineyard/engineyard-serverside/blob/master/lib/engineyard-serverside/configuration.rb
#
defaults:
# Run migrations during deploy by default.
#
# When set to true, runs the migration_command (below) during deploy.
#
# This setting can be overridden for individual deployments using
# the command line options --migrate or --no-migrate.
#
<%= option 'migrate' %>
# Default migration command to run when migrations are enabled.
#
<% if existing_config['migration_command'] || config['migrate'] %>
<%= option 'migration_command' %>
<% else %>
<%= commented_option 'migration_command' %>
<% end %>
# Enables rails assets precompilation always and halts when the task fails.
#
# By default, assets are detected using app/assets and config/application.rb.
#
# If you use rails assets and you want Engine Yard to compile your assets
# during deploy, set this to true. If you want to compile assets locally
# before deploy, set this to false. Make sure you add `public/assets` to
# `.gitignore` if you want Engine Yard to precompile your assets.
#
# For more control over assets, set precompile_assets: false and
# run your precompile task in the deploy/before_compile_assets.rb deploy hook.
#
<%= option 'precompile_assets' %>
# Override the assets:precompile rake task. This option will be used instead
# of <%= defaults['precompile_assets_task'] %> in the `rake <%= defaults['precompile_assets_task'] %>` command.
#
<%= option_unless_default 'precompile_assets_task' %>
# Asset strategies affect the way assets are stored on the server.
#
# * private
# Store assets directly in public/assets for each deployment.
# Previous assets are symlinked for continuity.
# When assets are reused, they are copied using rsync.
#
# * shifting
# Assets are kept in a shared directory on each server.
# When new assets are compiled, old assets are shifted to a shared
# last_assets directory. This has always been the default behavior.
#
# * shared
# Assets are kept in a shared directory on each server.
# When new assets are compiled, the same directory is used.
# Assets will accumulate in this mode if a cleaning script is not run.
# Use this strategy if you want to write your own asset cleaning script.
#
# * cleaning
# Like shared, but a cleaning script is run before each new compile.
# The script attempts to remove all files not mentioned by the old
# manifest.yml, before it is replaced by the new manifest (leaving 2
# deployments worth of assets in the directory)
#
# "private" is recommended because it is the least error prone.
# If you prefer faster compilation, "shared" can be quicker, but will require
# custom scripting and will cause problems when rollbacks are used.
# "shifting" is the default behavior.
#
<% if config['asset_strategy'] != defaults['asset_strategy'] %>
<%= option 'asset_strategy' %>
<% else %>
#asset_strategy: private
<% end %>
# This list of repository relative paths is checked for changes during
# each deployment (when change detection is not disabled). If `git diff`
# detects changes since the last deployment, fresh assets will be compiled.
#
# This option overrides the default list, so include the following
# defaults if you need them.
#
<% if config['asset_dependencies'] %>
<%= option 'asset_dependencies' %>
<% else %><%# better default format than the normal yaml dump %>
#asset_dependencies:
#- app/assets # default
#- lib/assets # default
#- vendor/assets # default
#- Gemfile.lock # default
#- config/application.rb # default
#- config/routes.rb # default
#- config/requirejs.yml # example of a custom asset dependency
<% end %>
# When true, precompiles assets even if no changes would be detected by
# running git diff with the asset_dependencies above.
#
# Default is false (always check git diff before asset compilation)
#
<%= option_unless_default 'precompile_unchanged_assets' %>
# Choose which servers should compile assets.
#
# Default behavior is to exclude util instances.
# Specify :all to compile on all servers including util servers.
#
<% if config['asset_roles'] %>
<%= option 'asset_roles' %>
<% else %>
#asset_roles: :all
<% end %>
# Bundle without different bundler groups:
# Ex: bundle install --without '[bundle_without]'
#
# Default is "<%= defaults['bundle_without'] %>".
# Leave blank to remove --without from the bundle install command.
#
<%= option_unless_default 'bundle_without' %>
# Add extra options to the bundle install command line.
# Does not override bundle_without, if specified.
#
# If the application's gems are vendored in the
# repository, setting --local can speed up bundle.
#
<%= option_unless_default 'bundle_options' %>
# Enable maintenance page during migrate action (default)
# Setting this to false, disables maintenance page during migrations.
#
# CAUTION! No-downtime migrations requires careful migration
# planning. Migrations must be non-destructive. The *previous*
# deployment might serve pages during a partially migrated state.
# For example, if you rename a column, all traffic served during
# that migration will be broken until the new code is deployed.
#
<%= option_unless_default 'maintenance_on_migrate' %>
# Enable maintanence page during every deploy.
# Unicorn and Passenger support no-downtime deploys, so the default
# for these servers is false. Mongrel and some other servers default
# to true to avoid downtime during server restarting.
#
<%= option_unless_default 'maintenance_on_restart' %>
# If true, always run deployments in verbose mode.
#
<%= option_unless_default 'verbose' %>
# Hide the warning shown when the Gemfile does not contain a recognized
# database adapter (mongodb for example)
#
# This warning is here to help new customers that accidentally have no adapter.
# You may safely set this to true if you aren't using a common database.
#
<%= option_unless_default 'ignore_database_adapter_warning' %>
# You can add custom keys that will be available in your deploy hooks.
# Custom keys will be available using config.key or config[:key]
#
#your_own_custom_key: custom info
<%= extra_root_options %>
####################################################################
# Environment specific options.
#
# The options you specify here will only apply to a single environment
# that exactly matches the environment name key.
#
# Environment options will override the default options above.
#
environments:
# These options will only apply to the EXAMPLE_ENVIRONMENT environment.
#EXAMPLE_ENVIRONMENT:
#precompile_unchanged_assets: true
<%= environment_options %>