remove capistrano from the main source code repo

capistrano deployment scripts will be maintained in a separate deployment repo
This commit is contained in:
Florian Staudacher 2013-04-14 22:23:18 +02:00
parent 19206fb67d
commit f3aa802a0d
8 changed files with 18 additions and 206 deletions

11
Capfile
View file

@ -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

View file

@ -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)

View file

@ -148,11 +148,6 @@ 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

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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