Jump to content

Настрока git-сервера на основе gitolite


Recommended Posts

Сразу хотелось бы заметить, что все делалось методом проб и ошибок, так что поправьте, если что. Однако все работает

1. Создаем пользователя

mkdir /opt/git
adduser -D -h /opt/git -s /opt/bin/sh git

2. Устанавливаем пакеты

opkg install git perl perlbase-essential perlbase-getopt perlbase-findbin perlbase-cwd perlbase-config perlbase-file perlbase-data perlbase-bytes perlbase-xsloader openssh-keygen perlbase-fcntl perlbase-io perlbase-symbol perlbase-selectsaver perlbase-errno perlbase-base

3. Создаем папку bin для установки gitolite

su - git
mkdir -p ~/bin

Добавляем ее в $PATH путем редактирования /opt/etc/profile

export PATH='/opt/git/bin:/opt/usr/sbin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'

Также скопировал /opt/root/.profile -> /opt/git/.profile После этого, на всякий случай, перезагрузил роутер

4. Устанавливаем gitolite

Клонируем репозиторий

git clone git://github.com/sitaramc/gitolite

на локальную машину и заменяем во всех файлах #!/usr/bin/perl на #!/opt/bin/perl , затем в процессе установки, детально описанном на странице

_http://gitolite.com/gitolite/install.html

перед выполнением

/opt/git/gitolite/install -ln /opt/git/bin

копируем с заменой отредактированные файлы из копии на локальной машине в папку /opt/git/gitolite

Далее мануал по gitolite в помощь
 

_http://gitolite.com/gitolite/

 

Link to comment
Share on other sites

  • 9 months later...

Отличная инструкция, но вот никак не поборю gitolite.

Подскажи пожалуйста, не было ли проблем с пушем в gitolite-admin репозиторий?

Я все поставил, настроил, на клиенте вытащил gitolite-admin, поправил конфиг, а запушить уже не могу.

$ git push
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 370 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
fatal: cannot run hooks/update: No such file or directory
remote: error: hook declined to update refs/heads/master
To gitolite:gitolite-admin
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'gitolite:gitolite-admin'

Перечитал все инструкции на их сайте и на стековерфлоу. Создал отдельные ключи для ssh юзера и для gitolite юзера. Единственное что нашел:

Quote

Try "git init --bare" in an empty directory and tell me if you see a 
.git/hooks directory in it. 

Assuming you don't, you'll have to fix that somehow.  Gitolite expects a 
'git init --bare' to create a hooks directory. 

И у меня действительно hooks папка не создается. Может в этом дело?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...