使用EC2打造私人Git服务器
关于Amazon EC2服务,已经有很多文章介绍,这里就不再赘述如何申请Amazon云服务的内容了。假定你已经拥有一台EC2服务器。另外,这里并没有使用gitosis或者gitolite之类的应用。主要是通过使用ssh来将EC2当作个人的Git服务器来使用。因为当前Amazon提供了对于Micro类型的EC2免费使用一年优惠,不妨大家也试试。
为了简化对远程主机的访问,先对ssh做点简单的配置:
$ cat ~/.ssh/config
Host codingme.com
Hostname codingme.com
User ec2-user
IdentityFile /path/to/your/private key file
由于我的主机申请了动态IP,且与我自己的域名绑定过,所以上面的Hostname使用的个人的域名,你可以直接使用EC2为每个主机提供的域名地址。
另外,配置文件中,首行的Host codingme.com是指定一个主机别名,你可以写成Host cm或者其它的易于记忆的名字。
基于以上配置,你可以很方便的连接到主机,同时,这也是通过ssh来远程访问Git仓库所必需的——因为访问EC2主机是使用私钥,而git在ssh访问远程仓库时,则必需要通过以上配置才能够使用到私钥。
1.在远程主机上创建一个仓库
ssh mkdir">codingme.com
user@ec2>mkdir –p git/repos/codingme
user@ec2>cd git/repos/codingme
user@ec2>git init --bare
留意一下上面的操作,你会发现在使用前面的config之后,ssh连接主机就不再需要指定私钥文件和用户名了。另外,如果你的Host别名
2.同步远程主机上的数据
从远程主机上clone数据。
git clone ssh://codingme.com/home/user/git/repos/codingme
3.将仓库添加到已经有的本地仓库中
如果你的项目已经建成,可能托管在github等仓库中,也可以将新的仓库添加进来。
git remote add codingme ssh://codingme.com/home/user/git/repos/codingme
git pull codingme master // pull the latest data
git push codingme master // upload the local data
注:在上面三个步骤中,使用到的codingme.com都是.ssh/config中的Host别名,不是真正的主机域名。
posted on 2011-12-28 19:46 CodingME! 阅读(1360) 评论(0) 编辑 收藏 举报