最近想自己搭个gitlab来学习下,在搭建过程中,遇到了一些问题跟坑,特将自己搭建的流程跟所遇到的问题整理出来,与大家分享交流,第一次使用,不是很熟练,写的比较粗糙,大神勿喷。
虚拟机硬件参数:
操作系统:centOS7-64bit
内存:8G
硬盘:36G
1、添加插件
执行以下命令:
sudo yum install openssh-server sudo yum install postfix sudo yum install cronie
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd sudo systemctl start sshd
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add- service=http sudo systemctl reload firewalld
2. 添加 GitLab 镜像源并安装
- wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-XXX.rpm
- rpm -ivh gitlab-ce-XXX.rpm
ps:根据自己的需求,选择gitlab的版本。
3. 配置并启动 GitLab
sudo gitlab-ctl reconfigure
4. 通过浏览器访问上一步配置的域名(默认:http://localhost:8080):
第一次访问 GitLab,系统会重定向 url 到重置密码的页面,你需要输入初始化管理员账号的密码。 设置完成后,系统会重定向到登录界面,你就可以使用刚才输入的密码登录系统了。
系统默认的管理员账号为 root, 登录系统后,你可以修改管理员账号为自己喜欢的账号。
5、修改gitlab配置文件指定服务器ip和自定义端口:
vim /etc/gitlab/gitlab.rb
操作流程:
⑴找到"external_url"这行,
⑵点击"i"键,执行插入,将原有数据替换为 "http://服务器ip:port",
⑶按"esc"按键,退出编辑,输入":wq",再点击"enter"退出保存操作
备注:vim指令,参考网上教程。
6、修改完后,重新配置,并重启gitlab,使修改后的配置生效
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
7、关闭firewall防火墙(未执行该步骤,可能会出现无法访问,具体可自己试验下):
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
8、在主机浏览器输入:http://ip:port,出现以下页面,即表示启动成功
问题汇总:
问题1:在第4步操作时,页面渲染出现异常,gitlab的登陆页及内容页布局错乱;
可能原因:
(1)未执行第5、6步操作,采用默认的访问地址(localhsot:8080);
(2)系统剩余内存不足4G,gitlab初始化异常;
解决办法:
(1)执行第5、6步,重新访问;
(2)修改虚拟机内存,调整至剩余内存大于4G(调整完后,可输入free指令看出剩余内存),重启gitlab;
问题2:在卸载gitlab然后再次安装执行sudo gitlab-ctl reconfigure,ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行:
解决办法:
(1)、按住CTRL+C强制结束;
(2)、运行:sudo systemctl restart gitlab-runsvdir;
(3)、再次执行:sudo gitlab-ctl reconfigure
(解决方案来源:https://gitlab.com/gitlab-org/omnibus-gitlab/issues/160)
其他链接: