草庐IT

capistrano-env

全部标签

ruby-on-rails - 我如何从 environment.rb 或初始化程序中强制 RAILS_ENV=development ?

我们的主机不允许我们修改passenger配置文件(即apache配置或vhosts文件),但我们想在开发模式下运行rails。因此,我们必须在rails在应用程序重新启动时加载的文件之一中指定环境(prod/dev/test)。有人知道怎么做吗?我们尝试了以下但没有成功:#environment.rb(beforeanyothercodeisexecuted)`RAILS_ENV=development`#usingbackticksENV['RAILS_ENV']='development'#assigningtoaconstantRAILS_ENV='development'#a

ruby - 如何使用 ruby​​ 1.8.7 安装 capistrano v2.13.5?

我正在使用ruby1.8.7(2013-06-27patchlevel374)[i686-darwin14]。当我尝试安装capistranogem时出现以下错误:sudogeminstallcapistrano-v2.13.5ERROR:Errorinstallingcapistrano:net-sshrequiresRubyversion>=2.0.AFAIKcapistrano2.13.5应该与ruby1.8.7兼容如何在安装了ruby1.8.7(capistranov2.13.5? 最佳答案 我已经通过手动安装capistr

ruby-on-rails - Capistrano 3,使用上传!在 lib/capistrano/tasks 的任务中

我正在使用Capistrano3,我想创建自己的任务。所以我在lib/capistrano/tasks中创建了一个文件my_new_thing.rake,当我运行cap-T时我可以看到任务。但是......有些方法不可用。当我尝试使用上传时!我明白了capaborted!NoMethodError:undefinedmethod`upload!'formain:Object但是如果我将相同的任务移动到config/deploy.rb然后再上传!方法可用。这是怎么回事?如何创建新的Capistrano任务并将它们放在单独的文件中并让它们工作? 最佳答案

ruby-on-rails - Capistrano 错误

执行后capdeploy:setup我收到这个错误failed:"sh-c'sudo-p'\\''sudopassword:'\\''mkdir-p/u/apps/blog/u/apps/blog/releases/u/apps/blog/shared/u/apps/blog/shared/system/u/apps/blog/shared/log/u/apps/blog/shared/pids'"onfoobar.com这是我的deploy.rb的内容require'capistrano'#AccountSettingsset:user,"user"set:password,"pas

ruby-on-rails - 部署后缺少 gem (Ruby、Ruby on Rails、Capistrano)

我正在创建一个Rails应用程序。我通过Capistrano部署到vps服务器,运行以下部署命令:$bundleexeccapdevelopmentdeploy部署看起来很成功,但缺少一些精华。ThefollowinggemsaremissingDEBUG[16b13d82]*debug_inspector(0.0.3)*web-console(3.1.1)DEBUG[16b13d82]*spring(1.7.2)*spring-watcher-listen(2.0.0)DEBUG[16b13d82]*rails-controller-testing(0.1.1)DEBUG[16b13

ruby - Capistrano 可以根据角色设置变量吗?

我正在尝试使用Capistrano部署到两个不同的角色,在两个角色上都使用Bundler,但是Bundler命令和标志会有所不同。是否可以设置特定于角色的变量?要么是这样的:set:bundle_flags,"--deployment--quiet",:role=>"web"或:role:webdoset:bundler_cmd,"--deployment--quiet"end当然,这两个选项都行不通。有什么办法可以做到这一点,或类似的东西吗? 最佳答案 无法为每个角色设置自定义变量值。您可以改为使用capistrano-ext中的

ruby - Capistrano:使用参数调用任务(内部)

我有这个代码namespace:mysqldotask:change_passworddorun"mysqladmin-u#{user}-p#{old}password#{new}"endend我想用它来更改多个用户的密码。我如何使用参数而不是从命令行执行此任务。下一个实现会很棒。task:change_passwordsdomysql.change_password('user1','oldpass','newpass');mysql.change_password('user2','oldpass','newpass');mysql.change_password('user3',

ruby - Capistrano 部署错误 : Stage not set

我关注了this设置rvm、ruby、rails、nginx和passenger的教程。然后我安装了capistrano和node.js。现在,一切正常,直到我尝试部署*test_app.*capdeploy:setup产生以下错误:[deprecated]I18n.enforce_available_localeswilldefaulttotrueinthefuture.IfyoureallywanttoskipvalidationofyourlocaleyoucansetI18n.enforce_available_locales=falsetoavoidthismessage.S

ruby - 如何在脚本失败(错误)时继续并使用 Capistrano 3 捕获输出

在Capistrano2.x中你可以简单地添加:on_error=>:continue像这样:task:bad_script,:on_error=>:continuedomy_error=capture('/path/to/tomcat/shutdown.sh')end我看不到在Capistrano3.x或ssh-kit(底层通信)中执行此操作的任何方法。任何帮助将不胜感激。task:bad_scriptdoserver_is_downonroles:alldobeginserver_is_down=capture('/path/to/tomcat/shutdown.sh')rescu

ruby -/usr/bin/env : ln: Too many levels of symbolic links

这个问题让我很难受,我觉得我已经尝试了一切。首先,问题在升级到Capistrano3时开始出现。Capistrano现在在部署时在每个命令之前使用/usr/bin/env,以确保环境设置正确。当Capistrano创建指向必要的共享目录和相应文件的符号链接(symboliclink)时,它会尝试如下命令:/usr/bin/envln-s/full/path/different/full/path...然后它出错了:/usr/bin/env:ln:Toomanylevelsofsymboliclinks我意识到这不是Capistrano的错,所以我开始通过ssh连接到我的服务器并尝试相同