2012-02-06 1 views
1

Я нашел несколько сообщений на SO, говорящих о развертывании веб-проектов с git.
Большинство из них не слишком недавно, но, кажется, есть link, которые обычно оцениваются.Веб-проект с git - правами доступа и группами

В этом небольшом учебном пособии предлагается использовать функциональность GIT_WORK_TREE, позволяющую отделить удаленное рабочее дерево от каталога веб-сервера.

Цель состоит в том, чтобы git push web из местного хранилища внести изменения непосредственно в производство.

Что мне интересно, как мне управлять моими пользователями/группами на удаленном сервере, чтобы разрешить развертывание.

В основном 2 вопроса:

  • Является ли this tutorial по-прежнему актуальна?
  • Если да, то какой пользователь/группа должны иметь каталог /var/www/my_project?

ответ

1

Да, учебное пособие должно работать, но помните, что/var/www/my_project должен быть доступен для записи пользователем (удаленным), который будет нажимать коммиты, так как крючки запускаются с тем же uid/gid.

В противном случае, если вам нужно больше людей, чтобы иметь возможность нажать на сайт, вам понадобятся они, чтобы использовать другого пользователя или использовать gitolite или аналогичные инструменты.

+0

Спасибо. Считаете ли вы, что это нормально, чтобы chown '/ var/www/my_project' в специальную группу, которую я предоставляю пользователям, которые должны публиковать сообщения? –

+0

Проблема заключается не в группе, а в вашей umask, если файлы созданы 644, независимо от того, какую группу вы выберете для своих пользователей, они не смогут изменять эти файлы. Лучше использовать для всех того же пользователя, например. создайте пользователя «git», возможно, с оболочкой/etc/passwd как git-shell и попросите других пользователей открыть свой открытый ssh ​​ключ, который вы сохраните в $ HOME/.ssh/authorized_keys этого пользователя git. Вы не потеряете авторство, поскольку оно не привязано к пользователю «толкателя». – mammadori

Смежные вопросы