极狐Gitlab使用(2)

目录

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邮箱,给用户更改的邮箱发送了一个验证

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

相关推荐

  1. GitLab如何配置使用独立数据库?

    2024-07-12 05:12:02       21 阅读
  2. 如何查看GitLab Helm Chart?

    2024-07-12 05:12:02       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 05:12:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 05:12:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 05:12:02       58 阅读
  4. Python语言-面向对象

    2024-07-12 05:12:02       69 阅读

热门阅读

  1. OPenCV实现直方图均衡化----20240711

    2024-07-12 05:12:02       22 阅读
  2. DNS负载均衡的底层实现原理

    2024-07-12 05:12:02       30 阅读
  3. ls命令学习记录1

    2024-07-12 05:12:02       27 阅读
  4. ARM Ubuntu 主机安装指定版本Python

    2024-07-12 05:12:02       26 阅读
  5. sqlite3 — DB-API 2.0 interface for SQLite databases

    2024-07-12 05:12:02       23 阅读
  6. arm 版的 deb、rpm、AppImage 都有什么区别

    2024-07-12 05:12:02       28 阅读
  7. 【无标题】

    2024-07-12 05:12:02       23 阅读
  8. IT专业高考假期入门指南

    2024-07-12 05:12:02       25 阅读
  9. 墨烯的C语言技术栈-C语言基础-012

    2024-07-12 05:12:02       27 阅读
  10. Kubernetes(k8s)架构的工作原理

    2024-07-12 05:12:02       29 阅读