Я бы сделал это с правами группы.
Веб-корень должен быть / var / www / your-app / current
/ var / www / your-app / должен быть доступен для записи группой, к которой принадлежат все лица, выполняющие развертывание.
настроить сценарии развертывания таким образом, чтобы они записывали в каталог с именем / var / www / your-app /> timestamp <, где timestamp - текущая временная метка. </p>
/ var / www / your-app / current является символической ссылкой, и когда вы успешно скопировали все файлы в новый каталог, вы обновляете цель символической ссылки, чтобы она указывала на созданный вами каталог.
Таким образом, каждый может развернуть, и вы можете увидеть, кто какую версию развернул.
Это также делает развертывание атомарным, поэтому ничто не сломается, если вы потеряете сетевое соединение в середине развертывания.
Поскольку вы не будете удалять старые каталоги, вы можете легко выполнить откат до состояния «последний удачный», если вам удастся внести какую-то ошибку.