GitLab → 搭建私有的版本控制的托管服务平台
开心一刻
睡着正香,媳妇用力把我晃醒说:“快起来,我爸来了。”
我一下醒了,手脚熟练的把衣服一抱,滚到床底,顺便把鞋也收了进去
媳妇蹲下无奈的说:“快出来!咱俩都结婚半年了。”
我:“对哦,搞习惯了”
环境准备
linux:CentOS 7
GitLab 社区版:gitlab-ce-12.8.7-ce.0.el6.x86_64.rpm,可从 清华大学开源软件镜像站 下载
因为 GitLab 对内存要求比较高,官方推荐至少准备 4G 内存来安装 GitLab,我们就大方一点,准备 5G
环境准备如下
楼主是新搭建的 CentOS 7,环境非常干净,便于 GitLab 的搭建(主要是避免端口冲突,GitLab 包含很多组件,它们都需要端口)
由于我们大天朝的那面墙的神奇作用,按 GitLab 官方的安装教程,我们没法安装它,但办法总比困难多,具体我们往下看
GitLab 搭建
安装和配置依赖项
1、安装依赖项
[root@localhost opt]# yum install -y curl policycoreutils-python openssh-server
2、启用 sshd
[root@localhost opt]# systemctl enable sshd
[root@localhost opt]# systemctl start sshd
3、防火墙放行 http 和 https
[root@localhost opt]# firewall-cmd --permanent --add-service=http [root@localhost opt]# firewall-cmd --permanent --add-service=https [root@localhost opt]# systemctl reload firewalld
楼主为了省事,直接关了防火墙(上面的做法是比较正经的!)
[root@localhost opt]# firewall-cmd --state
[root@localhost opt]# systemctl stop firewalld.service
[root@localhost opt]# systemctl disable firewalld.service
4、安装 Postfix
postfix 可用于发电子邮件,是可选依赖
如果用 SMTP 方式来发送,则不需要安装 postfix
[root@localhost opt]# yum install postfix [root@localhost opt]# systemctl enable postfix [root@localhost opt]# systemctl start postfix
安装 GitLab
安装非常简单,就一行命令
[root@localhost opt]# rpm -ivh gitlab-ce-12.8.7-ce.0.el6.x86_64.rpm --force
安装应该非常快,分分钟的事,当出现下图,就表示安装完成
配置 GitLab
GitLab 的配置文件路径: /etc/gitlab/gitlab.rb,为了简单起见,我们只配置 external_url 和 smtp 相关配置;因为 postfix 发送的邮件会被 QQ 邮件服务器 、新浪邮件服务器等当成垃圾邮件而拒绝接收,所以我们需要开启 smtp,示例中配置的是 QQ 邮箱服务器,其他的邮件服务器配置可查看:smtp-settings
编辑 gitlab.rb: [root@localhost gitlab]# vi /etc/gitlab/gitlab.rb ,此时我们只修改如下配置项(配置项不是全部挨在一起)
external_url 'http://192.168.0.115' gitlab_rails['gitlab_email_from'] = 'xxx@qq.com' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xxx@qq.com" gitlab_rails['smtp_password'] = "授权码" gitlab_rails['smtp_domain'] = "smtp.qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true user['git_user_email'] = "xxx@qq.com"
修改之后执行: [root@localhost opt]# gitlab-ctl reconfigure ,使得配置生效
首次配置比较慢,因为需要配置、初始化各个组件;当出现下图内容时,表示配置完成
配置完成后会生成各个组件的配置文件和日志文件,配置文件路径: /opt/gitlab/etc/ ,日志文件路径: /var/log/gitlab/
一旦配置好,GitLab 也就启动了,我们访问下: http://192.168.0.115/ ,当出现如下界面,表示我们搭建成功了
初次访问会提示我们重置 root 账户的密码;登录进去后,主界面如下
我们再来试试邮件是否可以正常发送,执行命令: [root@localhost opt]# gitlab-rails console 登录到控制台,然后执行: Notify.test_email('youzhibing2094@sina.com', '邮件主题', '邮件正文').deliver_now 发送测试邮件,能正常收到就证明配置好了
至此,GitLab 基本搭建好了
GitLab 常用命令
启动:gitlab-ctl start
查看状态:gitlab-ctl status
重启:gitlab-ctl restart
重新配置:gitlab-ctl reconfigure # 一般是修改配置后用
查看实时日志:gitlab-ctl tail
总结
1、GitLab 架构图
组件非常多,更多详情请查阅:GitLab实战三——Gitlab架构组件详解
2、只要环境足够干净,内存足够大,搭建起来应该是没什么问题的