在AWS Elastic Beanstalk上编译较少的文件并缩小node.js项目中的js文件

时间:2014-01-21 00:25:37

标签: node.js amazon-web-services gruntjs elastic-beanstalk

我正在使用Eb命令行界面将node.js项目部署到AWS Elastic Beanstalk。我正在使用git进行版本控制。所以我运行部署的命令就是'git aws.push'。 在本地,我使用grunt从较少的文件编译css文件,并缩小和cmobine js文件。

我不想在我的git存储库中包含* .min.css文件或* .min.js文件,而是希望在部署后在AWS上重新编译它们。 有没有办法做到这一点?也许用.ebextensions钩子或什么?

1 个答案:

答案 0 :(得分:1)

我不熟悉grunt,但我想你需要做的是在弹性beanstalk上安装nodejs和grunt,然后在设置容器后运行你的grunt命令。

在诸如.ebextensions/grunt.config的ebextensions挂钩中,您可以执行以下操作:

commands:
  01-install-nodejs-npm:
    command: "yum install -y --enablerepo=epel nodejs npm"
  02-install-grunt:
    command: "npm install -g grunt-cli"

container_commands:
  01-compilecss-minifyjs:
    command: "grunt build mytask"
    leader_only: true

命令将确保安装nodejs,npm和grunt。 container_commands是从您的存储库的主目录中执行的,因此您的grunt构建的“源”文件应该可以从那里获得。

再次 - 我不和grunt一起工作,也不知道这是否真的有效,但我希望无论如何都有帮助。