原文链接  https://www.cnblogs.com/zhujingzhi/p/9703457.html


一、什么是gitlib

  Gitlab 是一个基于Git实现的在线代码仓库托管软件,你可以用Gitlab自己搭建一个类似于Github一样的系统平台,一般搭建gitlab私服就是用在公司的内部

  Gitlab 功能就是能够对代码的提交审核和问题跟踪,这个对于软件工程质量的管理是至关重要的

  Gitlab分为社区版(CE) 和 企业版(EE) 我感觉大多数的公司还是会选择社区版,反正我们公司是要用社区版的

  部署Gitlab 是对服务器有配置要求的 建议是CPU两核,内存4G以上


二、Gitlab的组件

1. Nginx:静态Web服务器

2. gitlab-shell:用于处理Git命令和修改authorized keys列表

3. gitlab-workhorse:轻量级的反向代理服务器(这个是个敏捷的反向代理,它会处理一些大的HTTP请求,比如文件的上传下载,其他的请求会反向代理给Gitlab Rails应用)

4. logrotate:日志文件管理工具

5. postgresql:数据库

6. redis:缓存数据库

7. sidekiq:用于在后台执行队列的任务

8. unicorn:Gitlab Rails应用是托管在这个服务器上面的


三、安装配置gitlab

[root@web1134 ~]# yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
[root@web1134 ~]# service postfix start
[root@web1134 ~]# chkconfig postfix on
[root@web1134 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.1.6-ce.0.el7.x86_64.rpm                    #国内镜像站下载
[root@web1134 ~]# EXTERNAL_URL="http://127.0.0.1/"                                                                                    #设置gitlab的访问地址
[root@web1134 ~]# yum -y localinstall gitlab-ce-11.1.6-ce.0.el7.x86_64.rpm


四、汉化配置

[root@web1134 ~]# git clone https://gitlab.com/xhang/gitlab.git                                    #下载汉化补丁
[root@web1134 ~]# gitlab-ctl stop                                                                  #停止gitlab
[root@web1134 ~]# cd gitlab                                                                        #切换到汉化补丁所在的目录
[root@web1134 gitlab]# git diff v11.1.6 v11.1.6-zh > ../11.1.6-zh.diff                             #导出差异
[root@web1134 gitlab]# cd /root/
[root@web1134 ~]# yum install patch -y                                                             #安装patch命令
[root@web1134 ~]# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 11.1.6-zh.diff          #打补丁, 按enter键覆盖源文件
[root@web1134 ~]# gitlab-ctl start                                                                 #启动gitlab
[root@web1134 ~]# gitlab-ctl reconfigure                                                           #重新配置


五、设置发邮件功能

[root@web1134 ~]# vim /etc/gitlab/gitlab.rb

# 配置发送邮箱
gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.163.com"

gitlab_rails['smtp_port'] = 25 

gitlab_rails['smtp_user_name'] = "smtp [email protected]"

gitlab_rails['smtp_password'] = "password"

gitlab_rails['smtp_domain'] = "163.com"

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = true


# 修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "smtp [email protected]"

user["git_user_email"] = "smtp [email protected]"
[root@web1134 ~]# gitlab-ctl reconfigure                        #重新配置
[root@web1134 ~]# gitlab-ctl restart                            #重启服务


六、测试使用

        访问地址   http://127.0.0.1/                                    #安装时 EXTERNAL_URL 设置的地址,首次登录要求设置管理员密码

        管理员账号:root