У меня есть репозиторий github, который я хочу нажать на герою node. Координация будет третьей. Поскольку я собираюсь делать это в больших масштабах, я хочу избежать необходимости загружать содержимое репо на 3-й хост. Как это сделать?
Push от github до heroku без загрузки репо
Ответ 1
Вы не можете вытащить прямо из Гитуба в Хероку.
Вам понадобится использовать третий хост для координации нажатия. Это можно было бы уволить из крюка после гибели Github.
Чтобы синхронизировать прямо, используйте что-то вроде:
git remote add github [email protected]:user/repo.git
git remote add heroku [email protected]:app.git
git push heroku refs/remotes/github/master:refs/heads/master
Ответ 2
Codeship.io делает это как услугу в настоящее время и автоматически настраивает соответствующие веб-узлы git в публичных или частных репозиториях github.
Есть еще несколько вариантов "непрерывной интеграции как службы" (CIAAS), но в целом они обходят проблему, которую вы конкретно представляете: веб-крючки должны попасть в сторонний сервис, что, в свою очередь, может инициировать процесс сборки heroku.
Эти хосты CIAAS выступают в качестве сторонней стороны и обычно предлагают бесплатный уровень для публичных проектов. Вы также можете запустить свой собственный, развернув сервер приема веб-крюка, который может как тянуть, так и нажимать git repos.
Ответ 3
Я не думаю, что вы можете напрямую нажать GitHub на другое удаленное репо.
Итак, если у вас много приложений для push, вы можете рассмотреть организацию, использующую подмодули, как в этом вопросе SO.
Вам все равно придется загружать репо, чтобы нажимать его на Heroku node, но по крайней мере вы можете контролировать, что тянуть/нажимать (и делать некоторую очистку между каждым нажатием).