node.js - 来自 GitHub 的 DigitalOcean 上的简单 Node.js 应用程序部署

标签 node.js heroku digital-ocean

我的 Github 上有一个 node.js 应用程序。现在我使用 Heroku 来托管它,但我想尝试一下 DigitialOcean(每月 5 美元更实惠)。

我习惯使用 Heroku,我只需创建一个应用程序 > 将其连接到我的 github 帐户 > 从 master 分支部署 > 部署繁荣应用程序。

当我注册 DO 并开始探索时,部署我的应用程序的步骤似乎太多了。我四处寻找一种更简单的方法(类似于我在 Heroku 中遵循的方法),但所有博客和 YouTube 视频都会经历相同的繁琐过程。

我知道我很懒,但我只需要点击几下应用程序部署。有谁知道我可以通过 Github 在 DO 上部署应用程序的更好(更智能)的方法吗?

最佳答案

使用 Heroku 就不那么容易了。使用 Digital Ocean 或 Vultr 等更便宜的服务并且只需支付价格的一小部分(尤其是使用可以免费使用几个月的优惠券链接 - Digital OceanVultr )总是很诱人,但拥有自己的 VPS 意味着您需要自己管理。当您使用 Heroku 时,您所付出的代价就是简化该流程。但情况不一定那么糟糕。

这是一个关于如何执行此操作的很好的教程:

并查看此教程列表 - 搜索标题中带有“部署”的教程:

基本上,我在这里考虑的选项很少:

  1. 使用 git 进行半手动部署 - 您可以在 VPS 上安装 git 服务器,并在需要部署新版本时推送到该服务器

  2. 使用 git 自动部署 - 您可以向 CI 脚本添加部署过程,该过程将执行您在 (1) 中手动执行的操作,但在所有测试通过后

  3. 您可以使用 ssh 或自定义 API 从服务器上的 git 触发拉取

  4. 您可以在 CI 脚本中执行 (3) 操作

  5. 您可以在 GitHub 中添加自定义 Webhook 来通知您的服务器新版本,然后您的服务器可能会提取代码并重新启动

  6. 您可以在 CI 中添加自定义 Webhook,并执行与 (5) 中相同的操作

关于node.js - 来自 GitHub 的 DigitalOcean 上的简单 Node.js 应用程序部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43072453/

相关文章:

javascript - 尝试 POST 时无法从请求正文获取对象的值 [Node.js、MySQL]

linux - Socket.IO 在运行时是否 fork 或生成新进程?

ruby - 在我的 Rails 应用程序上运行 "heroku run rake db:migrate"时出现 YAML 语法错误

DigitalOcean 上的 Kubernetes 外部负载均衡器服务

html - 从nodejs后端发送回调到前端

node.js - 使用 FluentReports 添加多个表

ruby-on-rails - Heroku pgbackups :restore rebuild the database or just repopulate it?

heroku - Rails : application. css 不在 Assets 管道中

dns - 使用 Vesta CP 和 DigitalOcean 创建子域

node.js - 错误(断言错误 : "undefined" === "function") when deploying Meteor app