gitlab的使用

前一篇文章我们已经知道Git人人都是中心,那他们怎么交互数据呢?

        • 使用GitHub或者码云等公共代码仓库

        • 使用GitLab私有仓库

目录

一、安装配置gitlab

安装

初始化

这里初始化完成以后需要记住一个初始密码

查看状态

二、使用浏览器访问,进行web界面操作

三、gitlab 命令行修改密码

四、gitlab服务管理

五、公司的开发代码提交处理流程

六、Gitlab 备份与恢复

1、查看系统版本和软件版本

2、数据备份

3、测试数据恢复

(1) 安装部署 gitlab server

(2) 恢复 gitlab


一、安装配置gitlab

安装

安装依赖,并启动ssh、防火墙开启相应端口、postfix
yum install -y curl policycoreutils-python openssh-server perl
gitlab版本选择地
Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror选择对应的版本安装动
 yum install gitlab-jh-16.0.3-jh.0.el7.x86_64.rpm

  安装完成后他会自动启动 

初始化

vim /etc/gitlab/gitlab.rb#找到下行并修改自己的ip
external_url 'http://10.12.153.72'  
执行下面的初始化命令
gitlab-ctl reconfigure

这里初始化完成以后需要记住一个初始密码

cat /etc/gitlab/initial_root_password

查看状态

 gitlab-ctl status
 

二、使用浏览器访问,进行web界面操作

输入账号密码登录

登陆以后我们首先修改为中文,点击头像,点击参数中设置

选择中文后提交并刷新页面

这样看来就一目了然了哈

三、gitlab 命令行修改密码

gitlab-rails console production
irb(main):001:0> user = User.where(id: 1).first     # id为1的是超级管理员
irb(main):002:0> user.password = 'yourpassword'      # 密码必须至少8个字符
irb(main):003:0> user.save!                          # 如没有问题 返回true
exit                                                # 退出

四、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                         # 查看日志

五、公司的开发代码提交处理流程

        PM(项目主管/项目经理)在gitlab创建任务,分配给开发人员 开发人员领取任务后,在本地使用git clone拉取代码库 开发人员创建开发分支(git checkout -b dev),并进行开发 开发人员完成之后,提交到本地仓库(git commit ) 开发人员在gitlab界面上申请分支合并请求(Merge request) PM在gitlab上查看提交和代码修改情况,确认无误后,确认将开发人员的分支合并到主分支(master) 开发人员在gitlab上Mark done确认开发完成,并关闭issue。这一步在提交合并请求时可以通过描述中填写"close #1"等字样,可以直接关闭issue

六、Gitlab 备份与恢复

1、查看系统版本和软件版本
cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
​
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
8.15.4
2、数据备份

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

gitlab_rails['backup_path'] = "/data/gitlab/backups"

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

执行备份命令进行备份

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

也可以添加到 crontab 中定时执行:

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

可以到/data/gitlab/backups找到备份包,解压查看,会发现备份的还是比较全面的,数据库、repositories、build、upload等分类还是比较清晰的。

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

gitlab_rails['backup_keep_time'] = 604800

设置备份保留7天(7360024=604800),秒为单位,如果想增大或减小,可以直接在该处配置,并通过gitlab-ctl restart 重启服务生效。

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

3、测试数据恢复
(1) 安装部署 gitlab server

具体步骤参见上面:gitlab server 搭建过程

(2) 恢复 gitlab

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

gitlab_rails['backup_path'] = "/data/gitlab/backups"

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

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

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

如果是台新搭建的主机,不需要操作,理论上不停这两个服务也可以。停这两个服务是为了保证数据一致性。将老服务器/data/gitlab/backups目录下的备份文件拷贝到新服务器上的/data/gitlab/backups

rsync -avz 1530773117_2019_03_05_gitlab_backup.tar 192.168.95.135:/data/gitlab/backups/ 

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

 pwd
/data/gitlab/backupschmod 777 1530773117_2019_03_05_gitlab_backup.tar 
​​​​​​​ll
total 17328900
-rwxrwxrwx 1 git git 17744793600 Jul  5 14:47 1530773117_2018_07_05_gitlab_backup.tar

执行下面的命令进行恢复:后面再输入两次yes就完成恢复了。

gitlab-rake gitlab:backup:restore 
​​​​​​​BACKUP=1530773117_2018_07_05_gitlab_backup.tar

恢复完成后,启动刚刚的两个服务,或者重启所有服务,再打开浏览器进行访问,发现数据和之前的一致:

gitlab-ctl start unicorngitlab-ctl start sidekiq或gitlab-ctl restart

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

希望能够帮助到大家!!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

18.贪心算法

