草庐IT

Deployment

全部标签

ruby - Capistrano 3 在任务中更改 ssh_options

我尝试使用不同的ssh_options在同一阶段运行capistranov.3任务。我的production.rb说:set:stage,:productionset:user,'deploy'set:ssh_options,{user:'deploy'}通过此配置,capistrano与用户deploy连接,这对于其余的任务是正确的。但是我需要将它连接到服务器中配置良好的an_other_user以完成一项特定任务。然后我的食谱说:...taskswithoriginaluser...task:my_task_with_an_other_userdoset:user,'an_othe

ruby-on-rails - 在 Rails 中调试生产服务器

您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除

ruby - 是否可以在 Unicorn master 完成重启时发送通知?

我在nginx+unicorn后面运行一系列Rails/Sinatra应用程序,零停机部署。我喜欢这个设置,但Unicorn需要一段时间才能完成重新启动,所以我想在完成时发送某种通知。我能在Unicorn文档中找到的唯一回调与workerfork相关,但我认为这些回调对此不起作用。这是我从赏金中寻找的东西:老unicorn主人启动新主人,然后新主人开始它的worker,然后旧主人停止它的worker并让新主人接管。我想在交接完成后执行一些ruby​​代码。理想情况下,我不想为此实现任何复杂的流程监控。如果这是唯一的方法,那就这样吧。但在走那条路之前,我正在寻找更简单的选择。

ruby-on-rails - 为什么 Capistrano 会这样?

我的部署有问题我运行了capdeploy并得到了这个Warning:Permanentlyadded'github.com,207.97.227.239'(RSA)tothelistofknownhosts.**[174.143.150.79::out]Permissiondenied(publickey).**fatal:Theremoteendhungupunexpectedlycommandfinished***[deploy:update_code]rollingback*executing"rm-rf/home/deploy/transprint/releases/20110

ruby - 部署 Rack 应用程序的可靠方法 (Sinatra)

我正在寻找一种可靠的方式来部署Rack应用程序(在本例中为Sinatra应用程序)。请求将花费一些时间(0.25-0.5秒等待代理HTTP请求)并且可能会有相当大的流量。我应该使用传统的mongrel集群设置吗?使用HAProxy作为负载均衡器?恩金克斯?架子?您使用过哪些解决方案,有哪些优势? 最佳答案 Nginx/unicornFTW!前面的Nginx提供静态文件和unicorn处理Sinatra应用程序。优点:性能、使用unixsocks的良好负载平衡以及无需停机即可部署/升级(您可以在不停机的情况下升级Ruby/Nginx/

ruby - 简化的 Ruby 代码部署

这是我想象中的开发和部署过程:创建项目目录my_project。在其中安装所需的Ruby版本。安装所需的gem。写一些代码。使用fpm打包整个东西。将debian软件包运送到生产箱并安装。我使用RVM和Bundler来解决一些痛点,但RVM不关心创建可重定位的Ruby安装,所以你不能将~/.rvm/rubies移动到项目目录中,并且期待一切顺利。您必须重写各种硬编码的#!行,在某些情况下,您必须将.so文件移动到lib目录中。我通过搜索互联网拼凑了一组脚本,这些脚本一起完成了我想要的,但整个事情感觉像是一个巨大的黑客攻击。我不小心发现了https://github.com/ot/bpt

ruby - 在 linux 和 windows 中独立分发 ruby​​ 应用程序

我在1.9.1版上开发了ruby​​应用程序(桌面应用程序),几乎没有gems(qtbindings)。现在我想将我的应用程序作为独立的用户分发。我也想在linux中作为独立的应用程序分发我的应用程序。完成这项工作的最佳gem/脚本是什么。 最佳答案 看看thislink其中提供了几个选项来将Ruby脚本作为“native”可执行文件分发。请记住,Linux用户通常不需要这个,bundleinstall和rubymyscript.rb在这些系统上就足够了。 关于ruby-在linux和w

ruby-on-rails - rails : is Passenger Standalone suitable for production deployment?

问题标题几乎概括了它...我一直无法找到任何好的资源来概述使用PhusionPassengerStandalone进行Rails应用程序部署的优缺点。它与运行PassengerNginx或PassengerApache相比如何?.htaccess之类的东西是否继续按预期工作?任何见解将不胜感激!谢谢! 最佳答案 Standalone建立在Nginx之上。你可以直接将它连接到端口80,它的行为很像PhusionPassenger+Nginx:它可以非常快速地提供静态文件,它会根据流量自动启动和停止进程,它会在它们运行时自动重启进程崩溃

ruby - rbenv:未安装版本 `2.2.3'(由 RBENV_VERSION 环境变量设置)

当我运行部署脚本时,出现错误:[cb123fad]rbenv:version`2.2.3'isnotinstalled(setbyRBENV_VERSIONenvironmentvariable)DEBUG[cb123fad](Backtracerestrictedtoimportedtasks)capaborted!SSHKit::Runner::ExecuteError:Exceptionwhileexecutingasdeploy@xx.xx.xx.xx:Exceptionwhileexecutingasdeploy@xx.xx.xx.xx:bundleexitstatus:1b

ruby - Capistrano 3.0 — 现在如何安全地提示输入密码?

在3.0之前有一种方法可以做到这一点:#...set:mysql_password,proc{Capistrano::CLI.password_prompt"Gimmeremotedatabaseserverpassword.Don'tworry,Iwon'ttellanyone:"}#...namespace:dbdodesc'Dumpremotedatabase'task:dumpdorun"mysqldump-u#{mysql_user}-p#{mysql_database}>~/#{mysql_database}.sql"do|channel,stream,data|ifdat