Node.js的持续部署......有标准吗?

时间:2016-09-24 05:14:06

标签: node.js automation automated-tests build-automation automated-deployment

我需要学习如何自动部署nodejs应用程序(MEAN堆栈)。然而,有了所有的东西......

  • Gulp,
  • 摩卡,
  • Webpack,
  • Browserify,
  • 要求,
  • Flightplan,
  • 詹金斯,
  • SemaphoreCI ......

我真的很困惑。这样做的标准方法是什么?

2 个答案:

答案 0 :(得分:0)

通过Ansible

自动执行系统/服务器设置

我认为你应该看看Ansible

Ansible是一个极其简单的IT自动化平台,可让您的应用程序和系统更易于部署,请查看github repo

Ansible是一个简单的无代理工具,纯粹在ssh上运行。

它由一组角色组成,这些角色可以包含在主机的定义中。反过来,角色由任务组成

一个简单的任务如下:

//Download  and unpacking node js 
name: Download and unpack nodejs
unarchive: src={{nodejs_tarball_url}} dest={{nodejs_path}} copy=no

//Installing node-gyp on system 
name: Install node-gyp
npm: name=node-gyp global=yes executable={{nodejs_bin_path}}/npm state=present

// More task as per need for e.g setting up mongodb, setting redis etc. 

结帐examples以解决此问题。

预部署任务

对于预部署任务,如测试用例运行,捆绑,缩小等,集成某些javascript任务运行程序,如Grunt

持续集成和持续部署

  1. Circle Ci
  2. Jenkins

答案 1 :(得分:0)

这是JS,伙计,没有标准方式:)

要部署NodeJS应用程序,您真的不需要太多,例如,如果您部署到Heroku,它只是从您设置的分支获取提交,然后只运行npm install和您在配置中写道。

使用Angular它更复杂,你通常需要捆绑它,编译LESS并做其他技巧。

作为结果,我建议使用一些MEAN生成器,如yeoman https://github.com/angular-fullstack/generator-angular-fullstack,以了解它是如何工作的,并且可能,您可以在自己的项目中使用类似的东西。