CentOS-7 下 GitLab 安装部署教程

  • 前言
    • 主要内容
    • GitLab 介绍
    • 本篇环境信息
  • 准备工作
    • 配置清华大学镜像仓库
    • 安装基础依赖
    • 安装 Postfix
    • 开放 ssh 以及 http 服务(80 端口)
  • 部署过程
    • 1、Yum安装GitLab
    • 2、配置 GitLab站点 Url和端口号
    • 3、启动并访问GitLab
  • 四、gitlab内存过高情况
  • 1、修改gitlab配置
  • 2、邮件配置
    • 2、重启服务
  • 五、GitLab 常用配置
    • 2、禁用创建组权限
    • 3、gitlab-ctl 常用命令介绍
  • 六、参考

前言

主要内容

  1. GitLab社区版部署
  2. GitLab配置禁用创建组权限
  3. GitLab配置邮件(SMTP)
  4. GitLab常用命令说明

GitLab 介绍

GitLab 一个开源的 git 仓库管理平台,方便团队协作开发、管理。在 GitLab 上可以实现完整的 CI(持续集成)、CD(持续发布)流程。而且还提供了免费使用的Plan,以及免费的可以独立部署的社区版本 , 地址。

官网:传送门
镜像地址:传送门

本篇环境信息

  • 服务器信息
    服务器名称: GitLab
    操作系统:Centos 7
    硬件配置: 4C8G
    说明:部署 GitLab 社区版
  • 软件
    工具 / 环境:GitLab
    版本: 社区版 14.4.2

准备工作

配置清华大学镜像仓库

  • 新建仓库配置文件
    使用 vim /etc/yum.repos.d/gitlab-ce.repo 命令,输入以下内容
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
  • 更新 yum缓存
# 重新 yum 编译仓库缓存
$ sudo yum makecache# 建立元数据缓存
$ sudo yum install gitlab-ce

安装基础依赖

# 安装基础依赖
$ sudo yum -y install policycoreutils openssh-server openssh-clients postfix# 启动 ssh 服务 & 设置为开机启动
$ sudo systemctl enable sshd & sudo systemctl start sshd

安装 Postfix

Postfix 是一个邮件服务器,GitLab 发送邮件需要用到

# 安装 postfix
$ sudo yum install -y postfix# 启动 postfix 并设置为开机启动
$ sudo systemctl enable postfix & sudo systemctl start postfix

开放 ssh 以及 http 服务(80 端口)

# 开放 ssh、http 服务
$ sudo firewall-cmd --add-service=ssh --permanent & sudo firewall-cmd --add-service=http --permanent# 重载防火墙规则
$ sudo firewall-cmd --reload

部署过程

本次我们部署的是社区版: gitlab-ce ,如果要部署商业版可以把关键字替换为:gitlab-ee

1、Yum安装GitLab

  • 下载指定版本的 gitlab,可以在清华大学镜像站去选择:地址
$ wget http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.4.2-ce.0.el7.x86_64.rpm
  • 安装 GitLab 社区版
$ rpm -i gitlab-ce-14.4.2-ce.0.el7.x86_64.rpm

安装成功后会看到 gitlab-ce 打印了以下图形

2、配置 GitLab站点 Url和端口号

GitLab 默认的配置文件路径是 /etc/gitlab/gitlab.rb

默认的站点 Url 配置项是:external_url 'http://gitlab.example.com

这里我将 GitLab 站点 Url 修改为 http://127.0.0.1:8000 也可以用域名代替 IP,这里根据自己需求来即可

# 修改配置文件
$ sudo vi /etc/gitlab/gitlab.rb# 配置首页地址(大约在第 15 行)
$ external_url 'http://127.0.0.1:8000'# 开放端口号
$ firewall-cmd --zone=public --add-port=8000/tcp --permanent
# 重启防火墙
$ systemctl restart firewalld
# 查看是否成功
$ firewall-cmd --zone=public --query-port=8000/tcp

3、启动并访问GitLab

  • 启动GitLab
# 重新配置并启动
$ sudo gitlab-ctl reconfigure# 完成后将会看到如下输出
Running handlers:
Running handlers complete
Chef Infra Client finished, 10/776 resources updated in 45 seconds
gitlab Reconfigured!
# 启动 gitlab
$ gitlab-ctl restart
# 查看启动详细信息
$ systemctl status gitlab-runsvdir.service
  • 访问 GitLab
    将设置的域名 DNS 解析到服务器 IP,或者修改本地 host 将域名指向服务器 IP。访问:
    http://192.168.0.10:8000/users/sign_in

    进入首页,随后进行登录,管理员账号默认用户名是root。

初始化密码可以在 GitLab初始化文件查看

$ cat /etc/gitlab/initial_root_password
# 复制 Password 后面的内容即可
Password: E+EA7WZie9zJbMQ2gwISeVN/We9DBZmYsMFpbjzhYcc=

登录进来进入首页:

四、gitlab内存过高情况

cpu占用不高但是内存不高,一个gitlab内存占用过高

free -h

1、修改gitlab配置

vim /etc/gitlab/gitlab.rb

gitlab_rails[‘time_zone’] = ‘Asia/Shanghai’ //修改时间格式
puma[‘worker_processes’] = 1//可以将worker内存上限设置小一点
prometheus_monitoring[‘enable’] = false // 不启用普罗米修斯监控
postgresql[‘shared_buffers’] //减少数据库缓存(默认为256MB 我改为64MB了)
postgresql[‘max_worker_processes’] //减少数据库并发数(默认为8 我改为1了)
sidekiq[‘max-concurrency’] //减少sidekiq并发数,改为1
sidekiq[‘min-concurrency’] //减少sidekiq并发,改为1

2、邮件配置

配置邮箱可以让 GitLab 在发生相应事件的时候进行邮件通知

比如:找回密码、添加邮箱等
首先登录邮箱设置里面 开启服务

# 修改配置文件
$ sudo vi /etc/gitlab/gitlab.rb# 邮件配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.163.com'
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = 'yourmail@163.com'
gitlab_rails['smtp_password'] = '开启服务后给的授权码,不是邮箱登陆密码'
gitlab_rails['smtp_domain'] = 'smtp.163.com'
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'yourmail@163.com'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'# 保存后,重新配置并启动 GitLab
$ sudo gitlab-ctl reconfigure

2、重启服务

gitlab-ctl reconfigure
gitlab-ctl restart
# 测试是否配置成功
sudo gitlab-rails console
irb(main):001:0> Notify.test_email('xxxxxxx@qq.com', 'hello', 'bbbb').deliver_now

五、GitLab 常用配置

2、禁用创建组权限

GitLab 默认所有的注册用户都可以创建组。但对于团队来说,通常只会给 Leader 相关权限。

虽然可以在用户管理界面取消权限,但毕竟不方便。我们可以通过配置 GitLab 默认禁用创建组权限。

# 修改配置文件
$ sudo vi /etc/gitlab/gitlab.rb# 开启 gitlab_rails['gitlab_default_can_create_group'] 选项,并将值设置为 false
### GitLab user privileges
$ gitlab_rails['gitlab_default_can_create_group'] = false# 保存后,重新配置并启动 GitLab
$ sudo gitlab-ctl reconfigure

3、gitlab-ctl 常用命令介绍

命令 说明
check-config 检查在 gitlab 中是否有任何配置。在指定版本中删除的 rb
deploy-page 安装部署页面
diff-config 将用户配置与包可用配置进行比较
remove-accounts 删除所有用户和组
upgrade 升级
service-list 查看所有服务
once 如果 GitLab 服务停止了就启动服务,如果已启动就不做任何操作
restart 重启 GitLab 服务
start 如果 GitLab 服务停止了就启动服务,如果已启动就重启服务
stop 停止 GitLab 服务
status 查看 GitLab 服务状态
reconfigure reconfigure 重新配置 GitLab 并启动

六、参考

https://www.mobaijun.com/posts/4047318542.html
https://www.cnblogs.com/dzqdzq/p/9750126.html

