2012年6月20日

在Ubuntu 建立Git server with Gitolite

Ubuntu 12.04
Git package: gitolite 2.x

Admin local machine準備工作
建立SSH Key
ssh-keygen -t rsa -f my_account
或是使用之前建立的~/.ssh/id_rsa.pub
把public key丟到server
rsync -uva --rsh='ssh -i mykey.pem' ~/.ssh/id_rsa.pub ubuntu@server:/tmp #mykey.pem is an example for amazon ec2

登入server開始安裝gitolite
sudo apt-get install git-core sudo apt-get install gitolite mv /tmp/id_rsa.pub /tmp/my_account.pub
建立使用者 "git" 就是我們的git admin user
sudo adduser \ --system \ --shell /bin/bash \ --gecos 'git version control' \ --group \ --disabled-password \ --home /home/git \ git
設定新使用者path
sudo su git echo "PATH=$HOME/bin:$PATH" >> ~/.bashrc
跑gitolite setup command

gl-setup /tmp/my_account.pub

如果需要gitweb 此時可以把$REPO_UMASK 設定為0027
安裝完成,調整server config和add user
回local machine
git clone git@server:gitolite-admin.git
這裡如果有permission問題就是ssh key沒有設定好
抓回來的gitolite-admin就是git server設定資料夾
新增使用者就是把使用者產生的public key丟到gitolite-admin/keydir/後上傳
cd gitolite-admin cp /tmp/john.pub keydir/john.pub git add keydir/john.pub git commit -m 'add user john' git push

建立repo
cd gitolite-admin vim conf/gitolite.conf 把testing改成要的repo名稱後上傳

如果想要進一步學習Git 操作可以閱讀版本控制使用Git



參考資料
http://blog.longwin.com.tw/2011/03/linux-gitolite-git-server-2011/
http://www.countableset.ch/blog/blog/2012/04/29/ubuntu-12-dot-04-installing-gitolite-and-gitweb/
http://blog.crboy.net/