2012-06-21 60 views
1

我一直在遇到一個問題,那就是capistrano會從我們的git repo部署一箇舊版本,除非我們指定了我們要部署的確切版本。capistrano總是部署舊版本?

#this will deploy a revision from a couple weeks ago 
cap staging deploy:migrations 

#this will deploy correctly a new revision 
cap staging deploy:migrations -S revision=74d27c00363cdcd456942d6951230564893ccb28 

有沒有人有一個想法,爲什麼會發生這種情況?

這裏是帽部署文件:默認多級ENV

set :rvm_ruby_string, '[email protected]_helenefrance_01' # Or: 
#set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system 

require "rvm/capistrano" # Load RVM's capistrano plugin. 
require "bundler/capistrano" 

# set :verbose ,1 

require 'capistrano/ext/multistage' 
set :stages, %w(staging production) 
set :default_stage, "staging" 

set :user, "webm" 
# set :deploy_via, :remote_cache 
set :use_sudo, false 

set :scm, "git" 
set :repository, "[email protected]:/ac_helenefrance_01.git" 

# :branch is being set in stage files 

default_run_options[:pty] = true 
# ssh_options[:forward_agent] = true 

after "deploy", "deploy:cleanup" # keep only the last 5 releases 

namespace :deploy do 
    %w[start stop restart].each do |command| 
    desc "#{command} unicorn server" 
    task command, roles: :app, except: {no_release: true} do 
    run "#{sudo} service unicorn_#{server_configuration} #{command}" 
    end 
end 

desc "build missing paperclip styles" 
task :build_missing_paperclip_styles, :roles=> :app do 
    run "cd #{release_path}; RAILS_ENV=production bundle exec rake paperclip:refresh:missing_styles" 
end 
after "deploy:update", "deploy:build_missing_paperclip_styles" 

task :setup_config, roles: :app do 
    puts "#making symlink to nginx sites-enabled" 
    run "#{sudo} ln -fs #{current_path}/config/server/#{server_configuration}/nginx.conf /etc/nginx/sites-enabled/#{server_configuration}" 
    puts "#making symlink to unicorn service script" 
    run "#{sudo} ln -fs #{current_path}/config/server/#{server_configuration}/unicorn_init.sh /etc/init.d/unicorn_#{server_configuration}" 
    puts "#making a the new config directory" 
    run "mkdir -p #{shared_path}/config" 
    run "sunique 1" 
    put File.read("config/database.yml"), "#{shared_path}/config/database.yml" 
    run "sunique 0" 
    puts "Now edit the config files in #{shared_path}." 
end 
after "deploy:setup", "deploy:setup_config" 

task :symlink_config, roles: :app do 
    run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml" 

    puts "#for reference:" 
    puts "#rvm wrapper [email protected]_helenefrance_01 [email protected]#{server_configuration} unicorn cap" 
    puts "#now be sure to run: sudo update-rc.d unicorn_#{server_configuration} defaults" 
end 
after "deploy:finalize_update", "deploy:symlink_config" 

end 

和環境/ stage.rb。

server "xxx.xxx.xxx.xxx", :web, :app, :db, primary: true 

set :branch, "sitemap" 
set :isRemote, true 
set :server_configuration, "st_ac_helenefrance_01" 

set :application, "#{server_configuration}" 
set :deploy_to, "/home/#{user}/#{server_configuration}" 

回答

1

它是設置到老枝> :(

我的同事不小心犯了測試,他在做什麼。