Articles of capistrano

在部署Capistrano之后Rails资产缺失

我正在构build一个VPS,并通过Capistrano,数据库连接等部署,但没有可用的资源页面 – 这是基本的HTML只。 资产似乎被编译,并存在于共享目录中。 从页面html: <link href="/assets/application-a1b5d69aeaff709fd3dce163c559b38b.css" media="all" rel="stylesheet" type="text/css" /> <script src="/assets/application-0ebd07089629f8c6880dddfb688d525d.js" type="text/javascript"></script> 资产文件似乎存在于共享目录中: assay@assaypipeline:~/apps/assay/shared/assets$ ls application- a1b5d69aeaff709fd3dce163c559b38b.css application-a1b5d69aeaff709fd3dce163c559b38b.css 当我查看,源 ,然后单击资产path的超链接,我得到一个404 Nginx找不到。 解 感谢Martin M(接受答案)的帮助。 我从服务器上的〜/ apps /(应用程序名称)/当前目录中执行的步骤。 $ bundle install $ RAILS_ENV=production bundle exec rake assets:precompile $ sudo service nginx restart 显然,将这​​个包含在Capistrano食谱中会更好。 * 编辑 – Capfile * load 'deploy' load 'deploy/assets' load 'config/deploy'

启动capistrano任务的后台进程

capistrano任务 namespace :service do desc "start daemontools (svscan/supervise/svscanboot)" task :start, :roles => :app do sudo "svscanboot&" end end 现在,这不起作用:svscanboot过程根本不运行。 这帮助我findsleep : https : //github.com/defunkt/resque/issues/284其他来源指出我nohup , redirection ,并且pty => true ,所以我尝试了所有这些。 run "nohup svscanboot >/tmp/svscanboot.log 2>&1 &" # NO run "(svscanboot&) && sleep 1" # NO run "(nohup svscanboot&) && sleep 1" # YES! 现在,有谁能向我解释为什么我需要睡眠声明,nohup有什么区别? 为了logging所有上述运行同样好,如果从用户shell运行,问题只在capistrano的上下文中。 […]

Rails:无法访问日志文件

重新启动我的Rails应用程序时出现以下错误。 我以前有过这个问题,在另一台服务器上有另一个应用程序,但不记得是什么问题,或者我怎么解决这个问题。 Rails Error: Unable to access log file. Please ensure that /apps/staging/releases/20090310162127/log/staging.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed. 我在Ubuntu上用capistrano部署到一个杂种群集。 当我做ls -l /apps/staging/releases/20090310162127/log/staging.log 结果是: -rw-rw-rw- 1 me grp 51 Mar 10 16:07 /apps/staging/releases/20090310162127/log/staging.log 日志目录是到/ apps / staging […]

capistrano问题

我在将应用程序部署到服务器时遇到问题。 我有msysgit,github和capistrano安装和工作。 我已经成功地将我的应用程序推送到github,并可以成功运行cap deploy:setup从我的本地机器安装到我的服务器上。 但.. 当我运行cap deploy:cold它要求我的密码连接到github回购,然后它再次要求它连接到我的服务器,但它给了我一个错误的权限被拒绝(公钥)和rools回来。 看起来这是我的密钥错误,但它怎么可以连接到我的服务器来执行cap deplo:setup ? 我的公钥在github和我的服务器都是一样的,这是正确的? 另外当运行cap deploy:setup它问我为我的用户服务器密码是否正确? 请帮忙,因为这已经推迟了我好几天了 这是错误的: $ cap deploy * executing deploy' * executing deploy:update' ** transaction: start * executing `deploy:update_code' executing locally: "git ls-remote g…@github.com:rmossuk/Macrotec.git master " Enter passphrase for key '/c/Users/Rick/.ssh/id_rsa': * executing "git clone -q g…@github.com:rmossuk/Macrotec.git /usr/local/lib/r uby/gems/1.9.1/gems/passenger-2.2.4/test/stub/rails_apps/Macrotec/releases/20090723213346 && cd /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4/test/stub/ra ils_apps/Macrotec/releases/20090723213346 && […]

cap部署:冷失败'没有这样的文件或目录 – git rev-parse master'错误

我正在尝试第一次部署我的rails应用程序。 服务器运行Ubuntu 10.4服务器(64位) 本地机器正在运行Windows XP。 版本库在github上 我已经成功运行了 cap deploy:setup 但是当我跑步 cap deploy:cold 我得到以下错误: D:\Rails\rails_apps\fx>cap deploy:cold You are running Ruby 1.8.6, which has a bug in its threading implementation. You are liable to encounter deadlocks running Capistrano, unless you install the fastthread library, which is available as a gem: gem install fastthread * executing `deploy:cold' * […]