gitLab-ce搭建

安装并配置必要的依赖关系
1
2
3
sudo yum install -y curl policycoreutils-python openssh-server cronie

sudo lokkit -s http -s ssh

安装Postfix以发送通知电子邮件

1
2
3
sudo yum install postfix
sudo service postfix start
sudo chkconfig postfix on
添加gitLab仓库到yum源,并安装
1
2
3
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce

EXTERNAL_URL是设置用什么域名访问你的gitlab,此时也可以直接yum install gitlab-ce。
安装完成后再修改配置文件/etc/gitlab/gitlab.rb

运行配置命令
1
sudo gitlab-ctl reconfigure

这样就可以访问你的gitLab了。

修改nginx端口(使用gitLab内置nginx)
  1. 修改nginx端口

    1
    2
    3
    4
    5
    6
    7
    vim /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;
  2. 修改unicorn端口(可以不修改)

    1
    2
    3
    4
    5
    6
    7
    vim /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
  3. 保存配置并重启

    1
    2
    3
    sudo 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 全部杀掉后会自动拉起。