2012-06-18 2 views
31

Я собрал мобильный стек разработки, который почти полностью использует Javascript на node.js. За исключением только SASS (предпочитают его МЕНЬШЕ) и Fabric. Я предпочитаю не загрязнять мой каталог разработки, и поскольку мне все равно нужно объединять и минимизировать JS и CSS, я думал, что могу использовать node.js для обслуживания моего кода.Есть ли инструмент развертывания, похожий на Fabric, написанный на JavaScript?

Я хотел бы уменьшить свою зависимость от Ruby и/или Python. Я не использую все функции Fabric, поэтому я надеюсь заменить его. Но я не мог найти какой-либо подобный инструмент, написанный в Javascript.

Все, что мне нужно, это:

  • Тяговое из репозитория Git.
  • Установите службы локально.
  • Минимизировать и объединить JS/CSS с вызовом require.js/SASS.
  • Выполнить testuite.
  • Передайте код через node.js для практического использования или тестирования с помощью пульсации.

Ткань уже может быть излишней, я использую ее только для своих веб-проектов Python, потому что необходимые серверы не работают на моей машине, но это не так. Какой был бы лучший способ справиться с этим без Fabric?

ответ

9

Я сам обдумывал тот же вопрос.

Самый перспективный прямой кандидат, который я нашел до сих пор, - это запуск (https://github.com/bengourley/launch). Однако он не обновлялся, как год, что делает меня немного подозрительным относительно его будущего статуса.

В absense заведомо хороших решений, я в конечном итоге решить все проблемы сборки/развертывания, поштучно следующим образом:

  • После нескольких проб и ошибок, я удалил node_modules из .gitignore. Одним из последствий является то, что вам не нужно устанавливать зависимости локально, удаляя второй шаг (try if reading this убеждает вас также).
    • Edit: я больше не делать этого и вместо того, чтобы держать node_modules в .gitignore. Просто убедитесь, что package.json пребывания уточненного (советы см "Managing Node.js Dependencies with Shrinkwrap")
  • Я в конечном итоге автоматизации обработки JS/CSS, пыление и набор тестов работает с grunt. Настоятельно рекомендуется.
  • Я ленивый, и сейчас я добавляю минерализованный материал в git (надеюсь, что в какой-то момент я это изменил).
    • Edit: Я больше не добавлять Минимизированные вещи в мерзавец, но вместо того, чтобы запустить grunt при развертывании, чтобы сделать минификацию

Поступая таким образом, я эффективно устранить некоторые из необходимости Ткань в целом, оставив только фактическое развертывание, которое необходимо решить:

  1. Лучшее решение (развертывание) - избежать использования вашего o wn и использовать готовые облачные решения, такие как Heroku или Nodejitsu
  2. В качестве альтернативы вы можете разместить свои собственные инструменты развертывания node.js. Например, вы можете установить Nodester на свои собственные серверы и использовать предоставленные API и инструменты.
  3. В ящике Linux очень легко писать однострочные, которые повторно развертывают приложение node.js, поэтому я не чувствую, что мне нужно использовать любые дополнительные инструменты (помимо bash) для этого.

Это, как говорится, я тоже был бы рад услышать о лучших решениях.

Редактировать: только что узнал о развертывании (https://github.com/visionmedia/deploy). Кажется очень перспективным. Вы тоже можете попробовать!

+1

Спасибо, [grunt] (https://github.com/cowboy/grunt) выглядит действительно интересным. Просто нашел [Джейк] (https://github.com/mde/jake), который кажется прекрасным, но хрюкать, кажется, легче понять и использовать. –

+1

О, верно! Джейк тоже выглядит хорошо. Похоже, что более ориентированный на CoffeeScript. Синтаксис кажется многословным без кофе, но я мог бы попытаться просто узнать мои варианты. – jsalonen

+1

CoffeeScript на самом деле в комплекте с Cake, который является Make/Rake/Jake для CoffeeScript. Не уверен, что он имеет одни и те же функции. Все еще ужасно подробный. –

4

stagecoach Проводит постановку и развертывание с поддержкой установки зависимостей и сценариев выскочки.

Here's a blog post о развертывании узла & монго использование дилижанса.

14

Flightplan выглядит очень интересным и вдохновлен Ткань. Его документация имеет обширные примеры и стоит проверить.

+2

Я долговременный пользователь ткани, и я просто попробовал это для проекта. Он отлично работает. – defrex

+1

Использует план полета на некоторое время сейчас ... Это очень просто в использовании. Не так полно, как capistrano, но проще реализовать. Вот моя конфигурация шаблона навсегда или выскочка: https://gist.github.com/learncodeacademy/35045e64d2bbe6eb14f9 –

1

Другой Javascript инструмент развертывания shipitjs

С их ридми:

Shipit является двигателем автоматизации и инструмент развертывания, написанные для узла/iojs.

Shipit был построен как альтернатива Capistrano для людей, которые не знают рубина, или кто испытал некоторые проблемы с ним. Если вы хотите писать задания на JavaScript и пользоваться экосистемой узлов, Shipit также для вас.

 Смежные вопросы

  • Нет связанных вопросов^_^