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、只要环境足够干净,内存足够大,搭建起来应该是没什么问题的

参考

  GitLab Installation

  Production Architecture

  GitLab实战三——Gitlab架构组件详解

posted @ 2020-03-26 09:12  青石路  阅读(...)  评论(...编辑  收藏