Панель управления деплоем на собственном сервере наподобие Heroku?
На данный момент у нас проект хостится на Heroku. Сам код на PHP-Laravel.
Есть 3 сервера: dev / staging / prod.
Есть 2 ветки в гите - dev / master - которые автоматически деплоятся на dev / staging.
Процесс деплоя можно смотреть в Heroku Dashboard.
Если на staging всё хорошо, то билд переносится на prod соответствующей кнопкой в Dashboard.
В случае проблем это сразу видно в Dashboard, также падает емейл на почту.
Есть возможность откатиться на предыдущую версию.
Собственно вопрос - хочется уйти от Heroku и перенести всё это на собственный сервер. Я так понимаю, все эти красивые билды и деплои правильно называются Continuos Integration? Есть ли какой-то софт, который можно развернуть на собственном сервере, чтобы наблюдать за процессом деплоя, иметь возможность откатиться и тому подобные вещи? Или не софт, а сторонние сервисы? Подскажите, в какую сторону копать?
Дополнение к правильному ответу Александр Карабанов :
это называется CI/CD и кроме упомянутых есть еще как минимум десяток сервисов и tools.
Но стоит учитывать, что "сделать как Heroku" можно, но непросто.
Если в Heroku все устраивает кроме цены, я бы поискал SaaS альтернативы вместо того чтобы делать самому.
В Heroku цена просто заоблачная. 3 dyno с 512МБ оперативки обходятся в $75/месяц. Тогда как за те же деньги можно купить на порядок более мощный сервер cloud или dedicated.
Причём в Heroku очень много ограничений из-за того, что у тебя нет прямого контроля над сервером. В реальном проекте это огромная головная боль. То что делается на собственном сервере в пару строчек, на Heroku придётся либо устанавливать плагин (часто платный), либо перестраивать работу приложения.
Если бы проект был только мой личный, я бы вообще без всякого CI/CD развернул бы сервер и админил по SSH. Но заказчик тоже хочет иметь возможность делать мелкие правки, деплоить и откатывать в случае чего без всяких терминалов.
Vitaly Karasik, дело в том, что например просто почитать логи за прошлый месяц - это уже платная услуга в Heroku, а уж за прошлый год - там ещё более дорогой тариф.
Если тебе нужен полноценный cron и очередь задач, то это ещё дополнительные dyno либо платные плагины.
Request Timeout строго 30 секунд и никак нельзя на него повлиять.
И много прочих ограничений. Так что не выйдет просто заплатить $75 и не париться. Придётся всё равно нанимать программиста, чтобы перестраивать приложение под heroku.