Это довольно распространенная потребность для кого-то, кто использует gitolite, и, кажется, немного трудно связать свободные концы, когда он не очень продвинутый пользователь (хотя это было для меня).
После стекового потокаи ссылки gitolite назад и вперед могут быть немного запутанными.Это мои выводы и путь, по которому я пошел, чтобы достичь этого.
Как уже упоминалось @VonC, создание ловушек для репозитория уже возможно, поскольку версия 3.5.3.1 ( ссылка на github))
Обновление / обновление Gitolite
Первое, что вы должны сделать, это обновить репозиторий Gitolite.Так что ssh на ваш сервер, на котором размещен gitolite, и перейдите в место, где установлен gitolite (обычно /home/git/gitolite
), как пользователь git (обычно git
)
Пример:
$ ssh myusername@devserver.com
$ sudo su - git
$ pwd
/home/git
$ cd gitolite
Тогда нам нужно обновить гитолит .Для этого сначала нам нужно обновить репозиторий gitolite
$ git pull
Затем мы должны повторить команду install (убедитесь, что вы используете те же аргументы, что и раньше)
$ ./install
И, наконец, снова запустите установку.
$ gitolite setup
Если это не сработает, вы, вероятно, не настроили исполняемый файл gitolite в вашем PATH
, так что вы можете сделать что-то вроде этого:
$ src / gitolite setup
Gitolite Settings (файл "RC")
Это была одна из частей, которая смутила меня больше всего, но в итоге получилось довольно просто.
Знаменитый файл "rc" находится в домашнем каталоге git /home/git/.gitolite.rc
.Там убедитесь, что у вас есть переменная с именем LOCAL_CODE
, вы должны увидеть что-то вроде этого в этом файле, если нет, добавьте его.
LOCAL_CODE => "$ENV{HOME}/.gitolite/local"
И в разделе «команды, чтобы включить функцию» вы должныубедитесь, что repo-specific-hooks
доступно, если нет, добавьте его.
ENABLE => [
# COMMANDS
# These are the commands enabled by default
'help',
'desc',
'info',
...,
...,
...,
'repo-specific-hooks'
...,
...,
...
]
Вот ссылка на документацию
Запись специфичных для репозитория хуков
Наконец, в вашем local gitolite-admin
репозитории создайте следующие каталоги hooks/repo-specific
в каталоге, который вы только что установили в переменной LOCAL_CODE
, например:
gitolite_admin/local/hooks/repo-specific
После этого вы можете фактически добавить свои скрипты хуков в это место и управлять ими через файл конфигурации gitolite, как указано в документации .Убедитесь, что скрипты исполняемые.
repo foo
RW+ = @all
option hook.post-receive = deploy
Опять же, я надеюсь, что это поможет некоторым из вас, ребята.
Приветствия!