多机热部署工具 Capistrano 钩子 亦凉 2021-09-18 15:26 186阅读 0赞 **什么是钩子** > 根据我的理解钩子就像是 , 某通勤火车在进站前需要变一次轨 , 但是我们不知道他什么时候进站 , 一直就这样相安无事 , 但是有一天不能被满足的人们认为 : 我们需要在火车即将进站时向站内发送广播通知 . 于是就在变轨那一段铁路上安装了一个钩子 ,钩子链接了站内广播 ,火车经过碰到钩子形成通路 ,然后向站内开始播放广播提示 . > > 软件中的钩子也是一样 , 例如需要在某个功能执行完毕之后向客户端提示时 , 我们就可以在功能执行完毕时加一个钩子 , 来接受来自软件的通知 . > > 当然这些是为了便于理解 ,实际上的钩子都是由外部程序以类似窃听的非法手段插入进去的 ![2691130452-5ad60b55f08ab_articlex][] **前置钩子与后置钩子** > 某个功能执行完毕之后的钩子就是后置钩子 ,执行之前的钩子就是前置钩子 **为什么需要钩子** > 前面已经说过了 **Capistrano钩子** > 同样分为前置钩子与后置钩子 > > Capistrano 允许在部署应用过程中的特定时刻执行我们指定的命令,很多 PHP 开发者都使用 Capistrano 管理应用的依赖,每次使用 Capistrano 部署应用时,我们可以使用 Capistrano 的钩子安装 Composer 依赖 # 使用后置钩子 # 在 config/deploy.rb 文件中添加以下代码: namespace :deploy do desc "Build" after :updated, :build do on roles(:web) do within release_path do # 自动执行安装Composer依赖 execute :composer, "install" # 修改当前目录中文件中的所有者 ,使nginx可以访问他们 execute :chown, "-R -f www:www ./" # 修改当前目录中文件的权限 ,使文件不会被其他用户随意修改 execute :chmod, "-R 755 ./" end end end end > 这样Cap就会在拉取之后进行Composer依赖安装和权限修改了 # 参考资料 # > [http://laravelacademy.org/post/7530.html][http_laravelacademy.org_post_7530.html] > [https://www.zhihu.com/question/20610442][https_www.zhihu.com_question_20610442] [2691130452-5ad60b55f08ab_articlex]: /images/20210726/bebf334b630a4afba50680d78f911847.png [http_laravelacademy.org_post_7530.html]: http://laravelacademy.org/post/7530.html [https_www.zhihu.com_question_20610442]: https://www.zhihu.com/question/20610442
还没有评论,来说两句吧...