Tag: heroku

使用Rails secrets.yml的逐步说明,在部署到Heroku时不会将密钥暴露给公共仓库

我使用的是Rails 4.1.1和ruby 2.0.0 我目前忽略了我的secretts.yml文件到我的gitign for github。 secrets.yml development: secret_key_base: numb3r57ndl3tt3r5 test: secret_key_base: differentnumbersandletters13531515 production: secret_key_base: 如果此生产密钥是动态的,它从何处读取? 我们在哪里提供这些信息? 如果没有到github那么这些信息如何到达heroku? 我的heroku应用程序设置中已经有一个秘密密钥环境变量。 我认为它是在我使用heroku_secrets gem https://github.com/alexpeattie/heroku_secrets运行rake评论rake heroku:secrets RAILS_ENV=production 有人可以解释概念步骤,以及如何正确利用secrets.yml而不暴露公钥的秘密密钥的实际步骤? 如果您还可以为其他API添加另一个密钥,那么也会非常感激。 我想了解解释步骤中发生的事情,而不是“做这个,做这个,做这个”。 此外,如果有代码,请指定应该放入哪个文件,而不是仅仅提供代码,并假设读者只根据代码知道它的位置( 严厉看看heroku指南编写者 ) 谢谢! =]

你如何在铁轨中保密秘密?

我对rails非常陌生,但我有一些使用PHP和其他语言编程的经验。 我真的很喜欢rails,我正在为我的公司开发一个应用程序,但我仍然不完全理解secrets.yml文件如何与git和heroku一起工作。 我知道秘密用于身份validation,但我还不清楚如何在通过git部署到heroku时保密。 第一个问题是,我真的需要保密我的开发和测试秘密吗? Rails自动将生产开发秘密设置为环境秘密(我仍然不完全理解),但是如果人们知道我的开发和测试秘密是什么,为什么会这么重要? 其次,什么是一个很好的资源,以更好地理解使用secrets.yml文件与git一起使用? rails指南似乎没有很好地使用它(只有一段专门用于secrets.yml),这似乎是一个非常重要的主题,可能会导致应用程序中的严重安全漏洞。 最后,其他人如何保护自己的秘密? 看看github上的几个示例应用程序,我注意到大多数人似乎没有采取任何措施将秘密文件保存在.gitignore中。 这只是一种疏忽,还是因为它不像我认为的那样严重的安全问题? 我感谢任何帮助。 我一直在研究这个特定的问题,并没有真正得到任何全面的解决方案。 我想向我的公司展示我的项目并解释使用git这样的版本控制系统的优势,但我也希望该应用程序足够安全,以确保它能够保证我公司的数据安全。

Rails 4 – 如何在开发中使用sqlite3和使用Heroku生成PostgreSQL

我正在尝试部署到Heroku但不能,因为默认的sqlite3服务器仍然存在。 检测到Heroku不支持的sqlite3 gem。 https://devcenter.heroku.com/articles/sqlite3 在另一个使用Rails 3.2.13的教程中,我能够使用sqlite3作为dev db和Postgres作为生产db。 Gemfile在Rails 4中看起来有所不同,但我已将其修改为具有以下内容: group :development do # Use sqlite3 as the database for Active Record gem ‘sqlite3’ end group :production do gem ‘pg’ end 然后我更改了我的database.yml文件,以便生产部分看起来像这样: production: adapter: postgresql database: my_production_database pool: 5 timeout: 5000 然后我运行了bundle install和rake db:create和rake db:migrate但仍然无法推送到Heroku。 所以我尝试了rake db:drop以及rake db:create和rake db:migrate但仍然收到相同的错误消息。 我错过了什么吗? 我还需要做些什么来确保我将Postgres作为我的生产数据库并且能够使用Heroku?

使用Rails应用程序桥接一个简单的Node.js和Socket.io聊天应用程序(在Heroku上)

我有一个在Heroku上运行的基本Node.js和Socket.io聊天应用程序,我想要集成到我的主rails网站。 我知道这样做的方法是有两个独立的Heroku应用程序 – 一个用于rails,一个用于Node.js. 它似乎并不像将客户端html从节点应用程序移动到rails应用程序那样简单(在’io.connect();’中为其提供其他应用程序的URL)。 聊天应用服务器似乎自动调用客户端index.html自己的应用程序,并且不允许外部源连接到它。 删除执行此操作的代码(在下面标记)不会使其工作。 我是Node.js和Socket.io的新手,我希望这对于专业人士来说可能是一个相对简单的修复。 我相信我在这里的function适用于Liam Kaufman的优秀rails / node.js / socket.io示例 – 他的node.js服务器代码在这里: https : //github.com/liamks/Chatty-Node-Server/斑点/主/聊天server.js 我试过嘲笑我的应用程序的代码就像他的代码,但还没有能够使它工作。 他似乎使用’http’服务器,而我使用’快速’服务器 – 我想知道这是否相关。 任何帮助将不胜感激。 更新 :好的,所以奇怪的转变事件,感谢redhotvengeance的回复下面我已经有了这个工作 – 服务器在heroku和我的客户端html和javascript连接到它。 太棒了 – 下面的代码。 但问题是,客户端html文件仅在Rails应用程序之外才会连接!! 即在我的桌面上! 我把它放在rails应用程序的公共/文件夹或我本地主机的视图中的那一刻,我什么都没得到! 这毫无意义。 我检查它不是因为我的资产管道中的任何其他随机错误的javascript冲突只是创建一个新的rails应用程序并将html文件放在公共/文件夹中 – 再没有 – 只是一个无法连接的死html页面。 有谁知道这里可能会发生什么? Rails是否有一些安全function可以阻止连接到外部服务器或什么? 更新2 :我被告知这与“同源政策”有关,我遇到了麻烦。 它有什么办法吗? 似乎利亚姆没有这个问题。 客户: var socket = io.connect(‘http://calm-sands-3826.herokuapp.com’); // on connection to […]

