为什么要在服务器上构建 MEAN 应用程序?

Why build a MEAN app on the server?

我的问题更多是关于战略而不是实际实施。

基本上我想知道为什么我们要在服务器上构建我们的 MEAN 应用程序?通过构建,我的意思是获取组件(npm install && bower install)并执行所有连接和缩小操作。

我正在尝试创建我的构建系统,直到现在我一直在使用 John Papa 的构建系统版本,但我的构建在服务器上花费的时间越来越长。那么只在本地构建所有内容并将其部署到服务器是否有意义?还是我遗漏了什么?

谢谢

构建不应在 运行 时间发生。您部分正确,提前构建,而不是部署创建的工件。

但关键的想法是持续集成到位。意思是构建不在本地计算机上的服务器,它从 SCM 获取代码,构建它,运行 测试,创建可部署的工件并将其存储在某个工件存储库(例如 npm 注册表)中。

如果你更进一步,你还可以自动将工件部署到非 PROD 环境中,那么你就开始深入研究 持续交付 space.

如果此构建和部署管道在每次提交时都将工件安装到 PROD 中,那么您正在运行 持续部署

编辑 - 对评论的反应:

主要思想是让它连续。意思是,完整构建会定期启动,最好是每 commit/git 次推送

如果这是在您的本地计算机上配置的并且您是一个人的商店,那可能没问题。但是当我在空闲时间玩各种项目时,我发现每次提交都可能占用我本地机器的资源密集型,而将此责任留给某些第三方服务(尤其是免费时)会很方便。

CI 服务器有很多在线解决方案。 我使用成功 http://codeship.com and http://drone.io. http://cloudbees.com 给你托管的詹金斯。对于开源项目,它们是免费的。

如果你的项目不是开源的,你需要花一些钱,但对于一个人的项目来说应该很便宜。