0
Подними gitlab-runner на своей VDS (через docker проще всего), зарегистрируй его с shell-экзекьютором, и в .gitlab-ci.yml пиши шаги деплоя через rsync или scp. Если сервак один и без докера, можно вообще раннер завести как пользователя и пушить напрямую — главное ключи доступа нормально закинуть в CI/CD переменные.