我需要学习如何自动部署 nodejs 应用程序(MEAN 堆栈)。然而,所有的东西都在那里......
- 吞咽,
- 摩卡,
- 网页包,
- 浏览器化,
- 要求,
- 飞行计划,
- 詹金斯,
- 信号量CI...
我真的很困惑。执行此操作的标准方法是什么?
我需要学习如何自动部署 nodejs 应用程序(MEAN 堆栈)。然而,所有的东西都在那里......
我真的很困惑。执行此操作的标准方法是什么?
这是JS,伙计,没有标准的方法:)
要部署 NodeJS 应用程序,您实际上并不需要太多,例如,如果您部署到 Heroku,它只需从您设置的分支获取您的提交,然后运行npm install
并运行您在配置中编写的任何内容。
Angular 变得更复杂了,你通常需要打包它,编译 LESS 和做其他的技巧。
作为结果,我建议使用一些 MEAN 生成器,例如yeoman
https://github.com/angular-fullstack/generator-angular-fullstack来了解它是如何工作的,并且您可能可以在自己的项目中使用类似的东西。
我认为你应该看看Ansible
Ansible 是一个极其简单的 IT 自动化平台,可让您的应用程序和系统更易于部署查看github 存储库
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.
查看一些示例以摆脱这种情况。
对于测试用例运行、捆绑、缩小等预部署任务,集成某种 javascript 任务运行器,如Grunt