Запуск задач Grunt во время развертывания Bluemix

У меня есть интересное приложение Node, которое я хотел бы перенести с Heroku на Bluemix. Это немного сложно, поскольку развертывание запускает различные задачи, запускаемые разделом моего файла package.js:

"scripts": {
  "start": "node app.js",
  "postinstall": "grunt heroku"
},

Задача ворчания запускает зависимые разговоры, найденные в моем файле Gruntfile.js, такие как извлечение пакетов Bower, минимизация изображений, браузер, перемещение, файлы, очистка и т. д.

Я предполагаю, что могу запускать задачи развертывания при отправке в Bluemix? Если да, будут ли они выполняться аналогичным образом (команды в разделе сценариев package.json) для запуска задач, определенных в моем Gruntfile.js?

В heroku весь мой репозиторий git будет реплицирован на их удаленный компьютер, так что там было все, а не только вывод запущенных скриптов для создания каталога dist, я полагаю, что в Bluemix будет то же самое?

Наконец, в моем файле пакета я бы определил версии npm и node:

"engines": {
  "npm": "2.5.1",
  "node": "0.12.0"
}

и Heroku гарантирует, что он работает с этой версией, специфичной для моего экземпляра. Это то же самое для Блюмикс?

Большое спасибо! Павел


person paultman    schedule 28.04.2015    source источник
comment
Спасибо, Дэн, за то, что расшифровал то, что я пытался сказать, и изложил это в более удобной для чтения форме :)   -  person paultman    schedule 28.04.2015


Ответы (1)


В Bluemix команда npm install запускается для установки ваших зависимостей. Это запустит вашу задачу grunt heroku в разделе postinstall. Обратите внимание, что ваш devDependencies не будет загружен. Если они требуются для вашей основной задачи, их, возможно, придется переместить в раздел dependencies.

Правильно, весь ваш репозиторий приложений, который вы отправили, будет реплицирован в Bluemix, аналогично Heroku.

Теперь вы можете указать узел и движок NPM, как они есть в вашем файле package.json.

Устарело. Конечно, вы можете указать движок узла, как в вашем примере. Однако версию NPM в настоящее время нельзя настроить, и вместо этого предоставляется то, что упаковано в среде выполнения Node.js.

person Sai Vennam    schedule 28.04.2015
comment
Отлично, это именно то, что я хотел узнать. Мое приложение отлично работает в Heroku с задачей heroku в моих задачах grunt, рад слышать, что в Bluemix все будет примерно так же. Большое спасибо за подтверждение этого! :) Вы не знаете, могу ли я просто нажать на удаленную конечную точку git, подобную Heroku? Я предполагаю, что я просто вхожу в систему с помощью инструмента cf и должен иметь возможность нажимать на пульт bluemix (который я бы определил). - person paultman; 28.04.2015
comment
Отправка и создание репозиториев для приложений Bluemix не интегрированы с инструментом cf. Вместо этого у вас есть несколько различных вариантов размещения кода в репозитории Git для Bluemix: 1) Перейдите к своему приложению на панели инструментов Bluemix и нажмите «Добавить Git». 2) Непосредственно создайте репозиторий кода на hub.jazz.net. Создав этот репозиторий git в IBM DevOps Services, вы можете либо использовать их WebIDE для редактирования своего кода, либо напрямую отправить его в предоставленный репозиторий git. Вы также можете настроить автоматическую сборку и развертывание в Bluemix! - person Sai Vennam; 28.04.2015