Staging multiple site on one server under subdomains


I work for a website development company, and we use gitlab. At any time we might have a dozen or so websites under active development at one time. We have a VPS that we use for staging, with each website on a subdomain of our main staging URL.

Right now we build the sites on our local dev using vagrant and VVV. However when things are ready for client review we have to manually migrate the site from our local dev machines to the staging server. Then we go and move the database from our local dev to our staging server. It’s a big pain in the ass, and I would like to get things setup so we can just git push to staging.

Do any of you work in a similar setup and can point me in the right direction here?