首次使用Capistrano部署应用程序,但是在Rails 3.1.3,Capistrano 2.9.0,RVM 1.8.6和Ubuntu服务器10.10上运行cap deploy:update任务时遇到问题。 就我所知,这不应是权限问题。 现在,我一直对此感到震惊,感谢任何指示。

drphil@mumindalen:~/Rails/testapp$ cap deploy:update
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    executing locally: "git ls-remote git@my_server:~/testapp/ HEAD"
git@23.23.23.23.'s password: 
command finished in 8892ms
  * executing "git clone -q git@my_server:~/testapp/         /home/deploy/testapp/releases/20111211183654 && cd /home/deploy/testapp/releases/20111211183654 && git checkout -q -b deploy f473e207b15d73d2fa9aa32ab1dbeec98471153d && (echo f473e207b15d73d2fa9aa32ab1dbeec98471153d > /home/deploy/testapp/releases/20111211183654/REVISION)"
servers: ["my_server"]
Password: 
[my_server] executing command
command finished in 1695ms
* executing `deploy:finalize_update'
triggering before callbacks for `deploy:finalize_update'
* executing `deploy:assets:symlink'
* executing "rm -rf /home/deploy/testapp/releases/20111211183654/public/assets &&\\\n        mkdir -p /home/deploy/testapp/releases/20111211183654/public &&\\\n        mkdir -p /home/deploy/testapp/shared/assets &&\\\n        ln -s /home/deploy/testapp/shared/assets /home/deploy/testapp/releases/20111211183654/public/assets"
servers: ["my_server"]
[my_server] executing command
command finished in 1117ms
* executing "chmod -R g+w /home/deploy/testapp/releases/20111211183654"
servers: ["my_server"]
[my_server] executing command
command finished in 614ms
* executing "rm -rf /home/deploy/testapp/releases/20111211183654/log /home/deploy/testapp/releases/20111211183654/public/system /home/deploy/testapp/releases/20111211183654/tmp/pids &&\\\n      mkdir -p /home/deploy/testapp/releases/20111211183654/public &&\\\n      mkdir -p /home/deploy/testapp/releases/20111211183654/tmp &&\\\n      ln -s /home/deploy/testapp/shared/log /home/deploy/testapp/releases/20111211183654/log &&\\\n      ln -s /home/deploy/testapp/shared/system /home/deploy/testapp/releases/20111211183654/public/system &&\\\n      ln -s /home/deploy/testapp/shared/pids /home/deploy/testapp/releases/20111211183654/tmp/pids"
servers: ["my_server"]
[my_server] executing command
command finished in 1022ms
* executing "find /home/deploy/testapp/releases/20111211183654/public/images /home/deploy/testapp/releases/20111211183654/public/stylesheets /home/deploy/testapp/releases/20111211183654/pu## Heading ##blic/javascripts -exec touch -t 201112111837.12 {} ';'; true"
servers: ["my_server"]
[my_server] executing command
*** [err :: my_server] find:
*** [err :: my_server] "/home/deploy/testapp/releases/20111211183654/public/images"
*** [err :: my_server] : Filen eller katalogen finns inte
*** [err :: my_server] 
*** [err :: my_server] find:
*** [err :: my_server] "/home/deploy/testapp/releases/20111211183654/public/stylesheets"
*** [err :: my_server] : Filen eller katalogen finns inte
*** [err :: my_server] 
*** [err :: my_server] find:
*** [err :: my_server] "/home/deploy/testapp/releases/20111211183654/public/javascripts"
*** [err :: my_server] : Filen eller katalogen finns inte
*** [err :: my_server] 
command finished in 1024ms
triggering after callbacks for `deploy:update_code'
  * executing `deploy:assets:precompile'
  * executing "cd /home/deploy/testapp/releases/20111211183654 && rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
servers: ["my_server"]
[my_server] executing command
*** [err :: my_server] sh:
*** [err :: my_server] rake: not found
*** [err :: my_server] 
command finished in 1440ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/deploy/testapp/releases/20111211183654; true"
servers: ["my_server"]
[my_server] executing command
command finished in 727ms
failed: "sh -c 'cd /home/deploy/testapp/releases/20111211183654 && rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" on my_server

===============>>#1 票数:4 已采纳

这是开发箱和服务器上不同版本的RVM的问题,并且我没有正确设置deploy.rb以使其与RVM一起使用。 经过数小时的挖掘,认为这是一种错误 那好吧。

在deploy.rb中使用以下命令使其正常工作:

$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require "rvm/capistrano"
set :rvm_ruby_string, 'ruby-1.9.2-p290'
set :rvm_type, :user

===============>>#2 票数:0

它找不到rake二进制文件。 如果使用的是RVM,请确保要部署的用户保持在rvm组中。

或者,很可能(或与上述结合使用),您为非交互式外壳禁用了.bashrc / bashrc / profile环境。 因此,它不会加载所有配置(设置PATH等)。

参见http://lists.apple.com/archives/macos-x-server/2008/Jun/msg00251.html

Debian(/ etc / bashrc):

# System-wide .bashrc file for interactive bash(1) shells.

# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

...等等。 最后一行是问题。 退出非交互式shell的处理bashrc。 在您的系统上寻找类似的东西。

更新:

概述了在debian squeeze上处理的shell脚本: http : //www.fam.tuwien.ac.at/~schamane/_/blog : 110814_bash_shell_startup_files_in_debian_squeeze

  ask by Dr Philifjonkan translate from so

未解决问题?本站智能推荐:

2回复

使用资产管道优化rails app到多个服务器的部署

我正在多服务器环境中部署rails应用程序。 该应用程序使用资产管道,资产从s3提供。 如果我在我部署的每台服务器上运行资产:预编译,一切正常(在每个盒子上生成所需的assets / manifest.yml)。 问题是这种效率非常低。 我尝试将其中一个服务器指定为主服务器,并且仅运
1回复

上限部署资产预编译错误

我正在为我的应用程序设置新的登台服务器。 现有的暂存以及具有相同发行版的开发环境都可以正常工作。 尝试cap deploy ,我收到以下错误: pname / releases / 20160831113756 / vendor / assets / bower_componen
1回复

Rails 3.2.1,资产在部署时预编译了两次?

我有这个Capistrano任务: 我知道有load 'deploy/assets'但我正在试图了解这里发生了什么。 我正在部署到Amazon EC2 m1.small实例,该实例显然持续50%的cpu窃取时间 ,并通过top验证。 这导致编译资产的时间增加,但看看这个:
1回复

将外部JS包含在Rails资产管道中,在部署过程中将其捆绑在一起

我已经审查了这个问题- 包括使用Rails 3.1资产管道的外部库 -基本上,这是我要寻找的一个警告:我想在资产管道中包括外部url,以便在部署到生产环境时,外部网址将与所需的其他本地文件捆绑在一起。 更多细节: 我在这里的用例是,我在GitHub上找到了一个我喜欢的插件,并且作为开
2回复

Rails 4资产管道失去供应商资产

我似乎无法弄清楚如何让链轮在vendor/assets找到vendor/assets 。 我一直在通过将所有资产添加到app/assets来解决问题,但它变得过于混乱。 我已阅读文档,并尝试将以下所有行添加到application.rb文件中。 它们在本地工作,但是当我将它们推送
1回复

运行capistrano导轨/资产时找不到sshkit

我正在尝试使用capistrano rails / assets来预编译我的资产,所有步骤都进行得很好,除非它执行rake asset:precompile。 这是日志: 如果我在服务器上运行相同的命令,我不会遇到任何问题: 这是我的Capfile: 我的Gemfi
1回复

资产管道在Rails生产环境中不起作用

我在使用Rails部署到VPS时遇到问题。 我的应用程序在开发环境中运行良好,但是当我使用Capistrano进行生产时,遇到了问题。 我正在使用独角兽,rails 3.2.13和ruby 1.9.3 我遇到的问题是,当我访问生产站点时,出现“模板丢失”错误: 因此,我认为
1回复

带有乘客无尽错误的Rails 3.2资产管道

在最近将我的应用程序迁移到3.2.1之后,似乎我是另一个在资产管道方面苦苦挣扎的开发人员。 一切看起来都很好,我的资产已经整理好并且显然已经送达。 在我的文档来源中,我可以看到以下内容: 和链接工作正常。 但是,我的js或CSS均未实际加载。 我实际上可以在apache日
1回复

Capistrano部署后,Rails资产未编译

我正在使用Capistrano部署我的Rails应用程序,除非我将ssh放入服务器并手动运行RAILS_ENV=development bundle exec rake assets:precompile ,否则似乎不会编译RAILS_ENV=development bundle exec ra
2回复

Capistrano部署后Rails资产丢失

我正在构建VPS,它通过Capistrano部署,数据库连接等,但页面没有可用的资源 - 它只是基本的html。 资产似乎已编译,并存在于共享目录中。 从页面html: 资产文件似乎存在于共享目录中: 当我查看,源 ,然后单击指向资产路径的超链接时,我从Nginx中找