[node.js] Как развернуть узловое приложение, которое использует grunt для heroku



Answers

Похоже, что это будет в значительной степени решено, когда API-функции Heroku Platorm API и его release включены в магистраль. В этот момент вы можете создать свой код локально (или на сервере ci), упаковать его и отправить его в герою через вызов API и отпустить его оттуда.

Это все еще в бета-периоде и было объявлено только 19 декабря 2013 года.

https://devcenter.heroku.com/articles/platform-api-deploying-slugs

Я никогда не был очень доволен тем, сколько людей, похоже, было в порядке с проверкой вашего сгенерированного кода на git или NPM postinstall hook. :(

Плюс от философской позиции, делать сборку во время выпуска - это просто еще одна потенциальная ошибка.

Просто для удовольствия : так как это еще не завершено, вот скрипт bash, который я собрал вместе, вы можете использовать в настоящее время для создания своего кода в ветке развертывания, его фиксации, развертывания в геройку и последующего удаления ветви развертывания. (Я действительно не поклонник сценариев развертывания bash, поэтому я с нетерпением жду добавления API платформы)

#!/bin/bash
set -e 

# Delete current deploy branch
git branch -D deploy
# Create new deploy branch based on master
git checkout -b deploy
# Grunt comands to build our site
grunt build:production
# the dist/ directory is in my .gitignore, so forcibly add it
git add -f dist/
git commit -m "Deploying to Heroku"
# Push it up to heroku, the -f ensures that heroku won't complain
git push heroku -f deploy:master
# Switch it back to master
git checkout master
Question

Я использую grunt, а также grunt плагины, такие как grunt-contrib-copy , grunt-contrib-mincss (которые перечислены как зависимости npm для моего приложения).

Также я не npm_modules папку npm_modules и npm_modules папку, где все сгенерированные файлы. И я не могу понять, как создать мое приложение (у меня есть команда grunt build ) после развертывания и настройки моего сервера (он уже ищет public папку).

Я видел некоторые вещи, такие как grunt-heroku-deploy , но мне кажется, что мне плохое предложение совершить до загрузки. Может быть, есть нежные решения ... Любые мысли?




Ознакомьтесь с этим руководством: https://medium.com/p/c227cb1ddc56 . В нем объясняется, как можно развернуть приложение Grunt на Heroku с помощью настраиваемого buildpack.




Heroku buildpack отлично работает для меня. Качественный товар.




Это сообщение специфично для Rails, но я не понимаю, почему вы не можете использовать его с какой-либо внутренней структурой и просто поменяйте Ruby buildpack тем, что вы используете.

Решение в основном заключается в использовании нескольких buildpacks, и у вас есть Node / Grunt buildpack для запуска grunt build для вас прямо на Heroku.

Важно отметить, что это решение не проверяет артефакты сборки в управлении версиями. (Ура!!!)

http://www.angularonrails.com/deploy-angular-rails-single-page-application-heroku/




Related