jjzjj

deployment

全部标签

ruby-on-rails - 在推送到 heroku 后,我的大部分 Assets 突然返回 404

我已经部署了这个应用程序(rails3.2.11)一百万次,我没有搞乱任何设置,但现在我受到了欢迎:为什么会突然发生这种事?我的application.rb内容包括config.assets.enabled=true-从来没有任何问题。事实上,在3000端口上本地运行它似乎没有任何问题。今天早上部署到heroku后,它似乎没有加载/assets/中的任何内容有趣的是,在将文件复制过来尝试制作一个新应用程序之后,gitcommit会生成您期望的所有内容以及我认为可能是的一长串内容相关:编辑:有趣的是,一些Assets已经加载,比如Logo和背景,但其余的如您所见返回404。

ruby-on-rails - 如何部署我的应用程序可以访问但其他人无法获取的 'private' gem?

我有几个应用程序,我想共享一些通用代码。我想gem代码并以这种方式在应用程序之间共享/版本化它,尽管我不想将它发布到公共(public)gem服务器。有哪些选项? 最佳答案 这看起来很有希望:https://github.com/cwninja/geminabox/虽然我自己没有用过,所以我不能保证。但是,我最近在官方Rubygems问答网站上看到的一个帖子中推荐了它,其中提到内置的ruby​​gems托管不是推荐的解决方案,而Geminabox是一个不错的选择。请注意,它不具有任何身份验证或安全性(显然,通过模糊处理除外),因此根

ruby-on-rails - 使用 USR2 重新启动 Unicorn 似乎不会重新加载 production.rb 设置

我正在运行unicorn并试图实现零停机重启。到目前为止一切都是很棒的调味料,主进程fork并启动4个新worker,然后杀死旧worker,大家都很高兴。我们的脚本发送以下命令来重启unicorn:kill-sUSR2`cat/www/app/shared/pids/unicorn.pid`从表面上看一切都很好,但事实证明unicorn并没有重新加载production.rb。(每次部署时,我们都会将config.action_controller.asset_host值更改为一个新的CDN容器端点,其中包含我们预编译的Assets)。以这种方式重新启动unicorn后,Assets

ruby-on-rails - 如何使 Rails 3 Assets 的预编译速度更快?

我有一个正在运行的Rails3.2.1应用程序,我正在通过Capistrano使用deploy/assets进行部署,它运行deploy:assets:precompile任务。一切正常,除了编译本身真的很慢。我没有那么多CSS和JavaScript(总共大约8200行)。编译Assets一般需要1-3分钟左右,占整个部署时间的90%左右。有什么办法可以优化吗?也许使用不同的程序来编译Assets或以某种方式优化它?我在Linode5121.9.2-p290、Rails3.2.1上运行该应用程序,如果有任何相关性,我会使用therubyracergem。 最

ruby - 如何在我的 VagrantFile 中包含变量?

谁能指导我如何在我的VagrantFile中包含变量?我正在尝试从外部文件将配置注入(inject)Vagrantfile,这样我就可以将配置分发给我的同事,而无需他们直接在Vagrantfile上对配置进行硬编码。我原以为因为它是基于Ruby的,所以我可以只包含一个Ruby文件,但我得到了一个错误消息:未初始化的常量MyVars简化了我的VagrantFile#-*-mode:ruby-*-#vi:setft=ruby:require'vagrant.rb'includeMyVarsVagrant.configure("2")do|config|#Webconfig.vm.defin

ruby-on-rails - 我如何找到 Phusion Passenger 版本?

如何找到我的PhusionPassenger版本?有没有我可以从终端运行的命令? 最佳答案 您可以使用以下命令找出当前版本:passenger-v 关于ruby-on-rails-我如何找到PhusionPassenger版本?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8174837/

ruby-on-rails - bundle 安装不适用于 capistrano

我想通过capistrano3.0部署我的简单rails4.0应用程序。我使用bundler1.3.5所以我添加了capistrano-bundlergem将bundler与capistrano集成。我有非常简单的配置(几乎是默认配置):set:bundle_gemfile,->{release_path.join('Gemfile')}set:bundle_dir,->{shared_path.join('bundle')}set:bundle_flags,''set:bundle_without,%w{testdevelopment}.join('')set:bundle_bins

ruby - 在 Heroku 上热部署,无需停机

推送到Heroku的一个不好的方面是我必须在运行我的数据库迁移之前推送代码(并且服务器会自动重启)。这显然会导致用户在没有新表/属性的情况下浏览具有新代码的网站时出现大约500个错误:Heroku提出的解决方案是使用维护模式,但我想要一种没有缺点的方法让我的webapp运行每次!有办法吗?例如Capistrano:我准备将代码部署到新目录我运行(向后)迁移,旧代码继续完美运行我将mongrel实例切换到新目录并重新启动服务器...而且我没有停机时间! 最佳答案 您可以设置第二个Heroku应用程序,它指向与主要生产应用程序相同的数据

ruby - Chef 从源安装和更新程序

我有一个从源代码构建的程序。为此,我使用了script资源。什么是实现安装和更新逻辑的好方法?现在我只是使用内置的not_if条件实现了安装。script"install_program"donot_if{File.exists?('/program')}interpreter"bash"user"root"cwd"/tmp"code 最佳答案 首先,如果您有办法托管内部包存储库,我通常建议您为目标平台构建native包,并使用package资源来管理它们,而不是从源代码构建。我知道这并不总是可用或可行,所以...使“./confi

ruby-on-rails - 如何使用 capistrano deploy 定位特定的提交 SHA

我想知道如何使用Capistrano在Git中针对特定的提交SHA进行部署?应该是这样的capdeploy--version=经过大量搜索似乎无法找到这个问题的答案。 最佳答案 对于Capistrano2.9到3.0:cap-Srevision=80655da8d80aaaf92ce5357e7828dc09adb00993deploy对于旧版本的Capistrano,您可以通过执行以下操作来部署特定的gitcommit/tree/branch/tag:cap-sbranch=80655da8d80aaaf92ce5357e7828