【问题标题】:capistrano after hooks not firingcapistrano 钩子不开火后
【发布时间】:2012-10-31 12:48:55
【问题描述】:

我有一个 Rails 应用程序在 Capistrano 2.5.18 和 Rake 0.9.2.2 的机器上运行。 部署工作正常。

我在另一台运行 Capistrano 2.12.0 和 Rake 0.9.2.2 的机器上设置了相同的应用程序,它运行到一个点 - 复制文件等 - 但不运行我的后挂钩。

我了解到 deploy:symlink 任务已更改为 deploy:create_symlink,因此我对其进行了更新。

这是精简后的配方...

set :ssh_options, { :forward_agent => true }
set :use_sudo, true 
set :deploy_via, :copy
set :copy_strategy, :export
set :copy_compression, :gzip
on :load, 'max:deploy:ask_env'

after 'deploy:create_symlink', 'max:deploy:finalize_update' # DOESN'T WORK!!

namespace :deploy do
  task :restart do
    run "#{sudo :as => admin_runner} touch #{current_path}/tmp/restart.txt"
  end
end

namespace :max do
  [...]
  namespace :deploy do
    # NEVER CALLED!!!
    desc "Finalizes update by setting permissions"
    task :finalize_update do
      run "chgrp -R #{admin_group} #{current_release}; exit 0"
    end
  end
  [...]
end

运行脚本时的最后一点输出看起来像...

  * executing `deploy:create_symlink'
  * executing "rm -f /home/s-exer1/webapps/max-shared-desktop/application_home/current && ln -s /home/s-exer1/webapps/max-shared-desktop/application_home/releases/20121031124115 /home/s-exer1/webapps/max-shared-desktop/application_home/current"
    servers: ["vaomb81"]
    [vaomb81] executing command
    command finished in 97ms
 ** transaction: commit
  * executing `deploy:restart'
  * executing "sudo -p 'sudo password: ' -u s-exer1 touch /home/s-exer1/webapps/max-shared-desktop/application_home/current/tmp/restart.txt"

deploy:create_symlink 任务运行,然后跳转到 deploy:restart - 跳过我的 after 钩子。

关于可能导致此问题的任何建议?

谢谢

【问题讨论】:

    标签: hook capistrano


    【解决方案1】:

    不知道我做错了什么,但事实证明

     after 'deploy:create_symlink', 'max:deploy:finalize_update'
    

    确实适用于 Capistrano 2.12.0

    【讨论】:

    • 我有Capistrano v2.14.2 并且之前和之后的钩子似乎没有为deploy:create_symlink 触发。你还记得你做了什么来修复吗?
    【解决方案2】:

    一个可能的原因是您的后续任务之一(可能是sudo 的行)在没有显示输出的情况下失败。一个明显的迹象是 command finished in ...s 甚至没有显示在最后一个命令中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 2022-10-04
      • 2013-03-27
      • 2014-01-14
      相关资源
      最近更新 更多