node.js - 部署到heroku后如何运行脚本

标签 node.js heroku deployment

我在node.js中有一个应用程序,它依赖于环境变量。我对代码进行了一些更改,现在应该在部署后更改此变量之一。我不想手动执行此操作。自动执行此操作的最佳实践是什么?

我想在部署后运行一些脚本可能是解决方案,但我只想运行此脚本一次(通过这一特定更改)。

我唯一的想法是,我应该有一个脚本来检查(每次部署后)某个目录是否有另一个脚本要运行,然后运行它并删除它。但我怎样才能实现这一目标呢?

最佳答案

解决此问题的最佳方法是使用 Heroku Toolbelt设置环境变量 as described here :

heroku config:set GITHUB_USERNAME=joesmith

然后,您可以使用以下语法在 Node.js 应用程序中引用这些变量:

var dbUsername = process.env.DB_USERNAME;

假设您设置了一个 DB_USERNAME 变量,如下所示:

heroku config:set DB_USERNAME=myAppUserName

我想确保在未设置环境变量的情况下有后备,您可以这样实现:

var dbUsername = process.env.DB_USERNAME || 'fallbackUsername';
// The string after || will be used if the process.env.DB_USERNAME variable is undefined (not set)

关于node.js - 部署到heroku后如何运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28984104/

相关文章:

php - Yii2 Url::remember() 是如何工作的?

java - 如何从另一个 jar 运行一个 jar 文件

deployment - Azure Cloud Deploy 不断回收

javascript - 我想编写一个异步 JSON 联系人,它将覆盖我的 data.json 文件的内容

heroku - Heroku 与 Cloud SQL 匹配吗?

node.js - Angular SSL 证书和 key ——Ng 服务根目录

heroku - 在工作进程上设置 Heroku 日志排出?

google-app-engine - 部署 App Engine 应用程序时出现错误消息 "service cloudbuilt.googleapis.com is not for consumer..."

javascript - Typescript with Angular2 - 针对 ES5 会产生错误?

javascript - TCP异常断开如何处理?