Использование git для выпуска в node.js - PullRequest
5 голосов
/ 11 августа 2011

Вот что я хотел бы сделать в концепции:

"Подцепить" node.js к определенному репозиторию Git, чтобы я мог сделать запрос, например / 84de7e8d8ce33 / foo, и сервер выполнит (при необходимости)) проверьте commit 84de7e8d8ce33, запустите другой файл node.js для только что извлеченных файлов и передайте «/ foo» на этот новый сервер.Конечно, главный сервер отслеживает, о каких коммитах он уже знает.

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

<script src="/84de7e8d8ce33/app.js"></script>

Мои вопросы:

  1. Насколько это плохая идея?
  2. Есть ли какой-то уровень техники?какая-нибудь библиотека или фреймворк, который уже делает это?
  3. Есть ли альтернатива?Каким-то образом у меня есть ветвь релиза, скажите node.js, какой коммит использовать, и отпустите его.
  4. Есть ли какой-то встроенный способ сохранения нескольких коммитов "извлеченным" (или, по крайней мере, видимым какобычные файлы каким-то образом) одновременно?

(у меня есть дополнительный вопрос о том, как сообщить мне, как менеджеру по выпуску, серверу тот факт, что 84de7e8d8ce33 теперь является активнымверсия. Прямо сейчас, я думаю, memcached, но я открыт для других предложений.)

1 Ответ

3 голосов
/ 11 августа 2011

Это вовсе не плохая идея.Сначала я попытался бы использовать https://github.com/libgit2/node-gitteh

Помимо симпатичного имени, оно

  • должно быть быстрее, чем просто выдаваться для git
  • имеет javascripty API

Я бы запустил его в отдельном процессе от веб-сервера, используя для связи узел redis и / или dnode.

Редактировать: Я нашел документы , перечисленные внизу README.Только после того, как я посмотрел на пример и поиграл с ним в узле repl!Это довольно мило.Я смог поковыряться и вытащить каплю из моего репо.Также он работает на .git, а не на рабочем дереве, поэтому вы можете иметь несколько возможных коммитов, не имея нескольких копий репо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...