Tag: 部署

Heroku在git push上部署“预编译资产失败”

我们使用Heroku fork命令克隆我们的生产Rails 3应用程序进行一些测试。 这很成功。 我们现在正尝试通过标准的heroku git push deploy将更改推送到新的分叉应用程序。 我们得到“预编译资产失败”。 并且每次尝试都“推送被拒绝,无法编译Ruby应用程序”错误。 这个精确的仓库用于更新我们的生产应用程序,没有任何问题。 你能指导我们如何解决这个问题吗?

Rails需要RubyGems> = 0.9.4。 请安装RubyGems

我正在使用Rails 2.1.0(来自gem )部署到slicehost上的Ubuntu slice 如果我尝试mongrel_rails start或脚本/服务器,我会收到此错误: Rails requires RubyGems >= 0.9.4. Please install RubyGems 当我键入gem -v我安装了1.2.0版本。 关于要修复什么的快速提示?

找到你所在的部署机器代码(Rails)

我的rails应用程序部署到多台计算机上。 我需要每台机器运行不同的cron作业(如果它们都运行这将是一场灾难)。 我如何告诉我的脚本当前在哪台机器上? 我正在使用随时随地的gem,我正在考虑在schedule.rb中添加条件 例: 我的deploy / production.rb role :memcache, “123.compute-1.amazonaws.com” role :web, “456.compute-1.amazonaws.com” role :db, “789.amazonaws.com” role :misc, “789.amazonaws.com” 我需要做什么: if machine is db, email report every day on db capacity if machine is xxx, do xxx…

在capistrano部署期间键入错误:安装

我花了大约三个星期试图追查这个错误,所以请原谅我,如果这是一个愚蠢的问题,但我完全失去了。 我正在努力弄清楚为什么我不能部署这个应用程序。 当我尝试部署时出现类型错误:setup and deploy:check with capistrano,我无法弄清楚它可能来自哪里。 我认为这可能是我在设置我的ssh键时犯的错误。 但是,当我通过命令行ssh到服务器时,ssh密钥设置显然正常工作。 我正在使用ruby-1.9.2-p290,Rails 3.1.3,rvm 1.10.2,capistrano 2.5.2,Mac OS 10.6.8,我正在部署到运行phusion乘客的朋友服务器。 到目前为止,我们已经尝试切换到ruby 3.1,然后回到1.9.2,重新安装rvm,重新安装phusion乘客,删除和重新创建gemsets等。 预先感谢您提供的任何帮助! 我的整个项目现在已经搁置了太久了! 如果有任何进一步的信息有用,请告诉我。 谢谢! 以下是我运行deploy时发生的情况:使用我的项目文件夹中的capistrano进行设置: $ cap deploy:setup *执行`deploy:setup’*执行“mkdir -p /usr/local/www/sites/myapp.nullpointer.ca/public/> /usr/local/www/sites/myapp.nullpointer.ca / public / releases> /usr/local/www/sites/myapp.nullpointer.ca/public/shared> /usr/local/www/sites/myapp.nullpointer.ca/public/shared/system> / usr / local / www / sites / myapp.nullpointer.ca / public / shared / log> /usr/local/www/sites/myapp.nullpointer.ca/public/shared/pids&& chmod g + […]

cap使用admin而不是ec2-user

我正在尝试为我的ROR网站做一个“封装ec2onrails:setup”到EC2实例(亚马逊图像),但无论我做什么,身份validation都会一直要求我输入密码。 我在这个和/或其他论坛上尝试了几乎所有我读过的东西: 将公钥从〜/ .ssh复制到ec2-user @_。sa-east-1.compute.amazonaws.com:/ home / ec2-user / .ssh / authorized_keys2(或authorized_keys) 使用Amazon Management Console生成私钥,然后将公钥从服务器复制到我的计算机 使用ssh-add -l添加任何这些键 使用ssh-keychain生成新密钥 使用我机器中已有的公钥/私钥组(id_rsa&id_rsa.pub) 按照上述^^约定命名键 chmod 400为〜/ .ssh中的键 将键移动到〜/ .ec2 设置像这里所述的环境变量 笔记: 使用ssh和AWS .pem密钥连接到服务器工作正常 我在“ssh_options”中设置“keys”值并不重要,Capistrano似乎总是忽略它。 但是,它不会忽略ssh-add -l中列出的键 以下是我尝试设置关键路径的方法 set :ssh_options, {:keys => [“/Users/dalef/.ssh/pk”]} 这是我最新测试的输出代码,使用详细输出 Damians-MacBook-Pro:test dalef$ cap ec2onrails:setup [Deprecation Warning] This API has changed, please hook `deploy:create_symlink` instead of `deploy:symlink`. […]

关于heroku部署的错误

因此我正在通过heroku部署我的代码,但最近在访问该网站时遇到了“抱歉但出了问题”的错误。 不完全确定这个Ive的原因回来并尝试使用’heroku rake db:reset命令’(可能不是逐字逐句)但我有点困惑,如何解决这个问题。 2012-08-11T23:30:00+00:00 heroku[run.1]: Awaiting client 2012-08-11T23:30:00+00:00 heroku[run.1]: Starting process with command `bundle exec rake db:rollback` 2012-08-11T23:30:01+00:00 heroku[run.1]: State changed from starting to up 2012-08-11T23:30:06+00:00 heroku[run.1]: Process exited with status 0 2012-08-11T23:30:06+00:00 heroku[run.1]: State changed from up to complete 2012-08-11T23:30:17+00:00 heroku[run.1]: Awaiting client 2012-08-11T23:30:17+00:00 heroku[run.1]: Starting process with command `bundle exec rake db:migrate` […]

在部署到Heroku时,为什么Travis无法连接使用Redis cache_store?

我在我的Rails应用程序中使用Redis缓存: config.cache_store = :redis_store, redis_url 当我将我的Rails应用程序直接推送到Heroku时,它已成功部署。 使用Travis时,Heroku部署步骤失败,因为资产预编译尝试连接到Redis。 Running: rake assets:precompile rake aborted! ArgumentError: invalid uri scheme ” /tmp/build_7c5f167bf750cb2986dbb9c3510ea11e/vendor/bundle/ruby/2.1.0/gems/redis-3.2.0/lib/redis/client.rb:390:in `_parse_options’ 我尝试了各种各样的事情:使用rake任务覆盖RedisStore方法,将cache_store实例化移动到初始化阶段,使用Docker而不是sudo,更改Heroku构建策略和其他travis.yml配置等。 我不想在本地预编译,我宁愿不改变缓存解决方案。 在雪松-14堆栈上运行的许多其他应用程序使用非常类似的设置,因此问题似乎有点特殊。 有关如何解决此Travis + Heroku部署问题的任何建议吗?

