安装并配置必要的依赖关系
1 | sudo yum install -y curl policycoreutils-python openssh-server cronie |
安装Postfix以发送通知电子邮件
1 | sudo yum install postfix |
添加gitLab仓库到yum源,并安装
1 | curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash |
EXTERNAL_URL是设置用什么域名访问你的gitlab,此时也可以直接yum install gitlab-ce。
安装完成后再修改配置文件/etc/gitlab/gitlab.rb
运行配置命令
1 | sudo gitlab-ctl reconfigure |
这样就可以访问你的gitLab了。
修改nginx端口(使用gitLab内置nginx)
修改nginx端口
1
2
3
4
5
6
7vim /etc/gitlab/gitlab.rb
nginx['listen_port'] = 82 #默认值即80端口 nginx['listen_port'] = nil
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
listen *:82; #默认值listen *:80;修改unicorn端口(可以不修改)
1
2
3
4
5
6
7vim /etc/gitlab/gitlab.rb
unicorn['port'] = 8082 #原值unicorn['port'] = 8080
vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen "127.0.0.1:8082", :tcp_nopush => true #原值listen "127.0.0.1:8080", :tcp_nopush => true保存配置并重启
1
2
3sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-ctl status
访问 ip:82 成功。
gitLab服务命令
说明 | 常用命令 |
---|---|
重新加载配置, 每次修改/etc/gitlab/gitlab.rb文件之后执行 | sudo gitlab-ctl reconfigure |
启动 | sudo gitlab-ctl start |
停止 | sudo gitlab-ctl stop |
重启 | sudo gitlab-ctl restart |
查看状态 | sudo gitlab-ctl status |
查看所有日志 | sudo gitlab-ctl tail |
查看 nginx 访问日志 | sudo gitlab-ctl tail nginx/gitlab_acces.log |
查看 postgresql 日志 | sudo gitlab-ctl tail postgresql |
检查gitLab状态 | gitlab-rake gitlab:check |
检查环境和配置是否正确 | gitlab-rake gitlab:env:info |
清除缓存 | gitlab-rake cache:clear |
相关文件位置
内容 | 位置 |
---|---|
日志 | /var/log/gitlab |
gitlab_url | /opt/gitlab/embedded/service/gitlab-shell/config.yml |
nginx配置 | /var/opt/gitlab/nginx/conf/gitlab-http.conf |
gitlab主配置文件 | /etc/gitlab/gitlab.rb |
ssh路径url配置文件 | /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml |
gitLab修改ssh默认端口
- vim /etc/gitlab/gitlab.rb
找到:gitlab_rails[‘gitlab_shell_ssh_port’] = 22 - 修改为:【你服务器ssh登录的端口】
- 重新编译:gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start
疑难杂症
问题:访问报500错误
原因:运行gitlab-rake gitlab:check,发现gitlab-shell self-check failed;再运行sudo gitlab-ctl restart,发现redis出现timeout;
解决:找不到原因,暂时方法是 ps -ef | grep runsv 找到redis 的父级进程,kill -9 xxxx 全部杀掉后会自动拉起。