加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 一些Capistrano部署挂钩不起作用

发布时间:2020-12-16 21:49:26 所属栏目:百科 来源:网络整理
导读:我正在使用Capistrano v2.14.2并尝试使用前后挂钩来部署:create_symlink,但是没有一个似乎在触发… 我得到这个警告: [弃用警告]此API已更改,请钩
我正在使用Capistrano v2.14.2并尝试使用前后挂钩来部署:create_symlink,但是没有一个似乎在触发…

我得到这个警告:

[弃用警告]此API已更改,请钩住’deploy:create_symlink’而不是’deploy:symlink’.

所以我更新了我的代码来使用deploy:create_symlink而不是deploy:symlink

这是我的deploy.rb的snipplet

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")

这是输出的一个sn子:

* 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

没有挂钩叫…

钩子部署:finalize_update和部署:update_code似乎都没有任何问题.

在部署之前和之后可以使用的事情发生了什么:create_symlink?

解决方法

我遇到类似的问题,使用相同版本的Capistrano.我也使用capistrano-multistage,而且我很好奇,如果这是导致问题的一些如何(尚未测试一个普通的Capistrano设置).

基本上,如果你在部署之后挂接了之前/之后的触发器:symlink,它会告诉你使用deploy:create_symlink,但是deploy:symlink是实际运行的.如果我触发任何一个,它不会触发.

我碰到这篇文章,这让我想到我应该在“部署后”触发,因为符号链接是我部署的最后一步:

http://blog.rememberlenny.com/2013/03/04/deploying-wordpress-with-capistrano-symlink-issue-fix/

以下是我如何解决我的部署:

>将我的“之前部署:符号链接”触发到“部署后:finalize_update”(因为这是之前的任务,它实际上是触发)>移动我的“部署后:symlink”触发到“部署后”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读