私有git服务器搭建-gitlib版

环境

centos6.5

这里有官网安装地址教程:

https://www.gitlab.com.cn/installation/#centos-6

这里有机器配置安装需求

https://docs.gitlab.com.cn/ce/install/requirements.html

CPU

1 核心CPU最多支持100个用户,所有的workers和后台任务都在同一个核心工作这将导致GitLab服务响应会有点缓慢。

2核心 支持500用户,这也是官方推荐的最低标准。

4 核心支持2,000用户。

8 核心支持5,000用户。

16 核心支持10,000用户。

32 核心支持20,000用户。

64 核心支持40,000用户。

如果想支持更多用户,可以使用 集群式架构

Memory

安装使用GitLab需要至少4GB可用内存(RAM + Swap)! 由于操作系统和其他正在运行的应用也会使用内存, 所以安装GitLab前一定要注意当前服务器至少有4GB的可用内存. 少于4GB内存会导致在reconfigure的时候出现各种诡异的问题, 而且在使用过程中也经常会出现500错误.

1GB 物理内存 + 3GB 交换分区 是最低的要求,但我们 强烈反对 使用这样的配置。 查看下面unicorn worker章节获取更多建议。

2GB 物理内存 + 2GB 交换分区 支持100用户,但服务响应会很慢。

4GB 物理内存 支持100用户,也是 官方推荐 的配置。

8GB 物理内存 支持 1,000 用户。

16GB 物理内存 支持 2,000 用户。

32GB 物理内存 支持 4,000 用户。

64GB 物理内存 支持 8,000 用户。

128GB 物理内存 支持 16,000 用户。

256GB 物理内存 支持 32,000 用户。

如果想支持更多用户,可以使用 集群式架构

安装步骤

安装配置依赖项

如想使用Postfix来发送邮件,在安装期间请选择’Internet Site’. 您也可以用sendmai或者 配置SMTP服务 并 使用SMTP发送邮件.

在 Centos 6 系统上, 下面的命令将在系统防火墙里面开放HTTP和SSH端口.

sudo yum install curl openssh-server openssh-clients postfix cronie -y
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh

添加GitLab仓库,并安装到服务器上


curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash

sudo yum install gitlab-ce

如果你不习惯使用命令管道的安装方式, 你可以在这里下载 安装脚本 或者 手动下载您使用的系统相应的安装包(RPM/Deb) 然后安装

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-XXX.rpm
rpm -ivh gitlab-ce-XXX.rpm

安装包地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/?C=M&O=A

启动GitLab

sudo gitlab-ctl reconfigure
  • 下边就可以访问了:

  • 重置下密码。登录效果如下:

配置

gitlab仓库存储位置的修改方法

gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-data/repositories,通常需要更改此路径到单独的一个分区来存储仓库的数据。

例如我这里把数据存放到/data/gitlab目录下

创建/data/gitlab目录

mkdir -p /data/gitlab

修改gitlab配置文件,找到git_data_dir

vim /etc/gitlab/gitlab.rb

在git_data_dir下面添加一句

git_data_dir "/data/gitlab"

停止当前gitlab,重新加载配置

gitlab-ctl stop

gitlab-ctl reconfigure

重新加载后,会发现在/data/gitlab目录下多出一个repositories目录

最后启动gitlab即可

gitlab-ctl start

GitLab服务器启用https

  • 修改配置文件:
sudo vim /etc/gitlab/gitlab.rb

修改为如下:

  • 生成秘钥与证书:
    由于生成秘钥与证书比较麻烦,写成一个脚本(见附件,需改名字为ssl_genKey.sh)。出现输入信息的地方输入相应的信息,首先是域名/地址,后面需要输入4次证书的密码,密码任意指定,但4次输入得一致。

生成的如下:

其中圈出来的是有用的,其他的可以删掉。

移到相应的位置:

sudo mkdir -p /etc/gitlab/ssl

sudo chmod 700 /etc/gitlab/ssl/ -R

sudo cp 172.16.4.112.crt /etc/gitlab/ssl/server.crt

sudo cp 172.16.4.112.key /etc/gitlab/ssl/server.key
  • 重建配置:
sudo gitlab-ctl reconfigure

浏览器即可使用https访问:

注意

  • 防火墙端口访问开启

  • 配置邮件发送邮箱

  • 测试邮件发送命令

Q&A

注意事项以及异常故障排查:

  • 按照该方式,我安装了一个确实没问题,只不过是英文版。没有经过汉化(汉化请参考后边的教程)。

  • 默认安装登录需要重置root密码。可以自己单独设置一个复杂密码后登录。

  • gitlab本身采用80端口,如安装前服务器有启用80,安装完访问会报错。需更改gitlab的默认端口。

修改vim /etc/gitlab/gitlab.rb:

external_url 'http://localhost:90'

如果就想用80端口,那没问题。如果更改了端口,后边可以自行调整nginx配置文件进行nginx反向代理设置。

  • 这里可以绑定自己的gitlab的域名或者公网、内网IP替换localhost进行公网访问,具体根据自己的实际情况。安全起见,一般会将gitlab部署于内网。具体部署到哪里,请根据自己的实际情况来定。(基于安全原因,这里不建议设置公网IP进行暴露,可以通过nginx设置IP绑定进行return或者其他规则进行IP回避访问。)

本站测试gitlab地址域名为:gitlab.21yunwei.com

  • unicorn本身采用8080端口,如果你那里没有8080使用,可以后边不用修改了。如安装前服务器有启用8080,安装完访问会报错。需更改unicorn的默认端口:

修改 /etc/gitlab/gitlab.rb:

unicorn['listen'] = '127.0.0.1'

unicorn['port'] = 3000
  • 每次重新配置,都需要执行sudo gitlab-ctl reconfigure 使之生效。

  • 日志位置:/var/log/gitlab 可以进去查看访问日志以及报错日志等,供访问查看以及异常排查。

gitlab-ctl tail #查看所有日志

gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志

使用

  • 建议公司内部使用把自主注册功能关闭

  • 由管理员统一按照申请生成账号

posted @ 2020-05-26 14:17  好奇成传奇  阅读(1018)  评论(0编辑  收藏  举报