Merge pull request #4116 from Raven24/remove-capistrano
remove capistrano from the main source code repo
This commit is contained in:
commit
5607a71458
8 changed files with 18 additions and 206 deletions
11
Capfile
11
Capfile
|
|
@ -1,11 +0,0 @@
|
||||||
# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
|
||||||
# licensed under the Affero General Public License version 3 or later. See
|
|
||||||
# the COPYRIGHT file.
|
|
||||||
|
|
||||||
load 'deploy' if respond_to?(:namespace) # cap2 differentiator
|
|
||||||
# Precompile assets in deployment (for Capistrano >= 2.8.0)
|
|
||||||
load 'deploy/assets' if respond_to?(:namespace)
|
|
||||||
|
|
||||||
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
|
|
||||||
|
|
||||||
load 'config/deploy' # remove this line to skip loading any of the default tasks
|
|
||||||
16
Changelog.md
16
Changelog.md
|
|
@ -23,14 +23,14 @@ To update do the following:
|
||||||
|
|
||||||
3. Start Resque web (you'll need temporary access to port 5678, check
|
3. Start Resque web (you'll need temporary access to port 5678, check
|
||||||
your Firewall if needed!):
|
your Firewall if needed!):
|
||||||
|
|
||||||
```
|
```
|
||||||
bundle exec resque-web
|
bundle exec resque-web
|
||||||
```
|
```
|
||||||
|
|
||||||
In case you need it you can adjust the port with the `-p` flag.
|
In case you need it you can adjust the port with the `-p` flag.
|
||||||
4. One last time, start a Resque worker:
|
4. One last time, start a Resque worker:
|
||||||
|
|
||||||
```
|
```
|
||||||
RAILS_ENV=production QUEUE=* bundle exec rake resque:work
|
RAILS_ENV=production QUEUE=* bundle exec rake resque:work
|
||||||
```
|
```
|
||||||
|
|
@ -38,7 +38,7 @@ To update do the following:
|
||||||
Visit Resque web via http://your_host:5678, wait until all queues but the
|
Visit Resque web via http://your_host:5678, wait until all queues but the
|
||||||
failed one are empty (show 0 jobs).
|
failed one are empty (show 0 jobs).
|
||||||
5. Kill the Resque worker by hitting Ctrl+C. Kill Resque web with:
|
5. Kill the Resque worker by hitting Ctrl+C. Kill Resque web with:
|
||||||
|
|
||||||
```
|
```
|
||||||
bundle exec resque-web -k
|
bundle exec resque-web -k
|
||||||
```
|
```
|
||||||
|
|
@ -87,6 +87,14 @@ We're automatically adjusting the ActiveRecord connection pool size for you.
|
||||||
Larger Heroku setups should have enough expertise to figure out what to do
|
Larger Heroku setups should have enough expertise to figure out what to do
|
||||||
by them self.
|
by them self.
|
||||||
|
|
||||||
|
### Removal of Capistrano
|
||||||
|
|
||||||
|
The Capistrano deployment scripts were removed from the main source code
|
||||||
|
repository, since they were no longer working.
|
||||||
|
They will be moved into their own repository with a new maintainer,
|
||||||
|
you'll be able to find them under the Diaspora* Github organization once
|
||||||
|
everything is set up.
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
|
||||||
* Cleaned up requires of our own libraries [#3993](https://github.com/diaspora/diaspora/pull/3993)
|
* Cleaned up requires of our own libraries [#3993](https://github.com/diaspora/diaspora/pull/3993)
|
||||||
|
|
|
||||||
17
Gemfile
17
Gemfile
|
|
@ -148,22 +148,17 @@ group :production do # we don't install these on travis to speed up test runs
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
# Deployment
|
|
||||||
|
|
||||||
gem 'capistrano', '2.12.0', :require => false
|
|
||||||
gem 'capistrano_colors', '0.5.5', :require => false
|
|
||||||
|
|
||||||
# Comparison images
|
# Comparison images
|
||||||
|
|
||||||
gem 'rmagick', '2.13.2', :require => false
|
gem 'rmagick', '2.13.2', :require => false
|
||||||
|
|
||||||
# Automatic test runs
|
# Automatic test runs
|
||||||
|
|
||||||
gem 'guard-cucumber', '1.3.2'
|
gem 'guard-cucumber', '1.3.2'
|
||||||
gem 'guard-rspec', '2.5.1'
|
gem 'guard-rspec', '2.5.1'
|
||||||
gem 'rb-fsevent', '0.9.3', :require => false
|
gem 'rb-fsevent', '0.9.3', :require => false
|
||||||
gem 'rb-inotify', '0.9.0', :require => false
|
gem 'rb-inotify', '0.9.0', :require => false
|
||||||
|
|
||||||
# Preloading environment
|
# Preloading environment
|
||||||
|
|
||||||
gem 'guard-spork', '1.5.0'
|
gem 'guard-spork', '1.5.0'
|
||||||
|
|
@ -176,13 +171,13 @@ group :test do
|
||||||
gem 'fixture_builder', '0.3.5'
|
gem 'fixture_builder', '0.3.5'
|
||||||
gem 'fuubar', '1.1.0'
|
gem 'fuubar', '1.1.0'
|
||||||
gem 'rspec-instafail', '0.2.4', :require => false
|
gem 'rspec-instafail', '0.2.4', :require => false
|
||||||
|
|
||||||
# Cucumber (integration tests)
|
# Cucumber (integration tests)
|
||||||
|
|
||||||
gem 'capybara', '1.1.3'
|
gem 'capybara', '1.1.3'
|
||||||
gem 'database_cleaner', '0.9.1'
|
gem 'database_cleaner', '0.9.1'
|
||||||
gem 'selenium-webdriver', '2.31.0'
|
gem 'selenium-webdriver', '2.31.0'
|
||||||
|
|
||||||
# General helpers
|
# General helpers
|
||||||
|
|
||||||
gem 'factory_girl_rails', '4.2.1'
|
gem 'factory_girl_rails', '4.2.1'
|
||||||
|
|
@ -194,10 +189,10 @@ end
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
# RSpec (unit tests, some integration tests)
|
# RSpec (unit tests, some integration tests)
|
||||||
gem "rspec-rails", '2.13.0'
|
gem "rspec-rails", '2.13.0'
|
||||||
|
|
||||||
# Cucumber (integration tests)
|
# Cucumber (integration tests)
|
||||||
gem 'cucumber-rails', '1.3.1', :require => false
|
gem 'cucumber-rails', '1.3.1', :require => false
|
||||||
|
|
||||||
# Jasmine (client side application tests (JS))
|
# Jasmine (client side application tests (JS))
|
||||||
gem 'jasmine', '1.3.2'
|
gem 'jasmine', '1.3.2'
|
||||||
end
|
end
|
||||||
|
|
|
||||||
14
Gemfile.lock
14
Gemfile.lock
|
|
@ -45,13 +45,6 @@ GEM
|
||||||
bootstrap-sass (2.2.2.0)
|
bootstrap-sass (2.2.2.0)
|
||||||
sass (~> 3.2)
|
sass (~> 3.2)
|
||||||
builder (3.0.4)
|
builder (3.0.4)
|
||||||
capistrano (2.12.0)
|
|
||||||
highline
|
|
||||||
net-scp (>= 1.0.0)
|
|
||||||
net-sftp (>= 2.0.0)
|
|
||||||
net-ssh (>= 2.0.14)
|
|
||||||
net-ssh-gateway (>= 1.1.0)
|
|
||||||
capistrano_colors (0.5.5)
|
|
||||||
capybara (1.1.3)
|
capybara (1.1.3)
|
||||||
mime-types (>= 1.16)
|
mime-types (>= 1.16)
|
||||||
nokogiri (>= 1.3.3)
|
nokogiri (>= 1.3.3)
|
||||||
|
|
@ -172,7 +165,6 @@ GEM
|
||||||
sprockets (>= 2.0.3)
|
sprockets (>= 2.0.3)
|
||||||
tilt
|
tilt
|
||||||
hashie (1.2.0)
|
hashie (1.2.0)
|
||||||
highline (1.6.12)
|
|
||||||
hike (1.2.1)
|
hike (1.2.1)
|
||||||
http_accept_language (1.0.2)
|
http_accept_language (1.0.2)
|
||||||
httpauth (0.2.0)
|
httpauth (0.2.0)
|
||||||
|
|
@ -225,11 +217,7 @@ GEM
|
||||||
nested_form (0.3.1)
|
nested_form (0.3.1)
|
||||||
net-scp (1.1.0)
|
net-scp (1.1.0)
|
||||||
net-ssh (>= 2.6.5)
|
net-ssh (>= 2.6.5)
|
||||||
net-sftp (2.0.5)
|
|
||||||
net-ssh (>= 2.0.9)
|
|
||||||
net-ssh (2.6.6)
|
net-ssh (2.6.6)
|
||||||
net-ssh-gateway (1.1.0)
|
|
||||||
net-ssh (>= 1.99.1)
|
|
||||||
nokogiri (1.5.9)
|
nokogiri (1.5.9)
|
||||||
oauth (0.4.7)
|
oauth (0.4.7)
|
||||||
oauth2 (0.8.0)
|
oauth2 (0.8.0)
|
||||||
|
|
@ -428,8 +416,6 @@ DEPENDENCIES
|
||||||
addressable (= 2.3.3)
|
addressable (= 2.3.3)
|
||||||
asset_sync (= 0.5.4)
|
asset_sync (= 0.5.4)
|
||||||
bootstrap-sass (= 2.2.2.0)
|
bootstrap-sass (= 2.2.2.0)
|
||||||
capistrano (= 2.12.0)
|
|
||||||
capistrano_colors (= 0.5.5)
|
|
||||||
capybara (= 1.1.3)
|
capybara (= 1.1.3)
|
||||||
carrierwave (= 0.8.0)
|
carrierwave (= 0.8.0)
|
||||||
client_side_validations (= 3.2.2)
|
client_side_validations (= 3.2.2)
|
||||||
|
|
|
||||||
109
config/deploy.rb
109
config/deploy.rb
|
|
@ -1,109 +0,0 @@
|
||||||
# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
|
||||||
# licensed under the Affero General Public License version 3 or later. See
|
|
||||||
# the COPYRIGHT file.
|
|
||||||
|
|
||||||
set :config_yaml, YAML.load_file(File.dirname(__FILE__) + '/deploy_config.yml')
|
|
||||||
|
|
||||||
require './config/cap_colors'
|
|
||||||
require 'bundler/capistrano'
|
|
||||||
require './config/boot'
|
|
||||||
require 'airbrake/capistrano'
|
|
||||||
set :bundle_dir, ''
|
|
||||||
|
|
||||||
set :stages, ['production', 'staging']
|
|
||||||
set :default_stage, 'staging'
|
|
||||||
require 'capistrano/ext/multistage'
|
|
||||||
|
|
||||||
set :application, 'diaspora'
|
|
||||||
set :scm, :git
|
|
||||||
set :use_sudo, false
|
|
||||||
set :scm_verbose, true
|
|
||||||
set :repository_cache, "remote_cache"
|
|
||||||
set :deploy_via, :checkout
|
|
||||||
set :bundle_without, [:development, :test, :heroku]
|
|
||||||
|
|
||||||
# Figure out the name of the current local branch
|
|
||||||
def current_git_branch
|
|
||||||
branch = `git symbolic-ref HEAD 2> /dev/null`.strip.gsub(/^refs\/heads\//, '')
|
|
||||||
logger.info "Deploying branch #{branch}"
|
|
||||||
branch
|
|
||||||
end
|
|
||||||
|
|
||||||
namespace :deploy do
|
|
||||||
task :symlink_config_files do
|
|
||||||
run "ln -s -f #{shared_path}/config/database.yml #{current_path}/config/database.yml"
|
|
||||||
run "ln -s -f #{shared_path}/config/diaspora.yml #{current_path}/config/diaspora.yml"
|
|
||||||
end
|
|
||||||
|
|
||||||
task :symlink_cookie_secret do
|
|
||||||
run "ln -s -f #{shared_path}/config/initializers/secret_token.rb #{current_path}/config/initializers/secret_token.rb"
|
|
||||||
end
|
|
||||||
|
|
||||||
task :bundle_static_assets do
|
|
||||||
run "cd #{current_path} && bundle exec rake assets:precompile"
|
|
||||||
end
|
|
||||||
|
|
||||||
task :restart do
|
|
||||||
thins = capture_svstat "/service/thin*"
|
|
||||||
matches = thins.split("\n").inject([]) do |list, line|
|
|
||||||
m = line.match(/(thin_\d+):/)
|
|
||||||
list << m.captures[0] unless m.nil?
|
|
||||||
end
|
|
||||||
|
|
||||||
matches.each_with_index do |thin, index|
|
|
||||||
unless index == 0
|
|
||||||
puts "sleeping for 20 seconds"
|
|
||||||
sleep(20)
|
|
||||||
end
|
|
||||||
svc "-t /service/#{thin}"
|
|
||||||
end
|
|
||||||
|
|
||||||
svc "-t /service/resque_worker*"
|
|
||||||
end
|
|
||||||
|
|
||||||
task :kill do
|
|
||||||
svc "-k /service/thin*"
|
|
||||||
svc "-k /service/resque_worker*"
|
|
||||||
end
|
|
||||||
|
|
||||||
task :start do
|
|
||||||
svc "-u /service/thin*"
|
|
||||||
svc "-u /service/resque_worker*"
|
|
||||||
end
|
|
||||||
|
|
||||||
task :stop do
|
|
||||||
svc "-d /service/thin*"
|
|
||||||
svc "-d /service/resque_worker*"
|
|
||||||
end
|
|
||||||
|
|
||||||
desc 'Copy resque-web assets to public folder'
|
|
||||||
task :copy_resque_assets do
|
|
||||||
target = "#{release_path}/public/resque-jobs"
|
|
||||||
run "cp -r `cd #{release_path} && bundle show resque`/lib/resque/server/public #{target}"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
before 'deploy:update' do
|
|
||||||
set :branch, current_git_branch
|
|
||||||
end
|
|
||||||
|
|
||||||
after 'deploy:symlink' do
|
|
||||||
deploy.symlink_config_files
|
|
||||||
deploy.symlink_cookie_secret
|
|
||||||
deploy.bundle_static_assets
|
|
||||||
deploy.copy_resque_assets
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
def maybe_sudo(cmd)
|
|
||||||
"#{svc_sudo ? sudo : ''} #{cmd}"
|
|
||||||
end
|
|
||||||
|
|
||||||
def svc(opts)
|
|
||||||
run(maybe_sudo("svc #{opts}"))
|
|
||||||
end
|
|
||||||
|
|
||||||
def capture_svstat(opts)
|
|
||||||
capture(maybe_sudo("svstat #{opts}"))
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
set :config, config_yaml['production']
|
|
||||||
|
|
||||||
set :deploy_to, config['deploy_to']
|
|
||||||
set :current_dir, config['current_dir']
|
|
||||||
set :rails_env, config['rails_env']
|
|
||||||
set :user, config['user']
|
|
||||||
if config['password']
|
|
||||||
set :password, config['password']
|
|
||||||
end
|
|
||||||
if config['branch']
|
|
||||||
set :branch, config['branch']
|
|
||||||
end
|
|
||||||
set :repository, config['repo']
|
|
||||||
server config['server'], :app, :web, :db, :primary => true
|
|
||||||
set :svc_sudo, (config['svc_sudo'] || false)
|
|
||||||
default_run_options[:pty] = true if svc_sudo
|
|
||||||
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
set :config, config_yaml['staging']
|
|
||||||
|
|
||||||
set :deploy_to, config['deploy_to']
|
|
||||||
set :current_dir, config['current_dir']
|
|
||||||
set :rails_env, config['rails_env']
|
|
||||||
set :user, config['user']
|
|
||||||
if config['password']
|
|
||||||
set :password, config['password']
|
|
||||||
end
|
|
||||||
if config['branch']
|
|
||||||
set :branch, config['branch']
|
|
||||||
end
|
|
||||||
set :repository, config['repo']
|
|
||||||
server config['server'], :app, :web, :db, :primary => true
|
|
||||||
set :svc_sudo, (config['svc_sudo'] || false)
|
|
||||||
default_run_options[:pty] = true if svc_sudo
|
|
||||||
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
|
||||||
# licensed under the Affero General Public License version 3 or later. See
|
|
||||||
# the COPYRIGHT file.
|
|
||||||
|
|
||||||
production:
|
|
||||||
server: 'example.com'
|
|
||||||
deploy_to: '/var/www/diaspora'
|
|
||||||
current_dir: 'diaspora'
|
|
||||||
user: 'diaspora'
|
|
||||||
password: 'password'
|
|
||||||
rails_env: 'production'
|
|
||||||
repo: 'git://github.com/diaspora/diaspora.git'
|
|
||||||
#set svc_sudo to true if you want to run scv and svstat with sudo. default: false
|
|
||||||
svc_sudo: false
|
|
||||||
staging:
|
|
||||||
server: 'staging.example.com'
|
|
||||||
deploy_to: '/var/www/diaspora'
|
|
||||||
current_dir: 'diaspora'
|
|
||||||
user: 'diaspora'
|
|
||||||
password: 'password'
|
|
||||||
rails_env: 'staging'
|
|
||||||
repo: 'git://github.com/diaspora/diaspora.git'
|
|
||||||
svc_sudo: false
|
|
||||||
Loading…
Reference in a new issue