Я ищу рекомендации, как автоматизировать / упростить развертывание из репозитория git (github) в службу хостинга. Хостинг поддерживает доступ по FTP (уф) / SSH / SFTP.
Есть ли какие-нибудь хорошие инструменты для развертывания новых ревизий нажатием кнопки? Я знаю, что написать этот сценарий несложно, но когда вы начинаете думать о таких вещах, как откат и несколько сайтов, он становится настолько сложным, что я бы предпочел не изобретать колесо заново.
Если вы не хотите устанавливать git на удаленном (хостинговом) сервере, есть несколько неплохих вариантов:
Я предпочитаю второй вариант, потому что он совмещает функции отслеживания версий и развертывания.
Я также видел, как люди, у которых на удаленном сервере установлен git, использовали задание cron для запуска git pull каждые несколько часов. Это лучше всего работает, если у вас есть ветка для живого завершенного кода и ветка для новых функций и т. Д.
Обновить:
На самом деле это приложение под названием Deploy, с которым интегрируется CodeBase (оба созданы одной командой).
я обнаружил Пагодабокс быть самым простым репо, а также хостом для разработки и бесплатным для основных учетных записей.
Я бы попробовал создать репозиторий git в такой структуре каталогов, как:
~/website/
.git/
public_html/
public_html2/
Затем просто потяните нужным образом разные ревизии. Этот метод также защищает вашу папку .git от того, что посетители могут искать. Я не могу сказать больше, не зная подробностей.
Посмотри на Webistrano, который представляет собой веб-интерфейс для управления Capistrano развертывания. Он позволяет управлять проектами и их этапами, такими как тестирование, производство и подготовка, с различными настройками. Затем эти этапы можно развернуть с помощью Capistrano через Webistrano.
Мы используем его в течение нескольких лет, развертывая его из репозитория Subversion, но он также поддерживает Git. Поддерживаются откаты, развертывание на нескольких серверах и т. Д.
Если вы все еще ищете решение для автоматизации развертывания, проверьте Deployplace. Он похож на DeployHQ, но намного более мощный и поддерживает развертывание сложных приложений.
Deployplace все еще находится в стадии бета-тестирования, но вы можете запросить ранний доступ.
Надеюсь это поможет,