rbenv问题:您的Ruby版本是1.9.3,但您的Gemfile指定为2.2.0

我在unicorn启动脚本中设置Ruby版本时遇到问题。 当我在调试模式下运行启动脚本时,我有以下输出。 vagrant@vagrant-ubuntu-trusty-64:~$ sudo sh -x /etc/init.d/unicorn start + set -e + USAGE=Usage: /etc/init.d/unicorn + USER=vagrant + APP_NAME=my_app + APP_ROOT=/vagrant + RAILS_ENV=production + export RBENV_ROOT=/home/vagrant/.rbenv + export PATH=/home/vagrant/.rbenv/bin:/home/vagrant/.rbenv/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + SET_RUBY=cd /vagrant && rbenv rehash && rbenv local 2.2.0 + CMD=cd /vagrant && rbenv rehash && rbenv local 2.2.0;bundle exec unicorn -c config/unicorn.rb -E production -D […]

我无法使用守护进程gem运行我的Rails应用程序

我想在我的Rails项目中使用Daemons gem,所以我可以使用Monit轻松监视它,这个gem将允许我创建PID并使用诸如start和stop之类的命令。 无论如何,似乎我不能以某种方式使用它与rails,我创建一个文件,并将其命名为admin: require ‘rubygems’ require ‘daemons’ ROOT_PATH = File.expand_path(“#{File.dirname __FILE__}/../”) require “#{ROOT_PATH}/config/environment” Daemons.run(“#{ROOT_PATH}/script/rails” , :dir_mode => :system, :log_output => true ) 当我尝试运行它时: bundle exec ./bin/admin run — s 我收到此错误: /Users/info/.rvm/gems/ruby-1.9.3-p286/gems/rake-0.8.7/lib/rake/alt_system.rb:32: Use RbConfig instead of obsolete and deprecated Config. => Booting WEBrick => Rails 3.0.5 application starting in development on http://0.0.0.0:3000 => Call with -d […]

马拉松的短暂任务

在此之前让我说我是Mesosphere堆栈的新手。 我正在尝试将现有的Rails应用程序部署迁移到Mesos,到目前为止我已经成功了,但是目前我正处于运行迁移和种子的过程中(通过Rake任务)并且我没有看到很好的方法来获取它完成,因为这些任务是短暂的,他们不匹配马拉松的想法。 我该怎么办?