Локально обычно тестируют в контейнере, стабильную версию деплоют на сервер. Можно, опять же, контейнером.
Можно автоматизировать доставку кода на сервер, например, используя бесплатный репозиторий gitlab и gitlab ci.
Github так же предлагает несколько бесплатных способов тестить, собирать и деплоить небольшие проекты.