Mic*_*rey 10 ruby deployment capistrano
我正在使用Capistrano v2.14.2
并尝试使用before
和after
钩子deploy:create_symlink
,但它们似乎都没有发射......
我收到了这个警告:
[Deprecation Warning] This API has changed, please hook 'deploy:create_symlink' instead of 'deploy:symlink'.
所以我更新了我的代码deploy:create_symlink
而不是使用deploy:symlink
这是我的一小部分 deploy.rb
namespace :foo do
task :start do
puts "starting foo..."
end
task :stop do
puts "stoping foo..."
end
end
before('deploy:create_symlink', "foo:stop")
after('deploy:create_symlink', "foo:start")
Run Code Online (Sandbox Code Playgroud)
这是输出的一小部分:
* 2013-04-04 13:34:27 executing `deploy:symlink'
* executing "rm -f /web/example.com/current && ln -s /web/example.com/releases/20130404203425 /web/example.com/current"
servers: ["app1"]
[app1] executing command
command finished in 467ms
Run Code Online (Sandbox Code Playgroud)
没有挂钩被称为......
钩子deploy:finalize_update
和deploy:update_code
所有人似乎都没有任何问题.
能够使用before
和after
挂钩的情况deploy:create_symlink
怎么样?
我遇到了类似的问题,使用相同版本的Capistrano.我也使用capistrano-multistage,我很好奇,如果这导致问题的一些方法(尚未测试普通的Capistrano设置).
基本上,如果您在deploy:symlink上挂钩到before/after触发器,它会告诉您使用deploy:create_symlink,但是deploy:symlink是实际运行的.如果我触发其中任何一个,它就不会触发.
我碰到了这篇文章,让我觉得我应该在"部署之后"触发,因为符号链接是我部署的最后一步:
http://blog.rememberlenny.com/2013/03/04/deploying-wordpress-with-capistrano-symlink-issue-fix/
以下是我解决部署的方法: