Posts Tagged ‘gitosis’

gitosis安装都OK后,以及管理人员在本地已经配置好了gitosis.conf文件,管理人员要将生成的公钥发给开发组成员放到他们的ssh目录下,这样他们就可以使用: mkdir test_git git init git add . git commit -a -m ‘init project’ git remote add origin git@server_host:test_git.git git push origin master 来初始化项目和push到服务器上

Tuesday, November 24th, 2009 at 00:48 | 0 comments
Categories: TASKS, 技术
Tags: ,

呼~~~ 从查看git用法,到有建立GIT Host的想法,再到找相关资料和做实验,用了三天多才把一把都搞定,今天终于正常运行起来,并且上传了一个正在进行的小项目。 原来一直习惯SVN,对GIT挺排斥的,经过这一些建立GIT和试用,我竟然喜欢上这个分布式版本控制系统了,有必要把所有的项目都从SVN上转过来,只是不知道从SVN转过来能不能继承所有的版本更新信息和分支信息。 git本身提供了一个服务程序git-daemon,但是这是一个没的权限控制的程序,这样就不太适合把GIT服务暴露在不安全的环境中。 gitosis是基于SSHD为GIT服务提供权限控制的一个应用,更方便的是只需要系统中的一个用户,就可以完美的对多仓库多虚拟用户进行权限管理,在目前来讲git + gitosis绝对是最佳的组合了。 别的先不说了,下面简单讲一下如何在一台服务器上建立GIT HOST。 1、首先,先确定系统软件要求,python-setuptools,这个在不同Linux的发行版中可能名字不太一样, 在CentOS中叫做python-setuptools 安装 yum -y install python-setuptools 当然还要安装git,否则gitosis找谁工作呀? 2、安装GIT 现在的CentOS中好像不能直接yum install git了,我自己是不用CentOS系统的,不熟,不知道是git的名字在里面不同了还是怎么着,不过不要紧,去http://git-scm.com下载也一样,而且还能下载到尽可能新的版本 除 了git的rpm包之外,还依赖一个perl-Git,这个也需要下载相应版本的哦,另外,还要求perl-Error,这个可以去Google搜一下, 这里提供一个我用的下载地址。http://dag.wieers.com/rpm/packages/perl-Error/ 3、安装gitosis GIT和python-setuptools都准备好了,现在可以装gitosis了 # git clone git://eagain.net/gitosis.git 上面命令中git://这个协议其实就是上面提到的git-daemon提供的服务,默认是9418端口。 (从这一步就能明显感受到,git在网络同步代码的时候,速度很快,同样大小的源码仓库,git跟svn或cvs相比,所花去的时间可以忽略不计) 这几句废话说完的功夫估计代码也下载完了,现在 # cd gitosis # python setup.py install 如果没有出错提示就说明安装成功,整个工作也完成了大半了,再做最后一步,然后后面就全是操作git仓库的动作了 4、初始化gitosis 由于gitosis本身的配置和控制也完全是由git完成的,所以现在要初始化gitosis的工作环境,在这之前要先给你的gitosis在服务器上准备一个帐户 # useradd git (随便什么用名都成,建议用git,简短而且一目了然) 这个用户要不要密码都行,反正不是用来登录系统界面的。 另外还要你在工作机上准备一个公钥文件 $ ssh-keygen -t rsa (看清楚了,这一些是要在你工作的系统中运行的,而不是服务器) [...]

Sunday, November 22nd, 2009 at 16:06 | 0 comments
Categories: TODO
Tags: ,

权限管理器 Gitosis 把所有用户的公钥保存在 authorized_keys 文件的做法只能暂时奏效。当用户数量到了几百人的时候,它会变成一种痛苦。每一次都必须进入服务器的 shell,而且缺少对连接的限制——文件里的每个人都对所有项目拥有读写权限。 现在,是时候向广泛使用的软件 Gitosis 求救了。Gitosis 简单的说就是一套用来管理 authorized_keys文件和实现简单连接限制的脚本。最有意思的是,该软件用来添加用户和设定权限的界面不是网页,而是一个特殊的 Git 仓库。你只需要设定好某个项目;然后推送,Gitosis 就会随之改变服务器设定,酷吧? Gitosis 的安装算不上傻瓜化,不过也不算太难。用 Linux 服务器架设起来最简单——以下例子中的服务器使用 Ubuntu 8.10 系统。 Gitosis 需要使用部分 Python 工具,所以首先要安装 Python 的 setuptools 包,在 Ubuntu 中名为 python-setuptools: $ apt-get install python-setuptools 接下来,从项目主页克隆和安装 Gitosis: $ git clone git://eagain.net/gitosis.git $ cd gitosis $ sudo python setup.py install 这会安装几个 Gitosis 用的可执行文件。现在,Gitosis 想把它的仓库放在 /home/git,倒也可以。不过我们的仓库已经建立在 /opt/git 了,这时可以创建一个文件连接,而不用从头开始重新配置: $ ln [...]

Wednesday, November 18th, 2009 at 00:45 | 0 comments
Categories: TODO, 技术
Tags: ,
TOP