【问题标题】:Capistrano: Some tasks are fired but has no output and does nothingCapistrano:一些任务被触发但没有输出并且什么都不做
【发布时间】:2016-10-18 20:16:04
【问题描述】:

我正在尝试使用 Capistrano (3.6) 来部署我的应用,但有些任务不起作用并且什么也没有返回。

当我执行cap production deploy 时,版本已从我的 git 服务器正确下载,捆绑安装工作正常,文件已链接。但是有些任务似乎被跳过了,比如“deploy:migrate”。

我尝试通过创建这两个任务来进行调试,以查看部署期间发生的情况:

namespace :deploy do
  before :migrate, :debug do
    puts "BEFORE"
  end

  after :migrate, :debug do
    puts "AFTER"
  end
end

我看到我的任务在捆绑安装后正确挂钩:

00:03 bundler:install
      01 ~/.rvm/bin/rvm 2.3.0 do bundle install --path /home/myuser/app/shared/bundle --without development test --deployment --qui…
    ✔ 01 myuser@myhost 2.380s
BEFORE
AFTER
00:05 deploy:symlink:release

但正如您所见,BEFORE 和 AFTER 之间没有任何反应,但是我有待迁移。

如果我单独运行任务cap production deploy:migrate,则没有输出,也没有任何反应。

当我直接在远程主机RAILS_ENV=production bundle exec rails db:migrate 上运行命令时就可以了!

对于一些其他任务,如 puma:x、deploy:compile_asset 等,这也是相同的行为......

我的环境

我使用 RVM(单用户)和 ruby​​ 2.3.0(双方) 我的应用是 Rails 5(仅限 api)

在我的 Gemfile 中

gem 'capistrano', '~> 3.6.0'
gem 'capistrano-rails', '~> 1.1'
gem 'capistrano-rvm', '~> 0.1.1'
gem 'capistrano3-puma', github: "seuros/capistrano-puma"

在我的 Capfile 中

require 'capistrano/rvm'
require 'capistrano/rails'
require 'capistrano/bundler'
require 'capistrano/puma'
require 'capistrano/puma/nginx'

我的 deploy.rb

set :rvm_ruby_version, '2.3.0'

set :application, 'myapp'
set :repo_url, 'git@gitlab.mydomain.com:me/myapp.git'
set :deploy_to, '/home/myuser/app'

append :linked_files, 'config/database.yml', 'config/secrets.yml'
append :linked_dirs, 'log', 'tmp/pids', 'tmp/cache', 'tmp/sockets'

set :nginx_config_name, 'myapp'
set :nginx_server_name, 'myapp.mydomain.com'

我的制作.rb

server 'myhost', user: 'myuser', roles: %(app web db)

set :rails_env, 'production'

感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails deployment migration capistrano


    【解决方案1】:

    您在production.rb 中打错了字。如果您运行cap production doctor,它将提醒您注意问题。

    基本上你写的是%(app web db),而你的意思是%w(app web db)

    另请参阅此答案:Rails assets aren't compiling after Capistrano deployment

    【讨论】:

    • 天哪,你是对的,没有看到这个错字,好尴尬,我觉得很菜鸟!非常感谢您的帮助以及这个伟大而有用的工具!
    猜你喜欢
    • 2013-02-07
    • 1970-01-01
    • 2022-07-27
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多