gitolite安裝詳解-CentOS

 
服務端A、客戶端B
服務端安裝 gitolite 客戶端 安裝 gitolite-admin

服務端與客戶端 都安裝  git
yum install perl openssh git

1 客戶端創建gitolite管理員 gitAdmin
useradd gitAdmin
passwd gitAdmin
su - gitAdmin
mkdir .ssh
ssh-keygen -f .ssh/gitAdmin
上傳gitAdmin.pub 到 服務端A 的用戶 git 目錄下

2 服務端創建git用戶並安裝 gitolite
useradd git
passwd git
su - git
mkdir bin
git clone https://github.com/sitaramc/gitolite.git
./gitolite/install --to /home/git/bin/
bin/gitolite setup -pk gitAdmin.pub # 安裝gitolite-admin

3 客戶端clone gitolite-admin
su - gitAdmin
ssh -i .ssh/gitAdmin [email protected] # 採用ssh訪問關鍵就這步,測試是否通過
vi .ssh/config # 配置訪問服務器別名
加入內容:
host git
user git
hostname XX.XX.XX.XX
port 22
identityfile ~/.ssh/gitAdmin

chmod 600 .ssh/config  #
ssh -i .ssh/gitAdmin [email protected]  # 再次測試 config 是否起效
git clone git:gitolite-admin  # 把gitolite 轉到客戶端

4 gitolite 管理
創建 git 使用用戶及項目配置
4.1 創建 git 訪問的 key
su - gitAdmin
mkdir keys
ssh-keygen -f keys/tank
cp keys/tank.pub gitolite-admin/keydir/
cd gitolite-admin
vi conf/gitolite.conf
內容加入:
@java = tank
repo blog   //定義個組,多個人員,空格隔開。組最好都放到頂部,集中好管理 
     RW+ = @java
# end

git add.    
git status -s
git config --global user.name "tank"
git config --global user.email "[email protected]"
git commit -m "add user tank by tank.pub and create a repo blog for it"
git push origin master

測試,方式有2:
 
1 git
su - gitAdmin
ssh -i keys/tank [email protected]
git clone git:blog
cd blog
echo "hi ,git " >> test.txt
git add .
git status -s
git commit -m "Init Repo"
git log --oneline
git push origin master

2 Tortoisegit
獲取 tank 私鑰 通過 PuTTYgen 轉成 tank.ppk
clone [email protected]:blog.git

一臺配置gitolite 服務器
gitAdmin --> gitolite-admin
git  --> gitolite

useradd git
passwd git

useradd gitAdmin
passwd gitAdmin

su - gitAdmin
mkdir .ssh
ssh-keygen -f .ssh/gitAdmin
cp .ssh/gitAdmin.pub  /tmp/gitAdmin.pub

exit
su - git
cp /tmp/gitAdmin.pub gitAdmin.pub
mkdir bin
git clone https://github.com/sitaramc/gitolite.git
./gitolite/install --to /home/git/bin/
bin/gitolite setup -pk gitAdmin.pub # 安裝gitolite-admin

exit
su - gitAdmin
ssh -i .ssh/gitAdmin [email protected]
vi .ssh/config # 配置訪問服務器別名
加入內容:
host git
user git
hostname XX.XX.XX.XX
port 22
identityfile ~/.ssh/gitAdmin

chmod 600 .ssh/config  #
ssh -i .ssh/gitAdmin [email protected]  # 再次測試 config 是否起效
git clone git:gitolite-admin  # 把gitolite 轉到客戶端

exit
mkdir .ssh
ssh-keygen -f .ssh/tank
cp .ssh/tank.pub /tmp/
su - gitAdmin
cd gitolite-admin
cp /tmp/tank.pub keydir/
vi conf/gitolite.conf
內容加入:
@java = tank
repo blog   //定義個組,多個人員,空格隔開。組最好都放到頂部,集中好管理 
     RW+ = @java
# end
git add .    
git status -s
git config --global user.name "tank"
git config --global user.email "[email protected]"
git commit -m "add user tank by tank.pub and create a repo blog for it"
git push origin master

exit
ssh -i .ssh/tank [email protected]
拷貝 .ssh/tank到本地使用吧!

注:exit 後爲 root

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章