-
Notifications
You must be signed in to change notification settings - Fork 69
Shared Configuration Files
Often, certain files (config/database.yml
, etc) are excluded from an
application’s SCM, but required to be present for deploy. We’ve abstracted
this pattern with some Capistrano automation that goes great with Moonshine.
For example, if you keep config/database.yml
out of your SCM, add the
following line to your config/moonshine.yml
:
:shared_config:
- config/database.yml
This file will then be automatically uploaded when you run cap deploy:setup
and symlinked to current/config/database.yml
on each deploy.
There are some extra cap tasks for working with these files manually, if needed:
cap shared_config:upload
Uploads all files in shared_config
to #{configuration[:deploy_to]}/shared/PATH
(configuration[:deploy_to]
is /srv/APPNAME
by default) for all servers in the
current deploy stage.
cap shared_config:download
Downloads all files in shared_config
from all servers in the current deploy stage.
cap shared_config:symlink
Symlinks all files in #{configuration[:deploy_to]}/shared/PATH
to #{configuration[:deploy_to]}/current/PATH
on all remote hosts in the current deploy stage.
The old local_config
functionality is still supported, but shared_config
is recommended.