У себя я делал так:
Был боевой сервер, например, prosto-tak.ru, и дев сервер - dev.prosto-tak.ru
Под каждого разраба заводил отдельный домен, вроде parotikov.dev.prosto-tak.ru
Затем, у разраба был доступ в панель управления (мы использовали vesta cp), где он мог поверх своего именного субдомена строить дальше иерархию: project1.parotikov.dev.prosto-tak.ru, project2.parotikov.dev.prosto-tak.ru
Дальше, если нужно еще детальнее, можно добавить версию релиза, название ветки, etc: feature.project1.parotikov.dev.prosto-tak.ru, service.project1.parotikov.dev.prosto-tak.ru
Да, выглядит немного избыточно, но стоит один раз всем объяснить эту доменную модель, пространство имен, так сказать, и все становится очень стройно.
Нагрузка по созданию собственных субдоменов ложилась на самого разраба, благо там делается все в 3 клика. Кому надо - тот и создает себе нужную структуру, а лишнего ничего у него не дублируется.
В разговоре вообще очень просто: говорит тебе Пупкин - открой сайт с веткой branch55 на третьем сервисе. И ты открываешь branch55.service3.project1.pupkin.dev.prosto-tak.ru. А локально у себя, чтоб каждый раз не вбивать длинный урл, можно и в hosts алиас повесить.
P.S: Но если это массово, то лучше какой-нибудь дирижер типа ansible с шаблонами использовать.