CentOS-7 下 GitLab 安装部署教程

2023-05-16

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 服务状态
reconfigurereconfigure 重新配置 GitLab 并启动

六、参考

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS-7 下 GitLab 安装部署教程 的相关文章

  • Linux下查看文件和文件夹大小的df和du命令

    当磁盘大小超过标准时会有报警提示 xff0c 这时如果掌握df和du命令是非常明智的选择 df可以查看一级文件夹大小 使用比例 档案系统及其挂入点 xff0c 但对文件却无能为力 du可以查看文件及文件夹的大小 两者配合使用 xff0c 非
  • 算法系列之九:计算几何与图形学有关的几种常用算法(一)

    我的专业是计算机辅助设计 xff08 CAD xff09 xff0c 算是一半机械一半软件 xff0c 计算机图形学 是必修课 xff0c 也是我最喜欢的课程 热衷于用代码摆平一切的我几乎将这本教科书上的每种算法都实现了一遍 xff0c 这
  • uiviewController管理UITableView

    iOS开发 xff1a 如何作为子类来创建和管理UITableView 已有 184 次阅读 2011 10 24 21 38 标签 UIViewController UIView UITableView iOS 在iPhone应用开发中个
  • 【Iphone 游戏开发之一】创建视图并绘制简单图形

    Himi 原创 xff0c 转载请注明 xff01 原文地址 xff1a http blog csdn net xiaominghimi article details 6633172 这段时间N忙 xff0c 没办法 xff0c 创业公司
  • archlinux中virtualbox无法运行问题解决

    在archlinux中安装完成virtualbox后 xff0c 新建虚拟机无法启动 xff0c 而是出现下图的提示 xff1a 在fedora中直接用root权限运行 etc init d vboxdrv setup重新加载一下驱动就可以
  • 【Linux】Ubuntu 代理配置

    apt get 设置代理 proxy 方法 方法一 xff1a 这是一种临时的手段 xff0c 如果你仅仅是暂时需要通过http代理使用apt get xff0c 你可以使用这种方法 在使用 apt get 之前 xff0c 在终端中输入以
  • 百度之星之E:C++ 与Java

    E C 43 43 与Java 时间限制 2000ms 内存限制 65536kB 描述 在百度之星的贴吧里面 xff0c Java的爱好者和C 43 43 的爱好者总是能为这两种语言哪个更好争论上几个小时 Java的爱好者会说他们的程序更加
  • 并查集详解

    并查集是我暑假从高手那里学到的一招 xff0c 觉得真是太精妙的设计了 以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定 不分享出来真是对不起party了 xff08 party xff1a 我靠 xff0c 关我嘛事啊 xff1f
  • ubuntu18.04 开启ssh远程服务

    1 查看ssh服务是否已经开启 说明 xff1a 1 ssh agent 指的是ubuntu的ssh服务的客户端 xff0c 用于该ubuntu远程连接其它Linux主机 如果没有ssh agent的话 xff0c 该ubuntu主机也无法
  • Python必备知识之“if __name__ == ‘__main__‘:”

    在学习Python的过程中经常会看到 if name 61 61 39 main 39 这行代码 xff0c 那么这行代码的作用究竟是什么呢 xff1f if name 61 61 39 main 39 这行代码的主要作用是调试某个模块的正
  • Windows Server 网络连接由公用网络改为专用网络

    主题 xff1a Windows Server 网络连接由公用网络改为专用网络 关键字 xff1a 问题描述 xff1a Windows Server 2012 r2 启动后网络连接被识别为公用网络 xff0c 导致远程桌面等服务无法使用
  • 关于书籍(WPF及其它)

    原文 xff1a On Books WPF and Otherwise 有人让我去看coding horror comparison xff0c 这篇文章来至于Charles Petzold和Adam Nathan的书籍 xff0c 是关于
  • pip,pip安装源

    介绍 Python在使用pip安装第三方包 第三方功能库的时候 xff0c pip3 pip install xxx走的是国外源 xff0c 有点慢 我们可以采用国内源加快下载的速度 常用pip源 xff1b 豆瓣 xff1a https
  • 安装Anaconda时安装路径错误,提示Directory" xxx is not empty ,please choose a different location."问题的解决方案

    错误如下图所示 重新选择路径 xff0c 选择平时安装的盘 xff0c 然后手动输入Anaconda xff0c 即可正常安装 xff08 在这一步之前一定要删除卸载 先前安装产生的文件夹 xff09 进QQ群 xff08 77980901
  • vue项目引入PWA(vue-cli4)

    1 概念 PWA 全称为 Progressive Web App xff0c 中文译为渐进式 Web APP 其目的是通过各种 Web 技术实现与原生 App 相近的用户体验 也就是说 xff0c 只要你使用浏览器 xff0c 就可以实现免
  • Linux远程管理协议(RFB、RDP、Telnet和SSH)

    提到远程管理 xff0c 通常指的是远程管理服务器 xff0c 而非个人计算机 个人计算机可以随时拿来用 xff0c 服务器通常放置在机房中 xff0c 用户无法直接接触到服务器硬件 xff0c 只能采用远程管理的方式 远程管理 xff0c
  • Python第三方库(模块)下载和安装(使用pip命令)

    Python第三方库是由社区开发者编写的代码包 xff0c 用于增强Python的功能和提供各种特定的功能 通常 xff0c 这些库被打包为模块 xff0c 可以通过使用Python包管理工具pip来下载和安装 以下是使用pip下载和安装P
  • 计蒜客T1098 大整数加法

    求两个不超过 200 位的非负整数的和 输入格式 有两行 xff0c 每行是一个不超过 200 位的非负整数 xff0c 可能有多余的前导 0 输出格式 一行 xff0c 即相加后的结果 结果里不能有多余的前导 0 xff0c 即如果结果是
  • Linux系统学习(三)Linux系统管理

    用户和组管理 1 配置文件 passwd文件 位置 xff1a etc passwd xff1b 对任何用户可读 作用 xff1a 用于保存各用户的账户信息 shadow文件 位置 xff1a etc shadow xff1b 只对root
  • HTTP Host 头攻击 -- 学习笔记

    目录 1 HTTP Host头攻击 2 HTTP Host头的作用 3 什么是HTTP Host头攻击 4 如何发掘HTTP Host头攻击 修改Host值 添加重复的Host头 使用绝对路径的URL 添加缩进或换行 注入覆盖Host头的字

随机推荐