Для размещения нашего приложения мы используем два Linode: один для производства и один для подготовки.
Я хотел бы настроить его так, чтобы при отправке кода в development
ветку нашего репозитория Git он автоматически развертывался на промежуточном сервере. А при отправке кода в ветку master
он автоматически развертывался на нашем производственном сервере.
Я видел пару сценариев, похожих наGitHubHookкоторые используют функцию GitHub Service Hooks, но я не могу найти примеров, где master
и development
развертываются на разных серверах полностью (а не просто в разных подпапках одного и того же сервера).
Какие варианты мне доступны? Любой ответ, который может указать мне правильное направление, был бы очень признателен!
Я могу прояснить вопрос, если нужно :)
решение1
Я настоятельно рекомендую инвестировать в систему CI/Build, такую как Jenkins или Atlassian Bamboo.
Bamboo — это хороший инструмент для DevOps, который легко решит вашу проблему. Он следит за вашими репозиториями на предмет коммитов и может запускать автоматизированные сборки, модульные тесты и развертывания. Вы можете настраивать планы сборки и задачи развертывания для нескольких ветвей.