В моем приложении Rails я пытаюсь запустить задачу gulp во время развертывания, которая добавляет файл css в каталог внутри каталога public
. В журнале развертывания я вижу, что задача выполняется успешно, но когда я нахожу SSH на сервере, я не вижу файл.Запустить команду в `before_migrate.rb` как пользователь с привилегиями sudo с AWS OpsWorks
[2016-09-24T01:35:02+00:00] INFO: Processing execute[create critical css] action run (/srv/www/toaster/releases/20160924013146/deploy/before_migrate.rb line 43)
[2016-09-24T01:35:03+00:00] INFO: execute[create critical css] ran successfully
В то время как я подключен к серверу через SSH и изменить пользователь к пользователю развертывания с sudo su deploy
, а затем выполнить задачу глотка, файл получает создать.
Что я делаю неправильно?
Линия в before_migrate
выглядит следующим образом ...
execute 'create critical css' do
user 'deploy'
cwd release_path
command 'gulp criticalCss'
end
Задача в моем gulpfile выглядит так ...
gulp.task('criticalCss', function() {
glob('./public/assets/theme_templates/v3/application-*.css', function(err, matches) {
var full_css = matches[0]
penthouse({
url : 'http://performance-site.s2.fanbread.com/blogs/performance-benchmark',
css : full_css,
width: 375,
height: 667
}, function(err, criticalCss) {
console.log(err)
fs.writeFile('./public/assets/theme_templates/v3/posts_show.css', criticalCss); // Write the contents to a jekyll include
});
});
});
Благодаря
Спасибо за ответ. По умолчанию OpsWorks запускает шеф-повар в режиме отладки. Вывод команды - это первый кодовый блок в моем вопросе, который на самом деле ничего не показывает. Я предполагаю, что если gulp не будет найден, это будет ошибкой с более полезным сообщением, намекающим на такое. В конце концов, я могу выполнить ssh в экземпляре и успешно выполнить «gulp criticalCSS» с успехом в качестве пользователя развертывания. Можете ли вы рассказать о том, почему вы не рекомендуете использовать поваренную книгу для развертывания? –
Ресурс 'deploy' был создан для соответствия структуре Capistrano. У этого есть больше сложности и движущихся частей, чем требуется, и в свою очередь очень хрупкий. – coderanger