排序贪心 区间贪心 删数贪心 统计二进制下有多少1 int Getbit_1(int n){int cnt0;while(n){nn&(n-1);cnt;}return cnt; }暴力加一维前缀和优化 #include <iostream> #include <climits> using namespace std; #define int long long const int N2e510; in…

Qt 场景(QGraphicsScene)自绘可自由变换与移动的图元(QGraphicsObject)

文章目录 效果图矩形四个角矩形 效果图 在scene上绘制一个图元QGraphicsObject的矩形&#xff0c;可以自由拖动且拖动四个角可以自由变换矩形需要如下处理。 矩形四个角 四个角的点需要独立处理继承于QGraphicsObject,当我们点击时拖动时发送信号给矩形&#xff0c;进行矩形变…

猫头虎分享已解决Bug || Web服务故障:WebServiceUnavailable, HTTPServerError

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

记录解决uniapp使用uview-plus在vue3+vite+ts项目中打包后样式不能显示问题

一、背景 从 vue2uview1 升级到 vue3vitetsuview-plus ,uview组件样式打包后不显示&#xff0c;升级前uview 组件是可以正常显示&#xff0c;升级后本地运行是可以正常显示&#xff0c;但是打包发布成H5后uview的组件无法正常显示&#xff0c;其他uniapp自己的组件可以正常显示…

PacketSender-用于发送/接收 TCP、UDP、SSL、HTTP 的网络实用程序

PacketSender-用于发送/接收 TCP、UDP、SSL、HTTP 的网络实用程序 PacketSender是一款开源的用于发送/接收 TCP、UDP、SSL、HTTP 的网络实用程序&#xff0c;作者为dannagle。 其官网地址为&#xff1a;https://packetsender.com/&#xff0c;Github源代码地址&#xff1a;htt…

Kubernetes kubeadm 证书到期,更新证书

1.环境说明 lient Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.6", GitCommit:"fbf646b339dc52336b55d8ec85c181981b86331a", GitTreeState:"clean", BuildDate:"2020-12-18T12:09:30Z", G…

糖尿病性视网膜病变(DR)的自动化检测和分期

糖尿病性视网膜病变&#xff08;DR&#xff09;的自动化检测和分期 提出背景DR的阶段及其特征 历年解法计算机视觉方法多分类方法 新的解法深度学习方法迁移学习大模型多模型集成全流程分析 总结特征1&#xff1a;图像分割特征2&#xff1a;疾病分级特征3&#xff1a;治疗建议生…

phaseDNN文章解读

文章DOI: https://doi.org/10.48550/arXiv.1905.01389 作者是 Southern Methodist University 的Wei Cai 教授 A Parallel Phase Shift Deep Neural Network for Adaptive Wideband Learning 一种并行移相深度神经网络来自适应学习宽带频率信号 20190514 核心思想&#xff1a;…

搞明白Eclipse的Java Build Path很重要

为什么说搞懂Eclipse的Java Build Path很重要呢&#xff1f;因为搞懂了它才知道eclipse如何放置源代码和输出文件的&#xff0c;也就是搞懂从哪里来到哪里去的问题。 Build Path是指定Java工程所包含的资源属性集合。 在一个成熟的Java工程中&#xff0c;不仅仅有自己编写的源…

数字之美:探索人工智能绘画的奇妙世界

目录 引言AI绘画的定义与发展历程定义与发展历程AI绘画产品有哪些? AI绘画的应用领域设计与创意产业影视与游戏制作数字艺术与展览 AI绘画的基本原理与技术深度学习与神经网络生成对抗网络&#xff08;GAN&#xff09;风格迁移算法 AI绘画效果展示一只带着墨镜的小猫在高楼林立…

openGauss学习笔记-226 openGauss性能调优-系统调优-配置LLVM-LLVM适用场景与限制

文章目录 openGauss学习笔记-226 openGauss性能调优-系统调优-配置LLVM-LLVM适用场景与限制226.1 适用场景226.2 非适用场景 openGauss学习笔记-226 openGauss性能调优-系统调优-配置LLVM-LLVM适用场景与限制 226.1 适用场景 支持LLVM的表达式 查询语句中存在以下的表达式支持…

☀️将大华摄像头画面接入Unity 【2】配置Unity接监控画面

一、前言 上一篇咱们将大华摄像头接入到电脑上了&#xff0c;接下来准备接入到unity画面。 接入到监控就涉及到各种视频流的格式rtsp、rtmp、m3u8。 Unity里有一些播放视频流的插件&#xff0c;主要的就是AVPro Video 和 UMP等&#xff0c;这次我用的是UMP 最好使用2.0.3版本…