Capistrano::Overrides
Provides tasks to copy override configuration files for different stages.
Installation
Add this line to your application's Gemfile:
gem 'capistrano-overrides'
And then execute:
$ bundle
Or install it yourself as:
$ gem install capistrano-overrides
Usage
1. Copying and decrypting secure tokens (encrypted files)
1.1 Usage
bundle exec cap production deploy:update_secure_overrides
- The current state of the gem assumes that your encrypted files are:
- In
config/overrides/production
- They have an
asc
extension; e.g., key.txt.asc
- The task first checks whether the
asc
file has changed since the last deploy (using checksums) and only decrypt the asc
file if the file has changed. - It will ask for password during deploy, decrypt the file in memory, and place it in
{shared_path}/config/key.txt
1.1 Setup of encrypted file
Encrypt the file key.txt
using a symmetric cipher (-c)
and place it in key.txt.asc (-o)
gpg -a -c -o key.txt.asc key.txt
2. Copying override files for different stages.
####2.1 Usage
bundle exec cap production deploy:copy_stage_configs
- Setup your folder structure as follows:
/config/overrides/
/staging/*
/production/*
/alpha/*
- Upon deploy of the
stage
, all the files in the stage
folder will be copied in /config
and overwrite any files with the same name in that folder.
Contributing
- Fork it ( https://github.com/[my-github-username]/capistrano-overrides/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request