Capistrano 3没有部署新代码

Chr*_*Bui 5 ruby-on-rails capistrano3

我在Capistrano 3中遇到这个奇怪的问题。除非我删除服务器上我的应用程序文件夹中的repo文件夹,否则它所部署的代码永远不会更新。如果删除repo文件夹并进行部署,它将更新代码。

# config valid only for Capistrano 3.1
lock '3.1.0'

set :application, 'APP_NAME'
set :repo_url, 'REPO'

# Default branch is :master
# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }

# Default deploy_to directory is /var/www/my_app
set :deploy_to, '/home/deployer/apps/APP_NAME'

# Default value for :scm is :git
set :scm, :git

set :branch, "master"

# Default value for :format is :pretty
set :format, :pretty

# Default value for :log_level is :debug
set :log_level, :info

# Default value for :pty is false
# set :pty, true

# Default value for :linked_files is []
# set :linked_files, %w{config/database.yml}

# Default value for linked_dirs is []
# set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}

# Default value for default_env is {}
# set :default_env, { path: "/opt/ruby/bin:$PATH" }

# Default value for keep_releases is 5
# set :keep_releases, 5

set :use_sudo, false

set :linked_files, ["config/database.yml"]

namespace :deploy do
  desc "Start Unicorn"
  task :start do
    on roles(:app) do
      within current_path do
        execute :bundle, "exec unicorn_rails -c config/unicorn.rb -D"
      end
    end
  end

  desc "Stop Unicorn"
  task :stop do
    on roles(:app) do
      execute "kill -s QUIT `cat #{shared_path}/pids/unicorn.pid`"
    end
  end

  desc "Restart application"
  task :restart do
    invoke 'deploy:stop'
    invoke 'deploy:start'
  end
end
Run Code Online (Sandbox Code Playgroud)

小智 3

可能有点明显,但是您检查过服务器上的权限吗?我会尝试向我尝试部署的文件夹上的任何用户授予完全权限,以作为测试,看看它是否通过,如果通过,那么您就知道问题出在哪里。