Articles of heroku

Heroku + Github部署策略

我正在开发一个Web应用程序,在Github上托pipe源代码并在Heroku上运行应用程序。 一切正常,但我有问题,我不能包裹我的头。 在部署我的代码之前,我运行一些脚本来优化代码(缩小,连接文件等)。 heroku应用程序只使用应用程序的优化版本。 基本上,我有两个文件夹: dev和production 。 Dev包含我编写的源代码, production是由我的构build脚本(我使用grunt和requirejs)生成的。 目前,这两个文件夹都在我的Git仓库中,都被推送到Github和Heroku。 我更喜欢的只是在Github上dev ,而在Heroku上只production 。 我读了一些文章,介绍如何为Heroku设置不同的分支,如本博客所述 。 我可以设置一个生产分支,只有production文件夹在那里,同时保持dev文件夹到我的主分支? 或者我需要单独的存储库? 有没有人试过类似的东西? 我会认为这不是一个不寻常的事情。

将具有服务帐户的Firebase应用程序部署到Heroku(带有dotenv的环境variables)

我有一个使用Firebase服务帐户的节点应用程序。 我想部署到Heroku的应用程序,但我不想公开我的密钥。 我直接从公共github回购部署,所以我不想在部署中包含服务帐户文件。 我可以采取服务帐户json文件,使每个属性的环境variables,将这些variables添加到Heroku,并部署它。 一切都很好(在我的firebase应用上授权新的Heroku域之后),但有没有更好的方法来做到这一点? 这是有效的,但这样做很痛苦(复制和粘贴每个variables并移动它)。 我错过了一个更简单的方法来做到这一点? 这是我正在做的改变。 从这一行中,从文件中提取证书: admin.initializeApp({ credential: admin.credential.cert('./path/firebase-service-account.json'), databaseURL: "https://my-firebase-app.firebaseio.com" }); 对于这个从环境variables中引入所有相同的东西的对象: admin.initializeApp({ credential: admin.credential.cert({ "type": process.env.FIREBASE_TYPE, "project_id": process.env.FIREBASE_PROJECT_ID, "private_key_id": process.env.FIREBASE_PRIVATE_KEY_ID, "private_key": process.env.FIREBASE_PRIVATE_KEY, "client_email": process.env.FIREBASE_CLIENT_EMAIL, "client_id": process.env.FIREBASE_CLIENT_ID, "auth_uri": process.env.FIREBASE_AUTH_URI, "token_uri": process.env.FIREBASE_TOKEN_URI, "auth_provider_x509_cert_url": process.env.FIREBASE_AUTH_PROVIDER_X509_CERT_URL, "client_x509_cert_url": process.env.FIREBASE_CLIENT_X509_CERT_URL }), databaseURL: "https://my-firebase-app.firebaseio.com" }); 这是用Heroku的服务帐户部署Firebase应用程序的最佳做法吗? 我正在使用dotenv节点模块来完成这一点。

在Heroku上部署Nodejs无法为位于子文件夹中的静态文件提供服务

我正在部署一个使用Heroku的NodeJs应用程序。 一切工作正常,除了一个小问题提供静态文件。 我有以下configuration app.use(express.static(__dirname + '/htdocs')); 它工作正常,除非我尝试提供位于子文件夹中的静态文件。 www.example.com/bar.js //提供文件/htdocs/bar.js www.example.com/foo/bar.js //这找不到文件/htdocs/foo/bar.js 我忘记说,在我的本地环境一切正常,可能是与Heroku的东西,但我找不到原因。 有人有过这个问题吗? 解决scheme? 谢谢!

应用程序创build完成后,是否可以升级Heroku应用程序的buildpack?

我在heroku上有一个现有的node.js应用程序,我想通过提供0.6.7 buildpack来升级node.js版本。 是否有可能更新Heroku应用程序分配的buildpack? 如果没有,升级应用程序使用的builpack的build议path是什么? 如果我必须部署一个新的应用程序,我如何确保插件不会死? 谢谢, 马特

Heroku Node.js错误R10(引导超时) – > Web进程无法在启动60秒内绑定到$ PORT

我find了十几个解决快速供电的应用程序与设置端口收听。 但是我有一个不使用Express的应用程序,实际上并没有监听任何东西。 并且在成功运行60秒后,我得到一个Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch消息的Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 。 我如何解决它? 谢谢。

部署一个Sails.js应用程序到Heroku?

