极狐gitlib的安装和使用

这篇具有很好参考价值的文章主要介绍了极狐gitlib的安装和使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验环境

gitlib只需要单机即可以了,因为好恢复。
机器IP:192.168.199.202
机器配置:4C8G(最低配置)

二、安装部署(不带邮箱)

官方文档:链接: link

关闭防火墙(根据自己需求)

systemctl stop firewalld
setenforce 0
iptables -F

安装依赖

yum install -y curl policycoreutils-python openssh-server perl

配置极狐GitLab 软件源镜像

curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash

替换下面的IP为自己的IP,注意是http。(这里先不弄https)
包比较大,会慢一些

EXTERNAL_URL="http://192.168.199.202" yum install -y gitlab-jh

安装自动已经配置了开机自启,顺便查看一下组件状态

[root@node2 ~]# gitlab-ctl status
run: alertmanager: (pid 19545) 57s; run: log: (pid 19131) 92s
run: gitaly: (pid 19351) 67s; run: log: (pid 17824) 197s
run: gitlab-exporter: (pid 19509) 59s; run: log: (pid 18819) 110s
run: gitlab-kas: (pid 19477) 61s; run: log: (pid 18168) 182s
run: gitlab-workhorse: (pid 19487) 60s; run: log: (pid 18649) 127s
run: logrotate: (pid 17653) 212s; run: log: (pid 17673) 211s
run: nginx: (pid 18687) 123s; run: log: (pid 18703) 122s
run: node-exporter: (pid 19501) 60s; run: log: (pid 18770) 116s
run: postgres-exporter: (pid 19555) 57s; run: log: (pid 19191) 86s
run: postgresql: (pid 17982) 189s; run: log: (pid 18058) 186s
run: prometheus: (pid 19524) 59s; run: log: (pid 19092) 96s
run: puma: (pid 18477) 142s; run: log: (pid 18502) 139s
run: redis: (pid 17719) 206s; run: log: (pid 17754) 203s
run: redis-exporter: (pid 19511) 59s; run: log: (pid 18873) 104s
run: sidekiq: (pid 18531) 136s; run: log: (pid 18567) 133s

也可以直接安装rpm包,依赖不能少

rpm -ivh gitlab-jh-15.5.2-jh.0.el7.x86_64.rpm
vim /etc/gitlab/gitlab.rb
#只有一行配置需要修改,不修改也可以
external_url 'http://gitlab.example.com' 修改为external_url 'http://YOUR_IP' 
# 启动
gitlab-ctl reconfigure
gitlab-ctl status

三、一些操作

3.1 常用命令

# 启动所有 gitlab 组件
sudo gitlab-ctl start 
# 停止所有 gitlab 组件
sudo gitlab-ctl stop 
# 启所有 gitlab 组件
sudo gitlab-ctl restart 
# 查看服务状态
sudo gitlab-ctl status 
# 重新配置并启动服务
sudo gitlab-ctl reconfigure 
# 修改默认的配置文件
sudo vim /etc/gitlab/gitlab.rb 
# 检查gitlab
gitlab-rake gitlab:check SANITIZE=true --trace 
# 查看日志
sudo gitlab-ctl tail 

3.2 备份

3.2.1 备份文件分为两步:

1、配置文件直接手动备份

/etc/gitlab/gitlab.rb:主配置文件,包含外部URL、仓库目录、备份目录等
/etc/gitlab/gitlab-secrets.json:(执行gitlab-ctl reconfigure命令行后生成),包含各类密钥的加密信息
cp /etc/gitlab/gitlab.rb  /etc/gitlab/gitlab.rb_`date +%F`
cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json_`date +%F`

2、数据文件,使用以下方式备份
手动执行备份

sudo gitlab-backup create
or
sudo /opt/gitlab/bin/gitlab-rake gitlab:backup:create

会有提示说需要手动备份配置文件,就是上一个步骤
极狐gitlib的安装和使用
如果定时备份,例如每天凌晨2点30分备份

30 2 * * *  /opt/gitlab/bin/gitlab-rake gitlab:backup:create

上面的备份结果如下:
极狐gitlib的安装和使用

3.2.2 自定义备份位置

备份默认位置 /var/opt/gitlab/backups
修改备份位置

vim /etc/gitlab/gitlab.rb
gitlab_rails['manage_backup_path'] = true
# 备份目录
gitlab_rails['backup_path'] = "/backup/gitlab"
# 备份包(tar格式压缩包)的权限
gitlab_rails['backup_archive_permissions'] = 0644  
# 备份的保留时间,单位是秒
gitlab_rails['backup_keep_time'] = 604800  

重载配置生效

mkdir -p /backup/gitlab
gitlab-ctl reconfigure

3.3 恢复

1、前提条件
准备好原配置文件 /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json以及数据文件

2、确保GitLab服务的启动可访问,并且版本和备份数据版本一致

命令行查看

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

OR

访问 http://192.168.199.202/help

极狐gitlib的安装和使用

3、拷贝备份文件至指定的backups目录下(默认为/var/opt/gitlab/backups),并确保权限为777
PS:我这里一台机器演示,所以用了上面设置的备份目录

cd /backup/gitlab/
chmod 777 1670833283_2022_12_12_15.6.2-jh_gitlab_backup.tar

4、 使用gitlab-ctl命令停止unicorn(或者puma)以及sidekiq服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

极狐gitlib的安装和使用

5、使用gitlab-backup restore进行数据恢复

gitlab-rake gitlab:backup:restore force=yes BACKUP=1670833283_2022_12_12_15.6.2-jh

会有pg报错,不过好像没什么影响
极狐gitlib的安装和使用
为了保险起见,可以参考一下别人的处理(这里放在重启之后)
6、 恢复gitlab-secrets.json文件与gitlab.rb 配置文件
7、重设、重启服务并检查

gitlab-ctl  reconfigure 
gitlab-ctl  restart 
gitlab-rake gitlab:check SANITIZE=true

8、修改上面第5步的错误
修改postgresql配置

vim /var/opt/gitlab/postgresql/data/postgresql.conf
#修改为
listen_addresses = '*'
vim /var/opt/gitlab/postgresql/data/pg_hba.conf
#最后添加两行
local   all         all                               trust
host    all         all                               127.0.0.1/32 trust

重启gitlab服务

gitlab-ctl restart

修改gitlab账号为超级用户

su - gitlab-psql
/opt/gitlab/embedded/bin/psql -h 127.0.0.1 gitlabhq_production
psql (9.2.8)
Type "help" for help.
 
gitlabhq_production=# ALTER USER gitlab WITH SUPERUSER;
ALTER ROLE
gitlabhq_production=# \q

3.4 一些问题

Q1: 忘记密码,修改root密码

#使用黑屏终端修改root密码
gitlab-rails console -e production
user = User.where(username:"root").first
user.password = "12345687"
user.save! # 返回true,则root用户密码修改为 12345687

Q2: 修改gitlab nginx port

只修改listen port,不运行 reconfig,只运行 restart
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
gitlab-ctl restart nginx

Q3: 卸载gitlab

gitlab-ctl stop
rpm -ql gitlab-ce
ps aux | grep gitlab | awk '{print $2}' | xargs -I {} kill -9 {}
rm -rf /opt/gitlab /etc/gitlab /var/log/gitlab /var/opt/gitlab

Q4: gitlab-ctl reconfigure 卡死

另开终端运行 nohup /opt/gitlab/embedded/bin/runsvdir-start &

Q5: git 克隆 源码ssh 方式成功,http方式失败

检查密钥,重设sshkey

3.5 包含的组件

1. repository:代码库,可以是硬盘或 NFS 文件系统
2. Nginx:Web 入口
3. 数据库:包含以下信息:
    - repository 中的数据(元数据,issue,合并请求 merge request 等)
    - 可以登录 Web 的用户(权限)
4. Redis:缓存,负责分发任务
5. sidekiq:后台任务,主要负责发送电子邮件。任务需要来自 Redis
6. Unicorn:Gitlab 自身的 Web 服务器,包含了 Gitlab 主进程,负责处理快速/一般任务,与 Redis 一起工作。工作内容包括:
    -  通过检查存储在 Redis 中的用户会话来检查权限
    -  为 Sidekiq 制作任务
    -  从仓库(warehouse)取东西或在那里移动东西
7. gitlab-shell:用于 SSH 交互,而不是 HTTP。gitlab-shell 通过 Redis 与 Sidekiq 进行通信,并直接或通过 TCP 间接访问 Unicorn
8. gitaly:后台服务,专门负责访问磁盘以高效处理 git 操作,并缓存耗时操作。所有的 git 操作都通过 Gitaly 处理
9. gitlab-workhorse:反向代理服务器,可以处理与 Rails 无关的请求(磁盘上的CSS、JS 文件等),处理Git Push/Pull 请求,处理到Rails的连接(修改由Rails发送的响应或发送给 Rails 的请求,管理 Rails 的长期 WebSocket 连接等)。
10. mail_room:处理邮件请求。回复 GitLab 发出的邮件时,GitLab 会调用此服务
Sidekiq. Unicorn 和 GitLab-shell 是GitLab中处理任务的 3 个程序。

四、使用极狐gitlib

参考:链接: link

4.1 初始登录说明

初始安装的用户为root
密码在 /etc/gitlab/initial_root_password
务必24小时之内登录并修改密码

[root@node2 ~]# grep "^Password" /etc/gitlab/initial_root_password
Password: pCC1wACGJ83RWngVaMx/EXptEc8QBtMpW/kjRkMyD6E=

登录,浏览器中输入:

http://192.168.199.202

极狐gitlib的安装和使用

去掉注册限制,不然谁都能注册
1、
极狐gitlib的安装和使用
2、
极狐gitlib的安装和使用
3、
极狐gitlib的安装和使用

4.2 新建用户

左上角主菜单 >> 选择管理员 >> 选择新建用户

极狐gitlib的安装和使用

开始新建用户

极狐gitlib的安装和使用

拉倒最后点击创建用户

极狐gitlib的安装和使用

我这里没有设置邮箱,所以手动设置密码。
点击保存后编辑用户信息即可设定密码。

极狐gitlib的安装和使用

密码 (最短为 8 个字符

极狐gitlib的安装和使用

拉到最后保存即可。

极狐gitlib的安装和使用

首次登录会要求更改密码,可以和旧密码一样

极狐gitlib的安装和使用

4.3 新建一个群组

极狐gitlib的安装和使用

开始新建

极狐gitlib的安装和使用

拉到最后点击创建群组

极狐gitlib的安装和使用

4.3 新建一个项目

左上角主菜单 >> 选择管理员 >> 选择新建项目
PS:其实路径很多
1、
极狐gitlib的安装和使用
2、

极狐gitlib的安装和使用

3、

极狐gitlib的安装和使用

4.4 在项目中邀请成员

加入到群组中也是一样的
菜单 >> 项目 >> 查看所有项目

极狐gitlib的安装和使用
1、
极狐gitlib的安装和使用
2、
极狐gitlib的安装和使用
3、
极狐gitlib的安装和使用

角色的区别

匿名用户   Guest       访客(只能创建问题和留言评论)
报告人     Reporter    可以理解为测试员、产品经理等,一般负责提交问题等
开发人员   Developer   负责项目开发
管理者     Master      一般是组长,负责对Master分支进行维护
所有者     Owner       一般是项目经理【拥有所有权限】

4.5 新建分支

多个分支可以更好的协同作业,提高效率
参考 4.4 先进到项目中
1、
极狐gitlib的安装和使用
2、
极狐gitlib的安装和使用

git地址

极狐gitlib的安装和使用

4.6 开启分支保护

栗子:

为test分支配置分支保护
这样拥有Developer权限的开发人员就不能修改test分支的代码
只能在dev分支做开发。
拥有Maintainers权限的项目经理定期将dev的代码合并到test分支

极狐gitlib的安装和使用

4.7 分支合并

如果按上一步设置了分支保护
Maintainers可以直接合并分支到test
Developer可以发起分支合并请求然后由Maintainers批准
合并的前提是dev新增了代码,且无代码冲突

先去掉删除源分支,不然合并之后分支没了

极狐gitlib的安装和使用

拉到最后,点击保存

极狐gitlib的安装和使用

开始模拟

先在dev上随便写一些代码用作模拟
1、
极狐gitlib的安装和使用
2、
极狐gitlib的安装和使用
3、

极狐gitlib的安装和使用
3、
极狐gitlib的安装和使用

发起合并请求
点击左侧“合并请求”——“新建”
1、
极狐gitlib的安装和使用
2、
极狐gitlib的安装和使用
3、
极狐gitlib的安装和使用
4、
极狐gitlib的安装和使用

知识储备+1文章来源地址https://www.toymoban.com/news/detail-431015.html

到了这里,关于极狐gitlib的安装和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HNU-数据挖掘-实验1-实验平台及环境安装

    计科210X 甘晴void 202108010XXX Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 是 FLOSS(自由/开放源码软件)之一。Python 的设计具有很强的可读性,相比其他语言经常使用英文,其他语言的一些标点符号,它具有比其他语言更有特色语法

    2024年01月22日
    浏览(59)
  • 前端新员工入职,需要为你的新电脑安装一些环境,开发工具

    目录 一.先安装个谷歌浏览器,稳定版。 二.安装公司日常交流软件 三.安装个VSCode 四.安装nvm 五.vue-cli的安装和配置 六.安装git 配置git账号 拉取线上仓库到本地 一些常用git命令 GitLab配置公钥私钥  七.其他工具 网络抓包工具:whistle 反向代理工具:nginx 调试接口工具:postma

    2024年02月06日
    浏览(60)
  • conda 环境 numpy 安装报错需要 Microsoft Visual C++ 14.0

    到公司装深度学校环境。项目较旧,安装依赖,一堆报错(基于 conda 环境): numpy 安装报需要 C++ 14.0 然后使用 whl 方式安装成功了(如果你是 conda 环境不要急着坐这步,后面有更好的方式)。 matplotlib 同样报错需要 C++ 14.0 解决方案 使用 whl 尝试安装,本人不想再找 whl 了,

    2024年02月13日
    浏览(47)
  • 实验报告一、Python 安装与开发环境搭建

    实验报告一、 Python 安装与开发环境搭建 一、实验目的: 1 、熟练掌握 Python 解释器安装与基本用法。 2 、熟练掌握使用 pip 命令安装 Python 扩展库。 3 、熟悉离线安装轮子文件的方法。 二、实验内容: 1 、安装 Python 解释器。 2 、安装 Python 扩展库。 三、实验步骤: 1 、打开

    2024年02月07日
    浏览(32)
  • 2023_Spark_实验一:Windows中基础环境安装

    Ⅰ、WINDOWS中安装JDK1.8 一、下载安装包 链接:百度网盘 请输入提取码 所在文件夹:根目录或者大数据必备工具--》开发工具(前端+后端)--》后端 下载文件名称:jdk-8u191-windows-x64.exe 二、安装JDK 1.现在转到下载的exe文件可用的文件夹,右键单击该文件并以管理员身份运行。将出

    2024年02月10日
    浏览(40)
  • 极狐GitLab 全新「价值流仪表盘」使用指南

    本文来源: about.gitlab.com 作者: Haim Snir 译者: 极狐(GitLab) 市场部内容团队 GitLab / 极狐GitLab 价值流仪表盘的使用相对简单,这种可以定制化的仪表盘能够让决策者识别数字化转型进程中的趋势及机遇。 如果你已经在用 GitLab / 极狐GitLab 价值流管理,直接前往 项目或群组的分

    2024年02月14日
    浏览(65)
  • 极狐GitLab 价值流管理之「总时间图」使用指南

    本文来源: about.gitlab.com 作者 :Haim Snir 译者 :极狐(GitLab) 市场部内容团队 对于软件研发管理者来说,了解在整个研发过程中时间都耗费在了哪些地方,是进行交付价值优化的关键洞察 。GitLab / 极狐GitLab 新的价值流分析总时间图是一种可视化展示,帮助研发管理者掌握软件

    2024年02月11日
    浏览(38)
  • 实验一 Java编程环境使用

    2024年02月04日
    浏览(27)
  • Java实验一编程环境使用

    要求:定义一个二维数组,并给二维数组赋值,分别打印原二维数组和行列互调后的二维数组。 显示出的结果为   要求:输入一批学生成绩,以-1作为结束标记。 统计这批学生中不及格(60)、及格(60~69)、中(70~79)、良(80~89)、优(90)的人数。 求这批学生的平均分

    2024年02月06日
    浏览(30)
  • 极狐 GitLab 冷知识:使用 git push 创建 Merge Request

    在使用 GitLab 时,创建 Merge Request 是最常用的功能之一,每天有大量的 Merge Request 被 Create、Review、Approve 和 Merge,尽管 GitLab 的产品经理和 UX 设计师们已经尽力的将 UI 设计的简洁易懂好操作,并提供了一些诸如使用 Email、API、Web IDE、VS Code 插件等创建 Merge Request 的功能,但这

    2024年01月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包