我在 Capistrano 部署中使用独角兽时遇到问题。据我所知,Capistrano 使用了一种方案,其中每个版本都以唯一的名称部署在发布目录中,如果交易成功,则会创建一个名为 current 的符号链接,该链接将指向该版本。
所以我最终得到了一个部署目录,例如:
/home/deployer/apps/sample_app/current
然后,当我尝试从 binstubs 目录启动独角兽时,所有独角兽方法都会在以下路径中查找内容,尤其是在 configurator.rb 模块中:
/home/deployer/apps/sample_app
我一直无法完全理解独角兽是如何从这里设置working_directory的:
https://github.com/defunkt/unicorn/raw/master/lib/unicorn/configurator.rb
但我想与社区核实一下,我是否因为我的菜鸟天性而错过了一些明显的东西。
顺便说一句,我开始独角兽
如下APP_ROOT=/home/deployer/apps/sample_app/current
PID=$APP_ROOT/tmp/pids/unicorn.pid
CMD="$APP_ROOT/bin/unicorn -D -E production -c $APP_ROOT/config/unicorn.rb"
蒂亚
通过 unicorn.rb config working_directory param 设置