Скажем, вы хотите управлять своими частными репозиториями GIT для проекта/команды/компании.
Какие у вас варианты? GitHub очень удобно, как это Bitbucket , или даже ваша собственная установка Gitlab Анкет
Но есть место для более простых способов администрирования Ваш собственный Частные репозитории GIT, и сохранить Ваши источники Полностью под вашим контролем.
— Ты лил. Фрик. 😉
Гитолит маленький, простой и мощный.
Контроль доступа пользователя и создание репомирации мертвы и просто GIT Commit
& git push
прочь!
Это руководство покажет вам, как настроить свою собственную инфраструктуру GIT с GITOLITE для удобного хранилища и управления пользователями.
Читать дальше!
Что вам нужно для этого руководства?
- Публичный сервер где -то. Если вы этого не сделаете, вы можете получить VPS (Виртуальный частный сервер) от Линод , Digitalocean или аналогичные поставщики.
- Учетная запись с доступом к
Sudo
Анкет
Предположим, что ~/.ssh/config
с таким содержанием, как это:
Host git-server # This is the IP for your VPS HostName 123.123.123.123 Port 22 # This is the remote user User yolo
Во -первых, давайте войти на удаленную машину; тот, который вы хотите настроить GitoLite. Откройте терминал и SSH в него:
ssh git-server
Затем установите git
:
sudo apt install git
Теперь добавьте пользователя, который будет отвечать за управление репо и обеспечение правил контроля доступа, а затем отключить его доступ к пароля по соображениям безопасности:
sudo adduser git sudo passwd -l git
На вашей локальной машине откройте новый терминал и скопируйте свой открытый ключ на удаленную машину:
scp ~/.ssh/id_rsa.pub git-server:
Если успешно, у вас будет id_rsa.pub
Файл доступен на удаленной машине в $ Домой
каталог для удаленного Йоло
пользователь.
Пришло время создать $ Домой
каталог для git пользователь; Тогда мы переместим id_rsa.pub
Файл в /home/git/.ssh/yolo.pub
и отрегулировать некоторые разрешения и владение каталогами:
sudo mkdir -p /home/git/.ssh sudo mv ~/id_rsa.pub /home/git/.ssh/yolo.pub sudo chmod 700 /home/git/.ssh sudo chown -R git:git /home/git/
Давайте выдавать себя за git Пользователь, затем клонировать и установить гитолит:
sudo su git -l git clone https://github.com/sitaramc/gitolite ~/gitolite mkdir ~/bin ~/gitolite/install -to ~/bin
Выйдите из git Пользовательская оболочка и повторная логин, чтобы сделать команды, которые мы только что установили в ~/bin
Доступно для нас. Затем настройте гитолит с yolo.pub
Как ключ администратора:
exit sudo su git -l gitolite setup -pk ~/.ssh/yolo.pub exit exit
Выйдите из удаленной машины — вам нужно будет напечатать Выход
дважды, потому что вы глубине на два уровня ( yolo => git ).
- Debian Note
Если сценарии в ~/bin
Не подбирается автоматически, вам может потребоваться создать ~/.bash_profile
файл и изменить $ Path
Добавив ~/bin
к этому так:
export PATH=$PATH:~/bin
Ubuntu Выбирает сценарии в ~/bin
просто хорошо.
Теперь давайте клонируем Гитолит-Админ
Master Repo:
git clone git@git-server:gitolite-admin ~/gitolite-admin
Теперь вы можете создавать новые репозитории и предоставлять доступ пользователям, используя свои общедоступные ключи SSH!
Получите общественные ключи от пользователей, которые хотят получить доступ к GIT, и поместите их в ~/gitolite-admin/keydir
. Назовите их соответственно (например, tom.pub
а также Jerry.pub
) Поскольку эти имена — это те, которые вы собираетесь использовать для настройки управления доступом пользователя.
Новый репозиторий и доступ к пользователям
Чтобы создать новый репозиторий под названием Yolo-Project, дать себе разрешение на do_anything, _ Затем дайте Читать-Write доступ к Том и Джерри , Откройте ~/gitolite-admin/conf/gitolite.conf
файл и поместите эти строки в:
repo yolo-project RW+ = yolo RW = tom jerry
После этого вам понадобится Компет и push Эти изменения в удаленном Гитолит-Админ
Репо:
cd ~/gitolite-admin git add . git commit -m "Add new repo, add new keys, give access" git push
Вот и все, Гитолит позаботится о создании нового репозитория, а затем затворится к нему в соответствии с указанными правилами.
Клонирование нового репо
Это так же просто, как:
git clone git@git-server:yolo-project
Теперь вы можете добавить в него контент и использовать git
по-прежнему.
Загрузите существующий репозиторий
Что если у вас есть существующий проект GIT и вы хотите загрузить его вместо этого? Это также легко, CD
в существующий репозиторий и:
git remote add origin git@git-server:yolo-project
Проверьте это с помощью:
git remote -v
Наконец, нажмите свой Commits и отслеживание установки для Мастер
ответвляться:
git push --set-upstream origin master
Поздравляю, мы закончили!: D.
Теперь у вас есть полная инфраструктура для частных репозиториев GIT и простой способ управления ими и их пользователями.
Это просто просто GIT Commit
и git push
прочь!
Информация о правилах контроля доступа
Если вы хотите знать, к какому у вас есть репо, попробуйте с этим:
ssh git@git-server info
Оригинал: «https://dev.to/lobo_tuerto/how-to-setup-your-own-private-git-repositories-with-gitolite-k66»