Linux架构篇
欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神!
题目:GitLab从环境搭建到项目管理与邮箱配置指南
版本号: 1.0,0
作者: @laowang
日期: 2025.05.15
适用环境:
文档说明
本文档为《Linux 拓展篇》实验指南,版本 1.0,作者 @laowang,适用于 CentOS 7 系统,主要围绕 GitLab 17.9.7 的使用展开,内容涵盖环境准备、里程碑创建、议题管理、分支操作、合并请求流程及注册功能配置等,还包含 SMTP 邮箱配置步骤与测试方法,旨在指导用户完成 GitLab 项目管理全流程操作
环境准备
硬件要求
• 服务器: 2核CPU、8GB内存,20GB硬盘空间
• 网络: 确保服务器具有固定的IP地址,并且防火墙允许FTP端口(默认22端口)的通信
软件要求
• 操作系统:CentOS 7
• FTP软件:SecureCRT
• 软件包:gitlab-ce-17.9.7-ce.0.el8.x86_64
- 创建里程碑
本次实验消耗内存提前添加内存到8G之上
1.1启动 GitLab
gitlab-ctl start
1.2生成一个默认的标记
1.3创建一个新的议题
1.4登录user1查看发布的任务(开启新的浏览器进行登录方便查看)
http://192.168.174.10/
1.5完成任务创建新分支
1.6切换分支完成任务
1.7创建合并请求
1.8登录pm项目经理
1.9合并请求
1.10关闭里程碑
- 创建里程碑v2
2.1创建里程碑
2.2创建新议题(这次分给user2)
2.3登录user2查看任务
2.4创建新的分支
2.5完成pm发布的任务
2.6创建合并请求
2.7回到pm查看合并请求进行评价
2.8回到user2查看老板的请评价,进行回复
2.9回到pm查看消息
2.10合并请求
三、注册的应用与管理
3.1回到主页进行注册(注册新的用户)
3.2登录发现登录不上去,我们需要进入root管理者给他批准
3.3批准完成再次尝试登录zhangsan用户
3.4关闭注册功能(因闲散人员恶意注册,公司觉得将测试功能临时关闭)
四、注册邮箱方法验证(因上述方法每次来新人注册都需要我们root进行批准比较繁琐,我们可尝试如下办法:)
4.1修改创建规则
4.2进行创建
4.3成功配置文件添加邮箱
4.4删除井号
Ctrl键 + v 进入可视化模式
键盘上下键进行选择;在按键盘“d键”进行批量删除
4.5修改真实的邮箱地址(我这里使用的是163【默认端口号25】其他邮箱也可以方法 不同)
4.6获取授权码
4.7配置分析如下
# 启用邮件发送功能
gitlab_rails['smtp_enable'] = true
#163的smtp地址
gitlab_rails['smtp_address'] = "smtp.163.com"
# 163默认端口
gitlab_rails['smtp_port'] = 465
# 你的邮箱地址
gitlab_rails['smtp_user_name'] = yourname@163.com
# 你的授权码
gitlab_rails['smtp_password'] = "授权码"
# SMTP域名配置
gitlab_rails['smtp_domain'] = "163.com"
# GitLab SMTP 认证方式的设置
gitlab_rails['smtp_authentication'] = "login"
# 禁用 STARTTLS 加密的设置
gitlab_rails['smtp_enable_starttls_auto'] = false
# 起用SSL/TLS 加密的设置
gitlab_rails['smtp_tls'] = true
# 禁用 SMTP 连接池功能
gitlab_rails['smtp_pool'] = false
4.9修改完重启服务配置
# 安装 telnet
yum install telnet -y
# 测试端口通信是否正常
telnet smtp.163.com 465
# 结果如下
Trying 117.135.214.13...
Connected to smtp.163.com.
Escape character is '^]'.
Connection closed by foreign host.
# 重启服务
gitlab-ctl reconfigure
gitlab-ctl restart
4.10自测 邮箱 有效性
gitlab-rails console
# 输出如下:
--------------------------------------------------------------------------------
Ruby: ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [x86_64-linux]
GitLab: 17.9.7 (4500c0eb594) FOSS
GitLab Shell: 14.40.0
PostgreSQL: 14.17
------------------------------------------------------------[ booted in 24.91s ]
Loading production environment (Rails 7.0.8.7)
4.11向邮箱发送邮件
irb(main):001:0> Notify.test_email('your_email@example.com', 'Test Subject', 'Test Body').deliver_now