GitLab服务器的搭建

avatar
作者
猴君
阅读量:0

GitLab服务器的搭建

为公司搭建一台代码托管服务器

服务器规格:2vCPUs+4GiB+20G

操作系统:RockyLinux8.8

在这里插入图片描述

下载软件

gitlab官网:http://about.gitlab.com

在官网下载比较麻烦,推荐从《清华大学开源软件镜像站》下载

清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/

在这里插入图片描述

搜索框输入:gitlab

选择gitlab-ce,在里面进入yum目录,再下载rpm软件包(当前使用的方法)

点击这个“蓝色的小问号”就会告诉你怎么配置yum地址(如果机器可以上网,也可以用这种方式)

[root@gitlab ~]# ls gitlab-ce-13.1.0-ce.0.el7.x86_64.rpm 

安装软件

[root@gitlab ~]# rpm -ivh --nodeps --force gitlab-ce-13.1.0-ce.0.el7.x86_64.rpm 
  1. -i: 安装软件包。

  2. -v: 显示详细的安装过程(verbose)。

  3. -h: 在安装过程中显示安装进度(hash marks)。

  4. --nodeps: 不检查软件包之间的依赖关系。这通常是不推荐的,因为它可能导致系统不稳定或软件包无法正常工作。但在某些特殊情况下,当您知道自己在做什么并且确实需要这样做时,可以使用这个选项。

  5. --force: 强制进行某些操作,例如覆盖已经存在的文件。这同样是一个需要谨慎使用的选项,因为它可能会破坏现有的系统文件或配置。

    在这里插入图片描述

    重启GitLab相关服务
[root@gitlab ~]# gitlab-ctl restart [2024-05-01T22:40:31+08:00] WARN: Please install an English UTF-8 locale for Chef to use, falling back to C locale and disabling UTF-8 support. ok: run: alertmanager: (pid 3487) 1s ok: run: gitaly: (pid 3497) 0s ok: run: gitlab-exporter: (pid 3514) 1s ok: run: gitlab-workhorse: (pid 3531) 0s ok: run: grafana: (pid 3542) 1s ok: run: logrotate: (pid 3630) 0s ok: run: nginx: (pid 3636) 0s ok: run: node-exporter: (pid 3649) 1s ok: run: postgres-exporter: (pid 3655) 0s ok: run: postgresql: (pid 3664) 1s ok: run: prometheus: (pid 3673) 0s ok: run: puma: (pid 3686) 1s ok: run: redis: (pid 3692) 0s ok: run: redis-exporter: (pid 3698) 0s ok: run: sidekiq: (pid 3706) 0s 

alertmanager:用于处理来自客户端(如 Prometheus)的警报,并将它们通过不同的方式(如电子邮件、Slack、PagerDuty 等)发送出去。

gitaly:GitLab 的后端服务,提供了对 Git 仓库的访问和操作。GitLab 通过 Gitaly 来进行几乎所有的 Git 操作。

gitlab-exporter:一个 Prometheus 导出器(exporter),用于收集 GitLab 的监控数据并暴露给 Prometheus。

gitlab-workhorse:GitLab 的反向代理服务器,用于处理前端 HTTP 请求,并将它们路由到正确的后端服务。

grafana:一个开源的数据可视化工具,用于构建和分享监控仪表板。GitLab 可能用它来展示 Prometheus 收集的监控数据。

logrotate:用于管理日志文件的工具,可以自动轮换、压缩、删除和邮件日志文件。确保日志文件不会占用过多的磁盘空间。

nginx:一个高性能的 HTTP 和反向代理服务器,也是 IMAP/POP3/SMTP 代理服务器。在 GitLab 中,它通常作为静态文件服务器和反向代理使用。

node-exporter:Prometheus 的 Node Exporter,用于从主机上收集硬件和操作系统的指标。

postgres-exporter:Prometheus 的 PostgreSQL 导出器,用于收集 PostgreSQL 数据库的性能指标。

postgresql:GitLab 的数据库服务,用于存储所有的元数据(如用户信息、项目设置、CI/CD 配置等)。

prometheus:一个开源的监控和告警工具包,用于收集、存储和查询时间序列数据。GitLab 使用它来监控整个集群的健康状况和性能。

puma:GitLab Ruby 应用的一个 web 服务器,用于处理应用程序的请求。

redis:一个开源的内存数据结构存储系统,可以用作数据库、缓存和消息代理。在 GitLab 中,它通常用作缓存服务。

redis-exporter:Prometheus 的 Redis 导出器,用于收集 Redis 服务器的性能指标。

sidekiq:GitLab 使用的后台处理服务,用于处理非实时任务,如发送电子邮件、处理 CI/CD 管道等。

通过浏览器访问配置管理页面

[root@gitlab ~]# ss -untlp | grep nginx tcp   LISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=3638,fd=7),("nginx",pid=3637,fd=7),("nginx",pid=3636,fd=7)) tcp   LISTEN 0      511          0.0.0.0:8060      0.0.0.0:*    users:(("nginx",pid=3638,fd=8),("nginx",pid=3637,fd=8),("nginx",pid=3636,fd=8)) 

确定nginx正常启动

通过浏览器访问:http://192.168.1.20

在这里插入图片描述

登录

在这里插入图片描述

在这里插入图片描述

通过用户偏好设置对页面进行汉化

在这里插入图片描述

在这里插入图片描述

刷新一下页面,就可以看见效果了

用户管理

为程序员提供账号

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

GitLab组管理

可以把相同部门的人放在同一个组

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

http://gitlab.example.com/codingteam/demo.git 

需要把地址中的 gitlab.example.com部分修该为本机的ip就可以了

http://192.168.1.20/codingteam/demo.git 
现在只需要把地址,告诉程序员,就可以提交代码了

命令行指引

您还可以按照以下说明从计算机中上传现有文件。

Git 全局设置
git config --global user.name "Administrator" git config --global user.email "admin@example.com" 
创建一个新仓库
git clone http://192.168.1.20/codingteam/demo.git cd demo touch README.md git add README.md git commit -m "add README" git push -u origin master 
推送现有文件夹
cd existing_folder git init git remote add origin http://192.168.1.20/codingteam/demo.git git add . git commit -m "Initial commit" git push -u origin master 
推送现有的 Git 仓库
cd existing_repo git remote rename origin old-origin git remote add origin http://192.168.1.20/codingteam/demo.git git push -u origin --all git push -u origin --tags gin master 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!