节点networking应用程序自动部署到云计算机

我是CI / CD的全新产品,需要一些关于如何将小型Web应用程序部署到云计算机的指导。

我的Web应用程序是使用Webpack 2构build的。生成的文件通过Node Web服务器提供,并需要两个附加的Node Web服务器才能工作(后端API)。 所有三个Node web服务器都在同一个git仓库中,并且被相同的package.json文件覆盖。

每次我提交代码,都会触发Travis构build和testing代码。 当我的提交通过特拉维斯,我决定部署该应用程序时,我通过以下步骤

  • SSH到我的远程机器
  • 停止我在屏幕上运行的所有三个NodeJS Web服务器
  • git pull最近的变化
  • npm install来安装应用程序
  • npm run build生成运行生成命令生成的文件服务
  • 再次在屏幕上启动所有三个节点服务器

我想自动化这个过程,以便每个通过的提交被部署。 或者甚至更好,这样我就可以select在通过某个UI传递Travis之后部署哪个构build。

我知道从厨师到Docker有很多工具可以做到这一点。 我正在寻找一个相当简单的解决scheme,我愿意学习新事物。 我的云提供商目前是Linode,但我更喜欢云提供商无关紧要的解决scheme。 我真的试图find这样一个好的存在的问题,但是我很惊讶,我找不到一个。