Я хочу запускать Grunt или Gulp при развертывании приложения в Amazon OpsWorks. По умолчанию уровень Node.js OpsWorks запускает npm install, но не gulp, и я не знаю, как писать собственные рецепты: есть ли другое решение?
Использование Grunt или Gulp с OpsWorks
Ответы (2)
Нет, вы должны написать рецепт.
Даже уровень Node.js OpsWorks устанавливает npm по рецепту:
opsworks-cookbooks/deploy/recipes/nodejs.rb(https://github.com/aws/opsworks-cookbooks/blob/master-chef-11.10/deploy/recipes/nodejs.rb#L20 для Chef 11.10), который гласит:
opsworks_nodejs do
deploy_data deploy
app application
end
который определяется в:
opsworks-cookbooks/deploy/definitions/opsworks_nodejs.rb (https://github.com/aws/opsworks-cookbooks/blob/master-chef-11.10/deploy/definitions/opsworks_nodejs.rb#L9 для Chef 11.10) и делает:
node[:dependencies][:npms].each do |npm, version|
execute "/usr/local/bin/npm install #{npm}" do
cwd "#{deploy[:deploy_to]}/current"
end
end
person
Diego Milán
schedule
22.10.2014
Альтернативой является создание Gulp из ожидаемого OpsWorks файла, то есть server.js
:
var child_process = require( "child_process" );
child_process.spawn( "./node_modules/gulp/bin/gulp.js",
[ "main" ].concat( process.argv.slice( 2 ) ), {
stdio: "inherit"
}
);
а затем запустите настоящий основной файл (например, index.js
) из Gulp.
person
ehmicky
schedule
04.03.2015