Deployment на виртуальный сервер из Git

Приветствую.

Есть виртуальный сервер с десятком сайтов под разными пользователями. Управляется через ISPManager.
Необходимо запихнуть некоторые сайты в Git репозитории для удобной совместной работы.

Git установлен; настроен пользователь с SSH доступом git:git; создана папка /var/git под bare репозитории. Далее, соответственно, нужно: создать репозиторий, клонировать разработчикам и в папку с веб-сервером. И тут возникает вопрос:

Сайт работает из-под конкретного и отдельного пользователя (например, user), он является владельцем файлов, через него обеспечивается доступ к ftp. К терминалу этот пользователь доступа не имеет.

Bare репозиторий я обновляю через SSH и пользователя git, соответственно при вызове pull (через hook) файлы создаются от его имени.

Как быть в такой ситуации? В идеале делать pull через user, но у него нет терминала.
Возможно, нужно решать через группы, но я не очень понимаю их логику.
  • Вопрос задан
  • 4554 просмотра
Пригласить эксперта
Ответы на вопрос 2
@nick4fake
По хуку через sudo вызываем скрипт, который подменяет права и обновляет сорцы. В sudoers добавляем разрешение на один (и только на него) файл. Важно: в этот файл нельзя давать писать гиту! Владелец скрипта — рут, но права на чтение всем. Почему? Если дать писать — можно выполнять любые команды. Если не дать читать — выполнить не выйдет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы