Articles of heroku

将带React组件的Ruby on Rails项目部署到Heroku

我正在尝试部署一个Ruby on Rails应用程序,其中一个Node.js前端到Heroku 。 我越来越: 这是我的Procfile: web:bundle exec thin start -p $PORT 这是我的package.json: { "name": "collectize", "version": "1.0.0", "description": "[Heroku link][heroku]", "main": "index.js", "directories": { "doc": "docs", "test": "test" }, "engines": { "node": "4.1.1", "npm": "2.1.x" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "postinstall": "./node_modules/.bin/webpack" "start": "node ./app/assets/javascripts/bundle.js" }, "repository": […]

同步机制在本地机器上完美工作,但在Heroku上删除所有video

我有一个启动时运行的机制,将删除任何孤立的数据。 它遍历video和检查的mongodb集合,以确保它可以将db中的logging匹配到磁盘上相应的文件。 如果它发现一个孤儿logging它删除它。 然后翻转目录,确保所有find的文件在db中都有匹配的logging。 当我在本地机器上运行它时,它完美地工作。 但是,每次我部署到heroku和我的dyno重新启动,整个'video'集合被删除。 在Heroku中创buildvideo后,我做了一些基本的testing,它在数据库中,可供下载。 我的GUESS是Heroku不喜欢fs.access的东西。 任何帮助或见解将不胜感激。 walkVideos: function() { // First let's lookup videos and make sure there is a directory for them. If not, delete it from the db. Video.find().exec(function(err, result) { if (err) { console.log(err); return null; } if (result.length === 0) { console.log('No videos found in db'); return null; […]

Heroku查看应用程序configuration和日志(与生产configuration/日志logging)

我正在调查我的Heroku评论应用程序的一些问题。 看来,从Bash,没有办法访问configuration(环境variables)或日志logging。 如果我运行: heroku logs –tail 这只是回来与生产应用程序的日志(这是有道理的,因为似乎没有一种方法来保持范围在审查应用程序)。 我可以从Heroku仪表板中看到Review App日志,但是即使这样看起来也有些偏差,因为随后的刷新会忽略来自日志的不同行(这就是为什么我只是想从Bash中看到它们)。 另外,如果我这样做: heroku config 它返回预期的configuration值(即DATABASE_URL ),但是我不确定这是否仅用于生产。 例如,从审查应用程序运行这个: console.log("process.env.PORT: " + process.env.PORT); console.log("process.env.DATABASE_URL: " + process.env.DATABASE_URL); console.log("process.env.PAPERTRAIL_API_TOKEN: " + process.env.PAPERTRAIL_API_TOKEN); PORT正在返回一个值,但是DATABASE_URL和PAPERTRAIL_API_TOKEN返回undefined ,即使这些都在heroku config 。 所以我的问题是: 1)如何从Bash(或Heroku仪表板以外的其他可靠方法)查看Review App的日志? 2)“评论应用程序”和“生产”之间的configuration值是否有所不同?如果是这样,我如何configuration“评论应用程序”?

在Heroku上部署AngularJs + webpack + gulp

我有一个与webpack和gulp的AngularJs应用程序。 它build立在https://github.com/AngularClass/NG6-starter之上,我想在Heroku.com上部署它。 从构build日志看起来好像一切正​​常,当我尝试访问Web应用程序时,我收到以下消息: 从Heroku应用程序日志: 2016-07-25T11:48:27.455165 + 00:00 app [web.1]:npm ERR! 或者,如果这不可用,您可以通过以下方式获取他们的信息: 2016-07-25T11:48:27.455164 + 00:00 app [web.1]:npm ERR! npm错误ng6-starter 2016-07-25T11:48:27.462393 + 00:00 app [web.1]: 2016-07-25T11:48:27.462658 + 00:00 app [web.1]:npm ERR! 请包括以下任何支持请求的文件: 2016-07-25T11:48:27.455166 + 00:00 app [web.1]:npm ERR! npm所有者ls ng6-starter 2016-07-25T11:48:27.455163 + 00:00 app [web.1]:npm ERR! 吞噬服务 2016-07-25T11:50:18.830449 + 00:00 heroku [router]:at = error code = H10 […]

创build一个用于logging统计信息的heroku服务器时,节点cron vs节点时间表

