Capistrano::Chewy gem adds automatic conditionally reset of only modified Chewy indexes and the removal of deleted index files to your deploy flow so you do not have to do it manually.
Moreover, it adds the possibility of manual index management with the base Chewy tasks on the remote server.
- Ruby >= 1.9.3
- Capistrano >= 3.0
- Chewy >= 0.4
Add this line to your application's Gemfile:
gem 'capistrano-chewy', require: false
gem 'capistrano-chewy', require: false, group: :development
And then run bundler:
Or install it yourself as:
$ gem install capistrano-chewy
If you want to use the latest version from the
master, then add the following line to your Gemfile:
gem 'capistrano-chewy', git: 'https://github.com/nbulaj/capistrano-chewy.git'
Require it in your
# Capfile ... require 'capistrano/chewy' ...
then you can use
cap -T to list
cap chewy:rebuild # Reset modified and delete removed Chewy indexes cap chewy:reset # Destroy, recreate and import data to all the indexes cap chewy:reset[indexes] # Destroy, recreate and import data to the specified indexes cap chewy:update # Updates data to all the indexes cap chewy:update[indexes] # Updates data to the specified indexes
deploy:chewy:rebuild task after
If you want to change it, then you need to disable default gem hooks by setting
false in your deployment config and manually define the order of the tasks.
You can setup the following options:
# deploy.rb set :chewy_conditionally_reset, false # Reset only modified Chewy indexes, true by default set :chewy_path, 'app/my_indexes' # Path to Chewy indexes, 'app/chewy' by default set :chewy_env, :chewy_production # Environment variable for Chewy, equal to RAILS_ENV by default set :chewy_role, :web # Chewy role, :app by default set :chewy_default_hooks, false # Add default gem hooks to project deploy flow, true by default set :chewy_delete_removed_indexes, false # Delete indexes which files have been deleted, true by default
You are very welcome to help improve
Capistrano:Chewy if you have suggestions for features that other people can use or some code improvements.
- Fork the project( http://github.com/nbulaj/capistrano-chewy/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 new Pull Request