在Rails / Heroku上对Postgres数据库的意外SQL查询

我正在使用NewRelic向我的一个Rails应用程序发出一个非常长的请求,发现一些看起来完全是外来的SQL查询占用了相当长的时间。 我已经谷歌了,但我空洞地说出它们是什么,更不用说我是否可以防止它们发生。 SELECT COUNT(*) FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind in (?, ?) AND c.relname = ? AND n.nspname = ANY (current_schemas(false)) …和… SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE […]

从git存储库中删除重复的数据库迁移

我正在尝试将一个rails应用程序部署到Heroku,我遇到了一些基本的git问题。 我对这一切都很陌生 – rails,git,heroku – 所以我担心我迷失在可能是一个相当基本的概念上。 我已经将应用程序推送到Heroku,但是当我迁移数据库($ heroku rake db:migrate)时,我不断收到以下错误: rake aborted! Multiple migrations have the name CreateFavorites 检查我的github存储库,果然,有两个迁移: 20101007030431_create_favorites.rb 20101012173735_create_favorites.rb 第一个文件 – 20101007030431_create_favorites.rb – 在我的本地应用程序中不存在,但在我提交后它仍然在github存储库中。 如何删除此文件并使我的存储库和本地应用程序同步? 提前致谢。

在不同的Rails应用程序之间共享ActiveRecord模型和数据的最佳方式?

我有几个rails应用程序将使用相同的核心模型和数据集,例如: 应用 开发商 分类 每个应用程序都建立在这个核心数据之上,并以不同的方式使用它。 例如,我可能在另一个应用程序中有这样的东西: 活动 用户 应用(共享) 开发人员(共享) 分类(共享) 在它们之间共享模型和数据的最佳方式是什么? 应用程序,开发人员和类别数据对于每个应用程序都是相同的,因此我不想在每个应用程序的数据库中复制数据。 编辑:我正在考虑几个可能的解决方案: Rails引擎(可以解决不同应用程序中的重复模型问题,但不会解决共享数据问题) 使用ActiveResource访问核心数据(解决共享数据,但不解决共享模型问题)

在Rails 3中为delayed_job自动扩展工作者

我一直在使用collectiveidea的delayed_job分叉作为我的Rails 3应用程序中的一个gem,它运行正常。 我现在正在寻找自动测量工作者的解决方案,特别是Heroku。 我试试过pedro的fork,但是因为它是为Rails 2编写的,所以使用它会抛出许多关于弃用方法的错误和警告,我无法让它成功运行。 是否有自动扩展工作者的Rails 3 delayed_job工作解决方案?

是否可以使用Ruby 1.9.3在Heroku上运行我的Rails应用程序? 如果是这样,怎么样?

我试过这个提示: https : //github.com/thoughtbot/laptop/pull/14#issuecomment-3192270 。 在部署我看到 —–> Using RUBY_VERSION: ruby-1.9.3-p0 但我的日志显示环境变量不受尊重 INFO ruby 1.9.2 (2011-07-09) [x86_64-linux] 接受Hack​​y /实验解决方案! 编辑:我在雪松堆上。

每次推送到heroku,图像都没有显示,回形针

这是我的情况。 我正在使用paperclip让用户上传图片。 它做得很好,一切都很好。 然后,我把它推到了heroku。 对于妈妈,我可以看到用户上传的所有图片。 但是,每次进行新的提交并再次推送到heroku时,我之前的所有图像都消失了。 好像没有文件了,无法加载它。 所以,在这里我的想法是:每当我推送到heroku服务器时,本地的图像文件是否已上传到heroku服务器? 我为它研究了我的问题,我真的不明白他们对heroku的实际说法,我不知道是不是我的问题。 Heroku有一个只读文件系统。 这意味着Paperclip无法将上传的文件保存到Heroku中的任何位置。 如果您希望能够将文件上载到Heroku上托管的应用程序,则必须将文件作为二进制blob存储在数据库中,或者必须使用单独的服务来存储文件。 如果您正在寻找单独的服务,Paperclip内置支持与Amazon S3集成。 我发现亚马逊S3需要信用卡才能注册,如果我没有信用卡,那我就不能使用他们的服务了? 任何细节建议和解释都表示赞赏。谢谢