我正在尝试创build一个Heroku服务器,每天从早上6点到下午5点logging不同的统计信息,然后在服务器输出上以arraysforms显示在午夜收集的数据。 我怎么去做这个? 为了创build在每天每小时的顶部触发并存储该数据的事件,我应该使用节点cron还是节点时间表?

我可以在Heroku上使用npm private github依赖关系吗?

我试图推送一个Node.js应用程序到Heroku。 该应用程序使用npm来获取在package.json中指定的私人github存储库,像这样… "dependencies": { "my-private-dep": "github:my-org/my-repo" } 由于github主机密钥不在容器known_hosts文件中,构build在npm install阶段失败。 remote: npm ERR! Host key verification failed. 这是SSH的预期行为。 Heroku是否为此提供解决方法? 例如,使用相同buildpack的 dokku有一个主机密钥插件 ,它会在每次构build之前将主机密钥注入到容器中,从而解决此问题。 Heroku有类似的解决scheme吗?

将nodejs / mongoose部署到heroku

这是我在Heroku的第一次尝试。 我能够在heroku上“部署成功”,但是当访问我的应用时,它说“ 应用程序失败” 。 我遵循这个指南: https : //scotch.io/tutorials/use-mongodb-with-a-node-application-on-heroku 我觉得棘手的是因为我使用的是Mongoose,它可能与URI没有很好的关系。 我也使用mlab插件。 这是我的后台设置: var request = require('request'); var app = express(); var mongoCredentialss = require('/mongo_credentialss.json'); var conn = mongoose.connection; var path = require('path'); // connect to the database mongoose.connect('mongodb://' + mongoCredentials.username + ':' + mongoCredentialss.password + '@ds012345.mlab.com:12345/mydatabase-db'); mongoose.Promise = Promise; app.listen(3000, function() { console.log('Listening on 3000…'); }); […]

问题部署环回到heroku

我没有问题,以前部署到heroku,但几个推的掌握后,我开始在terminal上看到这个错误,当我做git推heroku主: remote: 400557 silly vacuum-fs removing /tmp/build_73cfd27afe73fd280337c3fd2cd3c9bf/vendor/node/bin/slc remote: 400558 silly vacuum-fs quitting because other entries in /tmp/build_73cfd27afe73fd280337c3fd2cd3c9bf/vendor/node/bin remote: 400559 info postuninstall strongloop@6.0.1 remote: 400560 silly gentlyRm /tmp/build_73cfd27afe73fd280337c3fd2cd3c9bf/vendor/node/lib/node_modules/strongloop is being purged from base /tmp/build_73cfd27afe73fd280337c3fd2cd3c9bf/vendor/node remote: 400561 verbose gentlyRm don't care about contents; nuking /tmp/build_73cfd27afe73fd280337c3fd2cd3c9bf/vendor/node/lib/node_modules/strongloop remote: 400562 silly vacuum-fs purging /tmp/build_73cfd27afe73fd280337c3fd2cd3c9bf/vendor/node/lib/node_modules/strongloop remote: 400563 silly vacuum-fs quitting because […]

了解如何通过Node.js和Server Sent Events使用Redis

我的项目使用Nodejs作为代理服务器与外部API进行通信。 API通过Redis发送产品更新(pub / sub); 代理服务器处理消息并通过SSE(服务器发送事件)将其发送给客户端。 这是我第一次使用Redis和SSE,在网上寻找教程似乎很容易实现,我做到了。 在客户端,我刚刚创build了一个EventSource ,一旦我收到更新,我会用它做一些事情: // Client Side var source = new EventSource('/redis'); // /redis is path to proxy server source.addEventListener('items', handleItemsCallback, false); source.addEventListener('users', handleUsersCallback, false); source.addEventListener('customers', handleCustomersCallback, false); // Function sample… function handleItemsCallback (msg) { // Do something with msg… } 在代理服务器中,我创build了一个路由到/redis的控制器来处理Redis消息: exports.redisUpdates = function (req, res) { // Redis Authentication […]

如何更改在heroku nodejs仪表板中的时区?

我想知道你们中的任何一个人是否有过更改heroku仪表板中的时区的经验。 我听说有2种方法。 将其中一个configurationvariables(在设置中)设置为TZ,如: 键: TZ 论据: "America/Los_Angeles" 或者把它放在一个nodejs脚本中: proccess.env.tz = "America/Los_Angeles" 有什么我应该做的不同来改变在Heroku和/或nodeJS的应用程序的时间? 非常感谢!