Chinaunix首页 | 论坛 | 博客
  • 博客访问: 60406
  • 博文数量: 11
  • 博客积分: 546
  • 博客等级: 中士
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-19 20:00
文章分类
文章存档

2010年(11)

分类: 嵌入式

2010-12-06 18:00:45


1,安装git
sudo apt-get install git

2,下载gitosis.git
cd ~/
git clone git://eagain.net/gitosis.git


3,创建git用户,并设置git家目录
#sudo adduser --system --shell /bin/sh --gecos ‘git version control’ --group --disabled-password --home /var/git git
sudo adduser --system --shell /bin/sh --group --disabled-password --home /var/git git

4,安装gitosis
cd ~/gitosis
sudo apt-get install python-setuptools
sudo python setup.py install

5,在管理员的机器上生成管理员的密钥,然后拷贝到服务器上。我直接用服务器作为管理员。
ssh-keygen -t rsa
回车使用默认id_rsa保存路径,然后输入密码,生成密钥文件于~/.ssh/id_rsa,公钥于~/.ssh/id_rsa.pub
mv ~/.ssh/id_rsa.pub /tmp/id_rsa.pub

6,初始化gitosis-admin.git库,将上一步id_rsa.pub的生成者作为管理员。
cd ~/gitosis
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
sudo chmod u+x /var/git/repositories/gitosis-admin.git/hooks/post-update

7,添加其他管理员或用户,由上一步所设置的管理员进行操作。
a) 从服务器得到gitosis-admin项目
mkdir ~/development/
cd ~/development/
git clone git@192.168.1.5:gitosis-admin.git
cd gitosis-admin
b) 按照第5步的方法创建其他管理员或用户的id_rsa.pub文件,并复制到gitosis-admin下的keydir,名字可以用 windsome@windsome-laptop.pub ,tommy@company-desktop.pub 等格式重命名。
我从其他工作机得到两个公钥文件 windsome@windsome-laptop.pub ,tommy@company-desktop.pub ,并用u盘拷贝到服务器家目录
cp windsome@windsome-laptop.pub ~/development/gitosis-admin/keydir/
cp tommy@company-desktop.pub ~/development/gitosis-admin/keydir/
c) 编辑gitosis.conf文件,分配用户组。我将 windsome@windsome-laptop.pub 设置为gitosis-admin的管理者,这样他就可以操作项目的添加删除,也即具有了管理员权限。另一个用户暂且不配置。空格作为分隔符。
[gitosis]

[group gitosis-admin]
writable = gitosis-admin
members = lancerserver@lancerserverLite windsome@windsome-laptop
d) 将改动提交。
git add gitosis.conf
git add keydir/windsome@windsome-laptop.pub
git commit
git push

8,至此,gitosis服务器搭建完成。现在其中有了2个管理员,一个为本机用户,一个为windsome。他们可以进行下一步的项目管理。

9,创建新项目,并提交服务器。需要由管理员用户操作。
a) 添加新的能操作此项目的用户,参照第7步即可。

b) 修改gitosis-admin,添加lancertech开发组,在writable中添加能操作的项目,此为DigitalSignage,在members中添加能操作这些项目的用户。
[gitosis]

[group gitosis-admin]
writable = gitosis-admin
members = lancerserver@lancerserverLite windsome@windsome-laptop

[group lancertech]
writable = DigitalSignage
members = windsome@windsome-laptop tommy@company-desktop

c) 提交修改。
git add .
git commit
git push

d) 添加DigitalSignage项目,由windsome进行。
mkdir DigitalSignage
cd DigitalSignage
git init
git remote add origin git@192.168.1.5:DigitalSignage.git
git add .
git commit -a -m "init version of DigitalSignage"
git push origin master

阅读(1225) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~