在Amazon OpsWorks上部署应用程序时,我想触发Grunt或Gulp。
默认情况下,OpsWorks的Node.js层运行npm install,但不执行gulp,而且我不知道如何编写自定义配方:还有其他解决方案吗?

最佳答案

不,你必须写一个食谱。

甚至OpsWorks的Node.js层也通过以下配方安装npm:

opsworks-cookbooks / deploy / recipes / nodejs.rb(Chef 11.10的https://github.com/aws/opsworks-cookbooks/blob/master-chef-11.10/deploy/recipes/nodejs.rb#L20)显示为:

opsworks_nodejs do
    deploy_data deploy
    app application
end

定义在:

opsworks-cookbooks /部署/定义/ opsworks_nodejs.rb(Chef 11.10的https://github.com/aws/opsworks-cookbooks/blob/master-chef-11.10/deploy/definitions/opsworks_nodejs.rb#L9)执行以下操作:
node[:dependencies][:npms].each do |npm, version|
    execute "/usr/local/bin/npm install #{npm}" do
        cwd "#{deploy[:deploy_to]}/current"
    end
end

08-07 23:15