CentOS 上搭建 gitlab

GitLab 介绍

最近DevOps非常火, 而GitLab作为其中重要一环, 也越来越受重视, 与SVN相比, GitLab同样提供完美的用户权限管理, 与Git相比, 除了涵盖Git所有功能, 同时又提供方便的后台管理, 非常适合企业使用

GitLab 安装
1
2
3
4
5
6
7
8
9
10
11
# 1. 安装相关依赖
yum install curl policycoreutils openssh-server openssh-clients -y
# 确保sshd启动(正常情况下, sshd是启动的)
systemctl enable sshd
systemctl start sshd

# 2. 引入yum源, 并安装gitlab
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce -y
# 配置并启动
gitlab-ctl reconfigure
修改 Nginx 相关配置

由于我用的是阿里云的 ESC,所以默认情况下防火墙的没有关闭的,且 GitLab 内置的 Nginx 默认端口是80,为了不占用这个特殊的端口,我们使用82端口,unicorn 端口也由8080改成8082,即nginx监听的rails端口,类似php-fpm,同样改成8082

  • 配置 Nginx 的默认端口
    1
    2
    3
    4
    5
    6
    vim /etc/gitlab/gitlab.rb
    # nginx['listen_port'] = nil 默认值即80
    nginx['listen_port'] = 82
    vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
    # 默认值listen *:80;
    listen *:82;
  • 修改 unicorn 的默认端口和 Nginx 监听的 rails 端口

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    vim /etc/gitlab/gitlab.rb
    # 原值unicorn['port'] = 8080
    unicorn['port'] = 8082
    vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
    #原值listen "127.0.0.1:8080", :tcp_nopush => true
    listen "127.0.0.1:8082", :tcp_nopush => true

    # 重新加载配置、启动
    gitlab-ctl reconfigure
    gitlab-ctl restart
  • 重新加载配置、启动

    1
    2
    gitlab-ctl reconfigure
    gitlab-ctl restart
测试

由于我的服务器地址配置了域名解析,浏览器上输入 domain:82/ip地址:82,第一次会出现让你注册的界面,直接注册就行,下次输入地址会直接登录


注意事项
  1. GitLab 上需要配置本地的秘钥公约
  2. 新建仓库生成的url 都改成你服务器的 domain:82/ip地址:82,否则会访问失败
  3. git,yum 相关的安装和命令都可以参看 runoob.com 网站