在EC2上部署代码的最佳实践

时间:2014-12-05 08:57:09

标签: deployment amazon-ec2 mean-stack

我有一个构建在MEAN堆栈上的Web应用程序。

部署代码的最佳做法是什么?我遇到了一些选择:

1)使用git。这实际上是一个“git pull'在EC2上,然后弹回所有服务器。这似乎是最简单的,但我确实注意到我的所有源代码都在EC2上。在EC2上我真正需要的是连接和缩小的.js / .css文件...我不需要所有的源代码。我遇到的另一个问题是在部署期间,我的CPU使用率激增,主要是由于npm(有时占用CPU使用率高达60-70%,偶尔会挂起)。

2)使用Grunt只打包我需要的东西,然后对EC2进行SSH或SCP,然后退回所有内容。这确保了我在EC2上只有我需要的东西,但感觉非常“牛仔”。方法

对这两个选项有何看法?我应该考虑第三种选择吗?

1 个答案:

答案 0 :(得分:0)

我认为,你应该使用选项2,但是你可以使用GIT代替ssh / scp。我们使用以下步骤部署到我们的生产服务器:

  • 首先使用Grunt打包东西
  • 然后将这些制作内容提交给单独的GIT Repo
  • 您可以在本地计算机和服务器计算机上创建挂钩以自动执行部署
  • 在本地计算机中,无论​​何时提交代码
  • ,都可以创建钩子以在所有服务器上部署代码
  • 在远程计算机中,无论​​何时推送任何代码,都可以创建post-receive hook以使用最新代码重新启动应用程序