Capistrano V3 for foreman
There be dragons, proceed at your own risk.
Add this line to your application's Gemfile:
gem 'capistrano3-foreman'
And then execute:
$ bundle
Or install it yourself as:
$ gem install capistrano3-foreman
Require in Capfile to use the default task:
require 'capistrano/foreman'
###Export Procfile to upstart###
This task will be run before deploy:restart
as part of Capistrano's default deploy, or can be run in isolation with:
cap production foreman:export
NOTE
In order for foreman to export to upstart your deploy user must have sudoer
privileges
###Options###
Custom ENVIRONMENT variables for foreman (see here).
set :foreman_env, '/remote/path/to/your.env' # Default none
##The Twelve Factor App##
(Treat backing services as attached resources) by using ENV variables for your configuration.
database.yml
default: &default
adapter: mysql2
host: <%= ENV['DATABASE_HOST'] %>
username: <%= ENV['DATABASE_USERNAME'] %>
password: <%= ENV['DATABASE_PASSWORD'] %>
encoding: utf8
reconnect: true
staging:
<<: *default
database: app_web_staging
production:
<<: *default
database: app_web_production
deploy.rb
set :foreman_env, '/home/deploy/.pam_environment'
.pam_environment
DATABASE_HOST=database.example.com
DATABASE_USERNAME=user
DATABASE_PASSWORD=password
RAILS_ENV=staging
- Fork it
- 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