我经验有限的部署Node.js应用程序 – 我如何部署一个Sails.js应用程序到Heroku? 我已经heroku login ed和heroku create我的应用程序。

为什么Heroku无法检测到Node.js构build包?

我git克隆了一个Node.js应用程序(在package.json中指定的版本是4.1.2,而我的本地机器版本是6.2.2),并试图在Heroku上推git。 但它没有build立,并给出了这个错误: Failed to detect set buildpack https<span>:</span>//codon-buildpacks.s3.amazonaws&period;com/buildpacks/heroku/nodejs.tgz 现在我把buildpack设置为heroku / nodejs,我得到这个消息: Buildpack set. Next release on lit-badlands-92088 will use heroku/nodejs. Run git push heroku master to create a new release using this buildpack. 现在当我运行git push heroku master ,我又被告知: remote: —–> Failed to detect set buildpack https<span>: </span>//codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/nodejs.tgz remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure remote: remote: ! Push […]

Heroku雪松堆栈上的Node.js端口问题

我正在Node.js中运行一个基本的Express应用程序,并试图部署到Heroku。 该应用程序在本地正常工作,我相信我的设置与Heroku已经很好,直到启动服务器,我得到以下错误: 2011-09-21T16:42:36+00:00 heroku[web.1]: State changed from created to starting 2011-09-21T16:42:39+00:00 app[web.1]: Express server listening on port 3000 in production mode 2011-09-21T16:42:40+00:00 heroku[web.1]: Error R11 (Bad bind) -> Process bound to port 3000, should be 12810 (see environment variable PORT) 2011-09-21T16:42:40+00:00 heroku[web.1]: Stopping process with SIGKILL 2011-09-21T16:42:40+00:00 heroku[web.1]: Process exited 这是目前我所有在我的app.js app.listen(3000); 我也按照Heroku入门中所提到的来运行它。 $ heroku […]

Heroku + Cloudflare完全免费的SSL

尝试使用Cloudflares新的免费通用SSL在Heroku上获得完全免费的SSL 阅读这篇文章: http : //mikecoutermarsh.com/adding-ssl-to-heroku-with-cloudflare/ 这似乎表明现在Cloudflare可以免费提供SSL。 我采取的步骤: 使用Cloudflare设置我的DNS(免费帐户) 将我的域名转发到我的herokuapp(CNAME example-app.com – > example-app.herokuapp.com) 将Cloudflare SSL选项设置为“完全SSL” 将我的域添加到我的heroku应用程序 用这个快递中间件强制https: app.use(function(req, res, next) { if (req.headers['x-forwarded-proto'] != 'https') { res.redirect('https://' + req.headers.host + req.path); } else { return next(); } }); heroku域http://example-app.herokuapp.com正常工作,并redirect到https://example-app.herokuapp.com ,绿色锁和所有。 http://example-app.com和https://example-app.com都不起作用。 浏览器选项卡图标只是保持旋转,永远不会解决。 任何想法如何得到这个工作? 这甚至有可能吗? *更新 这看起来实际上是可能的。 从CloudFlare支持: 嗨比尔, 基本上,只要“来源”支持SSL连接,您就可以在CloudFlare中使用完全SSL。 西蒙 CloudFlare今天发布了这篇博文: https : //blog.cloudflare.com/universal-ssl-be-just-a-bit-more-patient/ 我的网站已经开始解决,但得到了“您的连接不是私人的”信息,就像在博客文章的“错误您可能会看到”部分。 […]

Webpack的后端?

我只是想知道,我开始使用Webpack进行一个新的项目,到目前为止工作正常。 我几乎会说我喜欢它比我之前使用的Grunt更好。 但现在我很困惑,我应该如何和我的Express后端使用它? 看,我正在创build一个前端(ReactJS)和后端(ExpressJS)的应用程序。 该应用程序将在Heroku上发布。 现在看起来我也应该使用ExpressJS的Webpack,通过一个命令(前端和后端)启动和运行应用程序。 但是写这篇博文的人似乎使用Webpack将所有的后端js文件捆绑在一起,这在我看来确实没有必要。 为什么要捆绑我的后端文件? 我想我只是想运行后端,观察我的后端文件进行更改,并将剩下的Webpackfunction用于前端。 你们如何捆绑前端,但同时运行后端nodejs部分? 还是有什么好的理由来捆绑Webpack的后端文件?