如何同步 Node js 应用程序、git 和 Heroku?

Posted

技术标签:

【中文标题】如何同步 Node js 应用程序、git 和 Heroku?【英文标题】:How can I sync a Node js app, git, and Heroku? 【发布时间】:2020-10-10 08:36:57 【问题描述】:

我有一个 Node.js 应用程序。我在 Heroku 上托管并运行它。 C:\projects\test 文件夹包含我的 Node.js 代码,例如 package.jsonnode_modules\、指向 git 存储库的 .git\ 文件夹和 Heroku Procfile

我希望能够使用 cmd 运行 Heroku 命令,但意识到它不知道 heroku git 信息在哪里,所以它返回 Couldn't find that app

我需要做什么才能从这个文件夹运行heroku in cmd?还是必须是heroku git 文件夹?

【问题讨论】:

您希望运行哪些Heroku 命令? heroku cert:add 一个 【参考方案1】:

我将从我通常在将我的 github 帐户/项目与 heroku 链接时所做的事情开始。

我首先在我的项目目录中使用以下命令在github上上传并创建一个新项目:

    Git 初始化 Git 添加。 git commit -m “header” git 远程(具体回购)

然后一旦上传到 git,执行以下操作以与 heroku 链接:

    heroku 登录 git push heroku master

在执行完所有这些任务(尤其是推送到 heroku master)之后,您应该能够(在我的情况下它有效)直接从终端中的项目目录运行 heroku 命令。

希望这是有益的。

【讨论】:

谢谢 - 你是对的。问题是,我没有登录 Heroku..! 如果我的回答适合您的问题,我们将不胜感激将其标记为已回答并投票赞成:) 很高兴我能提供帮助。【参考方案2】:

所有heroku CLI 命令都接受一个-a / --app 参数,告诉它要访问哪个应用程序e.g.:

heroku certs:add -a your-app-here CRT KEY

只要您提供该参数,您就可以从任何目录运行它。 (当然,这还是要经过认证和授权,可能需要运行heroku auth:login才能成功。)

【讨论】:

谢谢!没有登录。它应该返回一个错误!现在我得到You need to be running on either Hobby or Professional dynos to be able to use SNI SSL.。我真的必须向两家公司付费才能使用 SSL 吗?我已经支付了证书.. @de-playable,这是一个不同的问题,should be asked separately。这回答了您关于如何从任意目录运行heroku 的问题。 但是不,您不需要向两家公司付费才能使用 HTTPS。在 2020 年购买证书几乎没有意义。您可以在 foo.herokuapp.com 域上免费获得 HTTPS,而对于自定义域,您可以通过 Let's Encrypt 获得免费证书。在 Heroku 上执行此操作的最简单方法是通过 its ACM service,它包含在付费 dynos 中。如果你走这条路,你只需要付钱给一家公司(Heroku,为了一个爱好或更好的测功机)。 由于您已经为证书支付了不必要的费用,我想您可以尝试取回您的钱。如果你不能那样做,是的,我想你最终会付钱给两家公司来让它工作(如果你继续在 Heroku 上托管)。据我所知,您至少需要使用 hobby dynos 才能在自定义域上使用 SSL,无论是通过 ACM 还是自带证书。 好的,我会沿着 ACM 路径前进 - 但是,我仍然需要启动一个 HTTPS 节点 js 服务器,不是吗?我将在哪里获得证书?我已经通读了文档,他们没有提到任何特定于平台的细节。

以上是关于如何同步 Node js 应用程序、git 和 Heroku?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 docker 中的卷同步 node.js 工作区更改

node.js中实现同步操作的3种实现方法

使用 AMQP 和 Node.JS 进行实时数据同步

Node.js如何同步读取文件内容?

如何在 node.js 中捕获同步函数中的错误?

如何在 node.js 中将函数与 Promise 同步