当前位置: 首页 > news >正文

分布式版本控制系统Gitlab

目录

一、环境

二、部署

1. 开启邮件服务

2. 添加YUM源

3. 安装gitlab

4. 查看gitlab版本

三、配置

1.  配置登录接口

2. 配置smtp邮件通知

3. 初始化启动

4. 发送邮件测试

5. 浏览器登录

(1)修改密码

(2)取消用户自动注册功能(安全)

(3)修改中英文皮肤

​编辑四、创建项目

五、开发机克隆远程仓库

六、上传Markdown帮助文档

七、新建分支

验证


一、环境

关闭防火墙和SELINUX

主机名IP地址系统版本
gitlab-server192.168.159.133CentOS Stream release 9

二、部署

1. 开启邮件服务

yum install -y postfix && systemctl start  postfix && systemctl enable postfix

2. 添加YUM源

(1)官方源:

 curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

(2)清华源:

[root@gitlab-sever ~]# 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

3. 安装gitlab

yum -y install gitlab-ce  #自动安装最新版

4. 查看gitlab版本

[root@gitlab-sever ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 18.5.1

三、配置

1.  配置登录接口

[root@gitlab-sever ~]# grep "192.168.159.133" /etc/gitlab/gitlab.rb 
external_url 'http://192.168.159.133'

2. 配置smtp邮件通知

[root@gitlab-sever ~]# grep "gitlab_rails" /etc/gitlab/gitlab.rb | grep -v "^#" 
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "2126177631@qq.com"
gitlab_rails['smtp_password'] = "pbdvpdxauvwvfddi"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '2126177631@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab'
gitlab_rails['gitlab_email_reply_to'] = '2126177631@qq.com'
gitlab_rails['gitlab_email_subject_suffix'] = '[gitlab]'

3. 初始化启动

[root@gitlab-sever ~]# gitlab-ctl reconfigure[root@gitlab-sever ~]# gitlab-ctl start[root@gitlab-sever ~]# lsof -i:80
COMMAND    PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx     4497       root    7u  IPv4  68812      0t0  TCP *:http (LISTEN)
nginx     4498 gitlab-www    7u  IPv4  68812      0t0  TCP *:http (LISTEN)
nginx     4499 gitlab-www    7u  IPv4  68812      0t0  TCP *:http (LISTEN)
nginx     4499 gitlab-www   16u  IPv4  67979      0t0  TCP bogon:http->bogon:58438 (ESTABLISHED)
nginx     4500 gitlab-www    7u  IPv4  68812      0t0  TCP *:http (LISTEN)
nginx     4501 gitlab-www    7u  IPv4  68812      0t0  TCP *:http (LISTEN)
gitlab-ka 4568        git    7u  IPv4  68899      0t0  TCP bogon:58438->bogon:http (ESTABLISHED)

4. 发送邮件测试

# 发送邮件
[root@gitlab-sever ~]# gitlab-rails console
--------------------------------------------------------------------------------Ruby:         ruby 3.2.8 (2025-03-26 revision 13f495dc2c) [x86_64-linux]GitLab:       18.5.1 (2e5ae10576d) FOSSGitLab Shell: 14.45.3PostgreSQL:   16.10
------------------------------------------------------------[ booted in 37.54s ]
Loading production environment (Rails 7.1.5.2)
irb(main):001> Notify.test_email('2126177631@qq.com', 'Test Subject', 'Test Body').deliver_now
net-smtp (0.3.3) lib/net/smtp.rb:1076:in `check_response':  (Net::SMTPUnknownError)from net-smtp (0.3.3) lib/net/smtp.rb:1044:in `getok'from net-smtp (0.3.3) lib/net/smtp.rb:1026:in `quit'from net-smtp (0.3.3) lib/net/smtp.rb:715:in `do_finish'from net-smtp (0.3.3) lib/net/smtp.rb:614:in `start'from config/initializers/mail_starttls_patch.rb:53:in `start_smtp_session'from mail (2.8.1) lib/mail/network/delivery_methods/smtp.rb:100:in `deliver!'from mail (2.8.1) lib/mail/message.rb:2145:in `do_delivery'from mail (2.8.1) lib/mail/message.rb:253:in `block in deliver'from actionmailer (7.1.5.2) lib/action_mailer/base.rb:600:in `block in deliver_mail'from activesupport (7.1.5.2) lib/active_support/notifications.rb:208:in `instrument'from actionmailer (7.1.5.2) lib/action_mailer/base.rb:598:in `deliver_mail'from mail (2.8.1) lib/mail/message.rb:253:in `deliver'from actionmailer (7.1.5.2) lib/action_mailer/message_delivery.rb:126:in `block (2 levels) in deliver_now'from activesupport (7.1.5.2) lib/active_support/callbacks.rb:101:in `run_callbacks'from actionmailer (7.1.5.2) lib/action_mailer/message_delivery.rb:125:in `block in deliver_now'from actionmailer (7.1.5.2) lib/action_mailer/rescuable.rb:21:in `handle_exceptions'... 17 levels...
irb(main):002> 

5. 浏览器登录

[root@gitlab-sever gitlab]# cat  initial_root_password 
# WARNING: This password is only valid if ALL of the following are true:
#          ? You set it manually via the GITLAB_ROOT_PASSWORD environment variable
#            OR the gitlab_rails['initial_root_password'] setting in /etc/gitlab/gitlab.rb
#          ? You set it BEFORE the initial database setup (typically during first installation)
#          ? You have NOT changed the password since then (via web UI or command line)
#
#          If this password doesn't work, reset the admin password using:
#          https://docs.gitlab.com/security/reset_user_password/#reset-the-root-passwordPassword: sL6X3Yc8uR7Rd4u/UMPy/zNzLTVtg5VAJ7E7NhBJsZ0=# NOTE: This file is automatically deleted after 24 hours on the next reconfigure run.

(1)修改密码

(2)取消用户自动注册功能(安全)

(3)修改中英文皮肤

可设置时间、语言、背景等



四、创建项目

五、开发机克隆远程仓库

[root@dev ~]# git config --global user.email "2126177631@qq.com"
[root@dev ~]# git config --global user.name "ink"从远程Git 仓库服务器克隆一个完整的代码仓库到本地
[root@dev ~]# git clone http://192.168.159.133/root/test.git
Cloning into 'test'...
Username for 'http://192.168.159.133': root      # 输入用户名
Password for 'http://root@192.168.159.133':      # 输入密码
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.# 查看仓库
[root@dev ~]# ls 
anaconda-ks.cfg  test
[root@dev ~]# cd test/
[root@dev test]# ls -a
.  ..  .git  README.md

持续交付

[root@dev test]# ls -a
.  ..  .git  os_info.py  README.md
[root@dev test]# git add os_info.py 
[root@dev test]# git commit -m "Version01:检查系统基础状态"
[main ba57bae] Version01:检查系统基础状态1 file changed, 115 insertions(+)create mode 100644 os_info.py
[root@dev test]# git log
commit ba57bae0870e44feef7e57bec86aa87ada79d1f9 (HEAD -> main)
Author: ink <2126177631@qq.com>
Date:   Tue Oct 28 17:51:16 2025 +0800Version01:检查系统基础状态commit 113edcc0d93ae5f7dce339dd07973732e7fa194e (origin/main, origin/HEAD)
Author: ink <2126177631@qq.com>
Date:   Tue Oct 28 17:39:31 2025 +0800Initial commit[root@dev test]# git branch -a
* mainremotes/origin/HEAD -> origin/mainremotes/origin/main# 注意提交时所在的分支
[root@dev test]# git push origin main
Username for 'http://192.168.159.133': root  
Password for 'http://root@192.168.159.133': 
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 1.80 KiB | 1.80 MiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To http://192.168.159.133/root/test.git113edcc..ba57bae  main -> main

六、上传Markdown帮助文档

[root@dev test]# mkdir docs
[root@dev test]# cd docs/
[root@dev docs]# vim help.md
[root@dev docs]# cat help.md 
# 一、测试项目
## 1. 监控系统基础状态
(1)**CPU使用率**
(2)**内存使用率**
(3)磁盘使用率
(4)系统版本
(5)……保留选项……[root@dev test]# git add docs
[root@dev test]# git commit -m "Version:添加docs目录及其帮助文档!"[root@dev test]# git log
commit 7fa58cf6dd61fed6b9ad838cae7bc3de79a82a0a (HEAD -> main)
Author: ink <2126177631@qq.com>
Date:   Tue Oct 28 19:06:13 2025 +0800Version:添加docs目录及其帮助文档!commit ba57bae0870e44feef7e57bec86aa87ada79d1f9 (origin/main, origin/HEAD)
Author: ink <2126177631@qq.com>
Date:   Tue Oct 28 17:51:16 2025 +0800Version01:检查系统基础状态commit 113edcc0d93ae5f7dce339dd07973732e7fa194e
Author: ink <2126177631@qq.com>
Date:   Tue Oct 28 17:39:31 2025 +0800Initial commit[root@dev test]# git push origin main

创建代码块

七、新建分支

验证

http://www.dtcms.com/a/540800.html

相关文章:

  • 商城推荐系统|基于SprinBoot+vue的商城推荐系统(源码+数据库+文档)
  • 可以写代码的网站平面设计考研科目
  • Python数据分析实战:基于上证指数历史数据的时间序列与特征分析应用【数据集可下载】
  • 延迟双删介绍
  • 如何自学开发
  • 游戏类企业网站模板wordpress为什么进不去了
  • 告别设备限制!CodeServer+cpolar让VS Code随时随地在线编程
  • n8n安装教程和快速开始实现模型对话
  • DooTask 1.3.38 版本更新:MCP 服务器与 AI 工具深度融合,开启任务管理新体验
  • 14天极限复习软考day5-23年真题
  • 【面试高频】手写 Promise 四大并发方法
  • 所有网站的名字大全爱客装修官网
  • 互联网大厂Java面试实录:Spring Boot微服务架构实战与JVM深度调优
  • Comparator 比较器 算法排序工具
  • 做网站的流量怎么算钱浦东网站建设箱海运
  • 【LeetCode热题100(55/100)】子集
  • 网站底部设计代码响应式网站检测工具
  • 前端开发,为什么容易被边缘化?
  • PartList::getNamedPart(...)获取对象为空
  • 做食品网站有哪些东西企业信息管理系统erp
  • 廊坊网站制作费用青海西宁网页网站制作
  • 东莞好的网站建设哪家好做设计找素材那个网站最好用
  • php 怎么做视频网站陕西省建设网三类人员成绩公示
  • 多模态的大模型文本分类模型代码(一)——准备阶段
  • 算法———栈
  • 甜点的网站建设规划书企业qq和个人qq有什么区别
  • java公式解析工具
  • 元推理:自指自洽,求道求德,美轮美奂
  • IE-Sec笔记7
  • 【Linux基础知识系列:第一百六十一篇】终端文件管理器:Midnight Commander (mc)