极狐Gitlab使用(2)

news2024/9/21 22:29:53

目录

1. Gitlab命令行修改管理员密码

2. Gitlab服务管理

3. 公司的开发代码提交处理流程

4. Gitlab 备份与恢复

数据备份

测试数据恢复

5. 邮箱配置


 

1. Gitlab命令行修改管理员密码

[root@tty01 ~]# gitlab-rails console -e production        # 启动GitLab的Rails控制台
--------------------------------------------------------------------------------
 Ruby:         ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
 GitLab:       16.11.5-jh (3a067aedcc3) EE
 GitLab Shell: 14.35.0
 PostgreSQL:   14.11
------------------------------------------------------------[ booted in 50.69s ]
Loading production environment (Rails 7.0.8.1)
irb(main):001:0> user = User.where(id: 1).first           # id为1的是超级管理员
=> #<User id:1 @root>
irb(main):002:0> user.password = 'Qq111111'               # 密码必须至少8个字符
=> "Qq111111"
irb(main):003:0> user.save!                               # 如没有问题 返回true
=> true
irb(main):004:0> exit                                     # 退出

2. Gitlab服务管理

gitlab-ctl start                        # 启动所有 gitlab 组件;
gitlab-ctl stop                         # 停止所有 gitlab 组件;
gitlab-ctl restart                      # 重启所有 gitlab 组件;
gitlab-ctl status                       # 查看服务状态;
gitlab-ctl reconfigure                  # 启动服务;
vim /etc/gitlab/gitlab.rb               # 修改默认的配置文件;
gitlab-ctl tail                         # 查看日志;

3. 公司的开发代码提交处理流程

  • 项目经理(PM)在GitLab中创建任务,分配给开发人员

    • PM使用GitLab的Issue功能创建任务,并指定任务的详细描述和要求。
    • 将任务分配给具体的开发人员,设置优先级和截止日期。
  • 开发人员领取任务后,在本地使用git clone拉取代码库

    • 开发人员在本地终端中执行命令:
      git clone <仓库地址>
    • 克隆代码库到本地开发环境。
  • 开发人员创建开发分支,并进行开发

    • 在本地创建一个新的开发分支,例如dev
      git checkout -b dev
    • dev分支上进行代码开发和修改。
  • 开发人员完成开发后,提交到本地仓库

    • 在本地提交代码修改:
      git add . git commit -m "完成任务描述"
  • 开发人员在GitLab界面上申请分支合并请求(Merge request)

    • 将本地分支推送到远程仓库:
      git push origin dev
    • 登录GitLab,在项目的Merge Requests页面中创建新的Merge Request,选择要合并的源分支和目标分支(通常是mastermain)。
  • PM在GitLab上查看提交和代码修改情况,确认无误后,确认将开发人员的分支合并到主分支

    • PM在GitLab上审查Merge Request,包括代码的改动和提交记录。
    • 如果一切正常,PM会批准Merge Request,将dev分支合并到master分支。
  • 开发人员在GitLab上Mark done确认开发完成,并关闭Issue

    • 开发人员在提交Merge Request时,可以在描述中添加close #1(其中#1是Issue编号),这样在Merge Request被合并时,相关的Issue会自动关闭。
    • 如果没有在描述中添加关闭Issue的指令,开发人员可以在Issue页面手动关闭Issue。

 

4. Gitlab 备份与恢复

查看系统版本和软件版本