CentOS-7 下 GitLab 安装部署教程相关推荐

  1. CentOS 7下Gitlab安装和迁移

    Gitlab做迁移,有一些麻烦,有如下结论: 1:Gitlab版本要完全一致,mysql版本最好一致(不能相差太大),服务器版本可以不一样(例如:迁移前环境为centos6.5,迁移后环境为cento ...

  2. Linux 下 GitLab 安装教程

    Linux 下 GitLab 安装教程 安装 Linux 下载 GitLab 安装 GitLab 登录 GitLab GitLab 汉化 GitLab 设置密钥 卸载 GitLab 为了便于以后使用, ...

  3. centos得mysql安装教程_Centos下Mysql安装图文教程_MySQL

    Mysql是比较常用的数据库,日常开发中也是采用地比较多.工欲善其事必先利其器,本文特地来讲解下如何在centos(其他linux发行版类似)下安装Mysql.首先准备的材料:Mysql,我这里采用的 ...

  4. Hive入门教程<2> | hive在centos7下的安装部署

    hive在centos7下的安装部署 前提 安装hive hadoop集群配置 hive基本操作 演示向hive中导入本地数据文件 前提 1.首先有自己的远程终端登录工具,我这里用的是mobaxter ...

  5. Nginx Linux详细安装部署教程

    Nginx Linux详细安装部署教程 一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入 ...

  6. 五丶阿东安装部署教程+青龙对接阿东及傻妞实现自动登录

    阿东安装部署教程+青龙对接阿东及傻妞实现自动登录 没有服务器的先自行购买,这里推荐腾讯云2H4G8M首年70–点击购买 青龙面板安装 傻妞安装教程--+命令 QQ交流:1014549449 ----- ...

  7. 【gitlab】gitlab快速部署教程

    gitlab快速部署教程 部署环境 Ubuntu 16.04(亲测可用) 开始部署 安装依赖 sudo apt-get install curl openssh-server ca-certifica ...

  8. Wix 安装部署教程(十二) -- 自动更新WXS文件

    原文:Wix 安装部署教程(十二) -- 自动更新WXS文件 上一篇分享了一个QuickWIX,用来对比两个工程前后的差异,但是这样还是很繁琐,而且昨天发现有Bug,目录对比有问题.这次改变做法,完全 ...

  9. php安装redis扩展报错,CentOS 67下php5+安装redis扩展组件

    首先去redis官网,点击 clients 链接,在 Browse by language 内点击 PHP 项,以phpredis为例,打开这个扩展扩展组件的链接,到github下载此扩展组件. 下载 ...

最新文章

  1. AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码
  2. Citrix Xendesktop中VDA注册DDC的流程
  3. HDU 2087 (KMP不可重叠的匹配) 花布条
  4. java中treemap释放_81.Java集合之TreeMap
  5. [php]apache虚拟主机配置
  6. 综合程序设计 7-4 完美的代价 (40分)
  7. 自动化测试框架 2019_2019年用于自动化的5个最佳Java测试框架
  8. JMeter定制功能实现
  9. 2019年Java程序设计讲课笔记目录
  10. pycharm中文乱码
  11. for的用法详解,for循环完全攻略
  12. 弗吉尼亚理工大学计算机科学,美国弗吉尼亚理工大学计算机科学本科.pdf
  13. 笔记本电脑更换固态硬盘教程(联想ThinkPadE455)
  14. IDEA Plugins中搜索不到插件解决办法
  15. 华为路由器可以连接几个设备_华为如何设置连接两个无线路由器
  16. 【TREC】TREC LOG
  17. 整体大于部分_格式塔心理咨询与治疗技术之争议话题:“整体大于部分之和”...
  18. c语言+连加2的指令,c语言计算1+2+……+n的累加求和 用while和for俩种方法?
  19. 重启计算机设的桌面背景就没了,电脑重启后壁纸消失如何解决
  20. 计算机插座cad,网线在cad中怎么表示(cad中插座的表示方法?)

热门文章

  1. rebalance的详细过程
  2. xcod7开发下 替换字符串中的某个元素
  3. 动态规划之练习【2】
  4. 阿里云子账号登录地址
  5. 使用一个统一的窗体样式风格
  6. 逻辑性强,其实是个致命的弱点
  7. 3 EXCEL快速输入数据
  8. Xiaojie雷达之路---TI实战笔记---MSS代码详细解读
  9. 时间管理-未经思考的人生不值得过
  10. Caused by: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row: