This is a set of Capistrano 3.x tasks for some trivial processes.
Add this line to your application's Gemfile:
gem 'capistrano-lazy'
And then execute:
$ bundle
Or install it yourself as:
$ gem install capistrano-lazy
This task is used together with the remote file task.
It will bootstrap remote YAML configuration files based on .yml.example
templates.
It will parse the file asking for values, save and upload the file remote.
require 'capistrano/lazy/yaml_file_tasks'
Loads the default task to bootstrap the database.yml
.
To add more files to be managed, add those to the linked_files
list and create a task based on this:
remote_file 'config/database.yml' => './config/database.yml', :roles => :db
file './config/database.yml' do |f|
yaml_file(f.name)
end
To recreate the file. Just remove the local and remote files you want to be recreated.
I added a couple of tasks to manage rbenv and ruby-build remote setup, update and rubies installation.
require 'capistrano/rbenv/lazy'
There are 3 new tasks and 3 new config directives:
-
rbenv:setup
- installs rbenv remotely -
rbenv:update
- updates the rbenv installation -
rbenv:install[RUBY_VERSION]
- installs a ruby, in case you want to upgrade the ruby version -
ruby_build_path
- this will use ruby build to manage rubies installation, this option is where it should be installed, defaults to$RBENV_PATH/plugins/ruby-build
-
rbenv_git_url
- the git url to use for setup, defaults to https://github.com/sstephenson/rbenv -
ruby_build_git_url
- the git url to use for installing ruby-build, defaults to https://github.com/sstephenson/ruby-build
- Fork it ( http://github.com/stas/capistrano-lazy/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