我目前在一个项目下的EC2,亚马逊网络服务( Amazon Web Services )上有ReactJS + NodeJS/ExpressJS + Webpack,并希望在一个项目中立即将其部署在一起。
关于如何做到这一点,有什么建议?我做了研究,我只看过关于具体部署一个的教程,无论是ReactJS还是NodeJS。任何见解或线索都将非常感谢。
将接受/向上投票答案。提前谢谢你
发布于 2016-12-22 03:48:59
您不必“部署”ReactJS,它只是一个静态文件,或者像应用程序中的任何其他JS库一样的文件。你也不部署Webpack。Webpack应该在开发人员机器上运行(或者在CI/CD堆栈或构建系统中运行)。
至于NodeJS部分,只需使用Elastic Beanstalk。
发布于 2016-12-30 04:45:50
我不会将构建提交到源代码管理。我看到了很多,它可以让事情变得更容易,但你也可以忘记重新构建,因为你必须手动完成它,这会给你的repo增加很多臃肿。
我认为构建应该作为部署过程的一部分来运行。假设您使用的是git,您可以在远程存储库中添加脚本hooks/post-receive。当您推送到遥控器时,脚本将运行。这就是我做我的webpack构建的地方。
您可能希望查看https://github.com/git-deploy/git-deploy中的上下文,但我手动执行此操作。
在我的项目中,在部署机器上执行git --init --bare /var/git/myproject.git,然后在/var/git/hooks/post-receive中添加脚本。钩子将代码签出到/var/www/myproject中,运行构建,该构建将填充/var/www/myproject/build。然后,它删除旧的/var/www/myproject/public并将build重命名为public。完成了。
发布于 2016-12-22 07:30:01
我来自更多的操作背景,我想说如果你的目标是保持站点尽可能的正常运行,那么使用Packer来生成AMI,使用CloudFormation来构建Application Load Balancer (ELB的更新的、更便宜的兄弟),在AutoScalingGroup的前面来保持EC2实例的正常运行。
https://stackoverflow.com/questions/41270623
复制相似问题