gitlab
针对 gitlab 安装 在 linux 上,网上有很多方法,不过在安装过程中,可能会遇到一些莫名其妙的bug,有时在百度或者google 上没有很好的解决思路(或者是查询的方法不对):
-
安装时,我们 执行
gitlab-ctl reconfigure,然而会报错:storage_directory[/mnt/xx] (gitlab::gitlab-rails line 46) had an error: Mixlib::Shell...看完这一长串错误提示,哦哦,马上明白,这就是说权限不通,无法操作;
ok,开始采用chmod 2770 -x /mnt/xx
这时,会发现还是依旧在报这个错误,感觉,权限已经付了,但是依旧解决不了这个错误,那么就开始了疯狂的 百度,google 搜索,但是大部分都是这个问题;
半天过去了,依旧没有任何头绪,于是配置文件还原,发现可以完美reconfigure
第二步,我发现 这个mnt,是我很久之前挂载的一块分区,于是我查了一下磁盘du -hT
发现一个 bug, 可以切换的存储目录 盘符 是 ext 的;不能切换存储目录的盘符是ntfs;
因为这个盘符里面有一些文件,于是做了备份,做了个说明文档,然后 盘符进行了格式转化。
第一个台阶终于迈过去了!长长舒了口气。 -
废了 九牛二虎之力 我们终于安装好了,然而,当我们防火墙打开端口,感觉终于可以在网页上查看一下我们gitlab 时,这时候竟然报错
Whoops, GitLab is taking too much time to respond.
这时,查百度,会发现,大部分都说:
- 端口被占用了,那么我们 通过
lsof查了一下端口,不好意思 只有这一个进程; - 内存满了,运行出现了问题;于是 查内存
free -m, 发现内存只用了一点点;
于是头发白了,满脸苦涩!
其实有个很好的办法,就是查日志,既然程序已然启动,那么日志会告诉我们所需要的答案!
于是查日志,sudo gitlab-ctl tail日志统统给我拉下来,一条一条读,于是"error":"badgateway: failed to receive response: dial unix /var/opt/gitlab/gitlab-rails/sockets/gitl跃然眼前,于是就知道了,原来 rails sockets 端口有问题了,那么需要在gitlab.rb中 打开 端口,并配置一些新的端口 ok, 终于可以看到登陆页面了,好高兴,可是登陆账号密码是什么呢
gitlab-ctl初始化账号密码设置:
gitlab-rails console -e production
user = User.where(id: 1).first // 表示 root 用户
user.password = 'password'
user.password_confirmation = 'password'
user.save!
exit