ZeusYu

使用GitLab遇到的问题

Tags: gitlab, ssh, git

前几天照着教程搭了个GitLab完,过程还是比较顺利的,当时部署完之后看到能访问网站,能创建用户,能创建项目就觉得基本上没问题了,后来发现我错了,实际使用中还是发现了一些问题,虽然解决得莫名奇妙,但还是记录一下。

问题一:push时要求输入系统用户的密码

在GitLab中创建了用户,也添加了在客户机生成的ssh key,但是在push的时候还是提示要求输入git用户的密码,但当时创建这个系统用户的时候没有设置啊。google了一堆解决方案,主要集中在用户权限这一块,无非是.ssh目录和目录下权限必须正确

chmod 700 ~/.ssh  
chmod 600 ~/.ssh/authorized_keys

可奇怪的是,当时配置gitlab shell的时候,这个操作明明已经执行了呀。 之后一顿胡改,反复确认gitlab-shell下的配置文件中的url,各个文件的权限等等,就是解决不了。

最后,绝望中,我重启了ssh服务,结果。。。居然解决了问题,这有必然联系吗? P.S 之后才发现,我在那一通胡乱操作中,重新生成了SSH public keys,重新生成的时候,我没有选择文件生成的位置,他默认落在了.ssh文件夹下,注册才是解决问题的最终原因。

问题二:push时通过了用户验证,但提示找不到git仓库

在网站上创建了项目,在客户机上进行git初始化操作,push后通过了用户验证,但又提示

fatal: 'mygroup/proj1.git' does not appear to be a Git repository
fatal: Could not read from remote repository.

又google了一通,据说是ssh路径的问题,在路径中添加了repositories/就解决了问题
修改
git@git.myserver.com:mygroup/proj1.git

git@git.myserver.com:repositories/mygroup/proj1.git
但是,以上的解决方案仅仅在问题一解决前有效(我也不知道这有啥关联,难道是权限?)当问题一莫名奇妙的解决后,问题二居然也不存在了。。。(我崩溃。。。)。

不过话说在这期间,还有一个灵异的事情,刚部署完后执行
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
进行检查,没报什么错,但今天检查的时候突然发现Satellite挂了,按照提示修复了一下,不知道这一举动是否与问题的解决有关(教程党表示不好好学习基础姿势真是各种碰壁啊)

总之一句话,不掌握基本功,越级打怪,死得会很惨。。。