码迷,mamicode.com
首页 > Windows程序 > 详细

Windows环境下通过Cygwin搭建Gitolite服务器

时间:2015-07-13 15:26:16      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

本文参考:http://blog.csdn.net/benkaoya/article/details/8884677

背景:

去年接触Git前我们团队甚至还在用VSS,一次外包项目中由于需要和外包团队紧密合作,由外包团队引入了Git。

之后,由于团队规模的不断扩大,以及体会到了Git强大的分支功能,我们所有的项目都迁移到了Git上。

再之后,新人的不断加入,领导们担心起权限的问题,我们的服务器管理员考虑使用Gitsis或者Gitolite,但是查找资料研究了一翻之后觉得太繁琐了,一直搁置。

然后,在领导考虑使用SVN作为项目管理工具之后,我决定研究一下Gitolite。直接安装OpenSSH搞失败后,决定用Cygwin

 

Cygwin官网:http://www.cygwin.com/

Package镜像节点:http://mirrors.163.com/cygwin/

需要的Package:Editors->vim、Net->openssh、Devel->git/git-completion/git-gui/gitk

正文:

开头的参考链接中的教程已经很详细,这里主要是记录一下我3次搭建服务端遇到的坑(其实主要就1个权限的坑)。

1. 安装Cygwin,从官网下载即可

  tip:到Choose A Download Site这一步的时候一定要选择163的节点,否则除了以上6个需要的包外还有一些必须的包,用国外节点至少得一两个小时

  如果列表中没有163镜像或者可选列表直接是空的,那么把上面的地址Add进去即可

2. 安装完成后,运行Cygwin安装目录下的Cygwin.bat,cd到bin目录,然后执行cyglsa-config,重启服务器

3. 配置ssh服务,再次打开 Cygwin,执行 ssh-host-config

  最新版的openssh多了一个StrictModes开启询问,其推荐为yes;一路yes;*** Query: Enter the value of CYGWIN for the daemon: [] 直接回车

  ssh-host-config会创建一个sshd服务和一个cyg_server账户用于运行该服务

  tip1:创建账户的时候一定要注意密码强度,如果密码强度不够会导致创建失败,那么服务将无法运行。

  这里一个坑就是,默认提示的中文都是乱码,导致你不知道是什么错误。右键Cygwin窗体,options->Text->Locale:zh_CN,Character set:GBK

  tip2:不要自己在控制面板中创建用户,否则可能会由于权限问题导致只有运行sshd服务的账号才能ssh访问服务器

  (这里真的是坑了我十几个小时啊,各种chmod、chown,各种蛋疼找不到无法连接ssh的解决方法)

4. 创建一个账户用户ssh访问(标准用户即可),例如git,执行命令:mkpasswd -l -u git >> /etc/passwd

5. 安装Gitolite,这里就没什么可说的了,不再骜述

6. 完成,可以在Git上工作了

 

总结:

在我第一次以此法安装Gitolite的时候还算顺利

但是第二次的时候由于Cygwin不会再自动帮你创建cyg_server账户了,而我输入的密码强度不够导致创建失败,然后我自己创建了cyg_server这个账户用他来运行sshd服务

这样ssh链接cyg_server账号是正常的,连接其他账号一直会报错/bin/bash权限有问题,一连接就断开,最后不得不用需要使用的账户来运行sshd服务

最后在测试服务器上配置ssh的时候吸取教训,成功完成了配置。熟练配置10分钟即可搞定。

之所以需要三次安装Gitolite,是由于我们的测试服务器是生产环境上硬盘出现坏道淘汰下来的,一重启就起不来了,只能格式化硬盘重装,经过2次折腾后终于换了块硬盘。。。

 

经过这几次折腾,更坚定了我用Git作为版本控制的工具,从灾备角度来看,服务端在完全没有备份的情况下也能够完美恢复工作。

安装好Gitlite后,2局命令即可恢复Git权限和项目

在gitolite-admin项目下:git push -f

在git项目下:git push --all

 

接下来有时间的话,想要研究一下GitLab了。

Windows环境下通过Cygwin搭建Gitolite服务器

标签:

原文地址:http://www.cnblogs.com/jakechan/p/4633876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!