[root@tty01 ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
[root@tty01 ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
16.11.5-jh
数据备份

 打开/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项:

 

[root@tty01 ~]# vim /etc/gitlab/gitlab.rb   #启用下述两个配置项
gitlab_rails['manage_backup_path'] = true               #指定GitLab是否应该自动管理备份路径
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #指定GitLab备份文件的存储路径

该项定义了默认备份出文件的路径,可以通过修改该配置,并执行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重启服务生效。

[root@tty01 ~]# gitlab-ctl reconfigure
或
[root@tty01 ~]# gitlab-ctl restart 

执行备份命令进行备份

[root@tty01 ~]# gitlab-rake gitlab:backup:create

 执行改命令后回有一个警告提示:gitlab.rbgitlab-secrets.json文件包含敏感数据,并未包含在此备份中。恢复备份时,需要手动备份这些文件。

当然这些也可以去结合计划任务去做。

 查看备份目录里的文件是否正常存在了

[root@tty01 ~]# ls /var/opt/gitlab/backups/
1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar

设置备份保留时常,防止每天执行备份,肯定有目录被爆满的风险,打开/etc/gitlab/gitlab.rb配置文件,找到如下配置:

[root@tty01 ~]# vim /etc/gitlab/gitlab.rb   # 启用下述两个配置项
gitlab_rails['backup_keep_time'] = 604800   # 设置备份文件过期时间,604800秒等于7天

该配置的时间以秒为单位,如果想增大或减小,可以直接在该处配置,并通过gitlab-ctl restart 重启服务生效。

备份完成,会在备份目录中生成一个当天日期的tar包。

测试数据恢复

登录一个管理用户,删除库项目

 

恢复前需要先停掉数据连接服务:  

[root@tty01 ~]# gitlab-ctl stop unicorn
[root@tty01 ~]# gitlab-ctl stop sidekiq

 如果是台新搭建的主机,一般不需要停止数据连接操作,理论上不停这两个服务也可以。停这两个服务是为了保证数据一致性。一般会将老服务器/data/gitlab/backups目录下的备份文件拷贝到新服务器上的/data/gitlab/backups去恢复,这里实验环境就在本机做恢复了。

注意权限:600权限是无权恢复的。 实验环境可改成了777,生产环境建议修改属主属组

执行命令后等待一会......,后面再输入两次yes就完成恢复了。

[root@tty01 ~]# cd /var/opt/gitlab/backups/        #进入数据备份目录
[root@tty01 backups]# gitlab-rake gitlab:backup:restore BACKUP=1720624341_2024_07_10_16.11.5-jh

注意这里BACKUP=后面的文件名,在较新的版本中,不可以使用全名,_gitlab_backup.tarh会自动加上,所以这里文件名后面那点就不能再写了。

恢复完成后,现在重启所有服务,或者只启动前方关闭的两个数据连接服务均可

[root@tty01 backups]# gitlab-ctl restart
或
[root@tty01 backups]# gitlab-ctl start unicorn
[root@tty01 backups]# gitlab-ctl start sidekiq

注意:通过备份文件恢复gitlab必须保证两台主机的gitlab版本一致,否则会提示版本不匹配  

 

此时刷新或重登账户即可看到被删除的数据

 

 

5. 邮箱配置

 其中注意修改成你的邮箱,邮件服务商,授权码,端口等信息

[root@tty01 ~]# vim /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'] = "newrain_wang@163.com"
gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = 'newrain_wang@163.com'

 

 设置好后保存退出,然后重载配置。

[root@tty01 ~]# gitlab-ctl reconfigure  #重新配置 GitLab 服务

登录web页面,随便登录一个用户,在之前我们用的随便填的邮箱格式,现在我们修改成自己真实的邮箱进行测试我们的邮箱配置。

 

更改点击保存后会弹出需要去邮箱点击确认进行验证

来到邮箱,可以看到发件人就是我在配置中填写的一个qq邮箱,给用户更改的邮箱发送了一个验证

点击验证会跳转一个新页面,可以看到该用户已经成功更改了邮箱

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1928633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

白平衡说明

白平衡 相机白平衡的起源原理以及作用起源作用 白平衡的原理白平衡的类型应用说明 工业相机的白平衡效果对比一键白平衡的必要性一键白平衡的实现方式 相机白平衡的起源原理以及作用 起源 白平衡&#xff08;White Balance, WB&#xff09;概念的起源与色温理论密切相关。色温…

Open3D 点云区域生长分割算法

目录 一、基本原理 二、代码实现 三、实现效果 3.1原始点云 3.2分割后点云 前期试读&#xff0c;后续会将博客加入该专栏&#xff0c;欢迎订阅Open3D与点云深度学习的应用_白葵新的博客-CSDN博客 一、基本原理 Open3D 的点云区域生长分割算法是一种基于区域生长的点云分割…

SpringBoot实战:密码处理

Controller层 Operation(summary "保存或更新后台用户信息") PostMapping("saveOrUpdate") public Result saveOrUpdate(RequestBody SystemUser systemUser) {if(systemUser.getPassword() ! null){systemUser.setPassword(DigestUtils.md5Hex(systemUs…

单链表的介绍和实现

前言 Hello,小伙伴们&#xff0c;你们的作者君又回来了&#xff0c;今天我将带领大家继续学习另一种线性表&#xff1a;单链表&#xff0c; 准备好的小伙伴三连打卡上车&#xff0c;你们的支持就是我更新的动力&#xff0c;一定不要吝啬手中的三连哟&#xff0c;万分感谢&…

微服务实战系列之玩转Docker(一)

前言 话说计算机的“小型化”发展&#xff0c;历经了大型机、中型机直至微型机&#xff0c;贯穿了整个20世纪的下半叶。同样&#xff0c;伴随着计算机的各个发展阶段&#xff0c;如何做到“资源共享、资源节约”&#xff0c;也一直是一代又一代计算机人的不懈追求和历史使命。今…

cleanshot Mac 上的截图工具

笔者闲来无事&#xff0c;最近在找一些mac上好用的工具其中一款就是cleanShot。为什么不用原有的mac自带的呢。因为相对来说编辑功能不算全面&#xff0c;不支持长截图。那有没有一款软件支持关于截图的好用工具呢。 所以笔者找了这款。安装包是直接安装就可使用的。请大家点赞…

校验el-table中表单项

需求&#xff1a; 表格中每一行都有几个必填项&#xff0c;如用户提交时有未填的选项&#xff0c;将该选项标红且给出提示&#xff0c;类似el-form 的那种校验 el-table本身并没有校验的方法&#xff0c;而且每一行的输入框也是通过插槽来实现的&#xff0c;因此我们要自己跟…

VUE前端HTML静默打印(不弹出打印对话框)PDF简单方案

前言 在做打印功能的时候&#xff0c;以前大部分客户端都是用C#做的&#xff0c;静默打印&#xff08;也就是不弹出打印对话框&#xff09;比较简单。 但是使用浏览器作为客户端&#xff0c;静默打印&#xff08;也就是不弹出打印对话框&#xff09;做起来就比较困难。困难的…

LLM-阿里 DashVector + langchain self-querying retriever 优化 RAG 实践【Query 优化】

文章目录 前言self querying 简介代码实现总结 前言 现在比较流行的 RAG 检索就是通过大模型 embedding 算法将数据嵌入向量数据库中&#xff0c;然后在将用户的查询向量化&#xff0c;从向量数据库中召回相似性数据&#xff0c;构造成 context template, 放到 LLM 中进行查询…

css - - - - - 去除图片默认的白色背景(混合模式 mix-blend-mode)

去除图片默认的白色背景&#xff08;mix-blend-mode&#xff09; 1. 需求描述2. 原图展示3. 原代码展示4. 使用混合模式(mix-blend-mode)5.修改后效果 1. 需求描述 图片含有白色地图&#xff0c;想要将其去掉 2. 原图展示 3. 原代码展示 <div><img src*****/> &…

基于高德地图实现Android定位功能实现(二)

基于高德地图实现Android定位功能实现&#xff08;二&#xff09; 在实现的高德地图的基本显示后&#xff0c;我们需要不断完善地图的功能 地图界面设计&#xff08;悬浮按钮等&#xff09; 首先就是地图页面的布局&#xff0c;这个根据大家的实际需求进行设计即可&#xff…

无人机图像目标检测

本仓库是人工智能课程的课程作业仓库&#xff0c;主要是完成无人机图像目标检测的任务&#xff0c;我们对visdrone数据集进行了处理&#xff0c;在yolo和ssd两种框架下进行了训练和测试&#xff0c;并编写demo用于实时的无人机图像目标检测。 requirements依赖&#xff1a; ss…

数据结构之‘串’

目录 一. 串的定义二. 串的基本操作三. 串的存储结构3.1 顺序存储3.2 链式存储3.3 基于顺序存储的基本操作 \quad 一. 串的定义 \quad \quad \quad \quad 二. 串的基本操作 \quad \quad 三. 串的存储结构 \quad \quad 3.1 顺序存储 \quad 得一个一个遍历 结合方案一和方案二的优…

[React 进阶系列] useSyncExternalStore hook

[React 进阶系列] useSyncExternalStore hook 前情提要&#xff0c;包括 yup 的实现在这里&#xff1a;yup 基础使用以及 jest 测试 简单的提一下&#xff0c;需要实现的功能是&#xff1a; yup schema 需要访问外部的 storage外部的 storage 是可变的React 内部也需要访问同…

SpringBoot整合阿里云RocketMQ对接,商业版

1.需要阿里云开通商业版RocketMQ 普通消息新建普通主题,普通组,延迟消息新建延迟消息主题,延迟消息组 2.结构目录 3.引入依赖 <!--阿里云RocketMq整合--><dependency><groupId>com.aliyun.openservices</groupId><artifactId>ons-client</…

【C language】扫雷

目录 1.概要2.实现核心思想3.实现过程3.1游戏框架3.2游戏逻辑初始化棋盘 MineInit打印棋盘 MinePrint设置雷 SetMines扫雷 ClearMines 4.总结 1.概要 为了提高C初学者对C语言基本语法的掌控能力&#xff0c;一个极简版的扫雷游戏是十分适合锻炼代码能力的。下面分享仅用数组、…

14_Shell重定向输入输出

14_Shell重定向输入输出 输出重定向&#xff1a;一般情况&#xff0c;输出是在终端直接显示&#xff0c;改变输出位置&#xff0c;改变到文件中&#xff0c;这就是输出重定向 输入重定向&#xff1a;一般情况&#xff0c;输入是读取用户终端输入&#xff0c;改变输入位置&#…

026-GeoGebra中级篇-曲线(2)_极坐标曲线、参数化曲面、分段函数曲线、分形曲线、复数平面上的曲线、随机曲线、非线性动力系统的轨迹

除了参数曲线、隐式曲线和显式曲线之外&#xff0c;还有其他类型的曲线表示方法。本篇主要概述一下极坐标曲线、参数化曲面、分段函数曲线、分形曲线、复数平面上的曲线、随机曲线、和非线性动力系统的轨迹&#xff0c;可能没有那么深&#xff0c;可以先了解下。 目录 1. 极坐…

VScode:前端项目中yarn包的安装和使用

一、首先打开PowerShell-管理员身份运行ISE 输入命令&#xff1a; set-ExecutionPolicy RemoteSigned 选择“全是”&#xff0c;表示允许在本地计算机上运行由本地用户创建的脚本&#xff0c;没有报错就行了 二、接着打开VScode集成终端 输入 npm install -g yarn 再次输入以下…

IoT数据采集网关在企业应用中扮演的角色-天拓四方

随着物联网&#xff08;IoT&#xff09;技术的不断发展&#xff0c;越来越多的企业开始利用IoT技术实现智能化、自动化的生产和管理。在这个过程中&#xff0c;Iot数据采集网关作为连接物理世界与数字世界的桥梁&#xff0c;发挥着至关重要的作用。 IoT数据采集网关是一种硬件…