Railman Deployment
railman-deployment gem adds capistrano tasks for automated deployment of rails applications generated by railman
Installation
Add this line to your application's Gemfile:
gem 'railman-deployment'
And then execute:
$ bundle
Usage
Add require 'railman/deployment'
to Capfile and you'll get following capistrano tasks:
-
cap ENV setup
=> Setup rails application for the first time on a server -
cap ENV deploy
=> Deploy rails application -
cap ENV update
=> Synchronize local database with the production database; sync files if any (see:sync_dirs
) -
cap ENV remove
=> Remove the application completely from the server -
cap ENV reset_server
=> Recreate server database from db/<application_name>.sql and sync local files to server (see:sync_dirs
)
Specify deployment settings in config/deploy.rb
and config/deploy/production.rb
.
Example deploy.rb:
set :application, 'first'
set :repo_url, 'git@bitbucket.org:mmustermann/first.git'
append :sync_dirs, 'public/system', 'uploads'
set :log_level, :info
Example production.rb:
set :server, 'prod.myapp.com'
set :user, 'deploy'
server fetch(:server), user: fetch(:user), roles: %w{web app db}
# set :deploy_branch, 'another'
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
.
To release a new version, run bundle exec rake release_patch
, bundle exec rake release_minor
, oder bundle exec rake release_major
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to https://rubygems.org.
Contributing
Bug reports and pull requests are welcome on github at https://github.com/igorj/railman-deployment.
License
The gem is available as open source under the terms of the MIT License.