Gitlab搭建

Gitlab搭建

  • 一.gitlab安装
  • 二.gitlab安装目录
  • 三.gitlab常用命令汇总
  • 四.gitlab访问测试
    • 1.登录gitlab
    • 2.配置默认访问密码
    • 3.登陆自己创建的账户
  • 五.gitlab图形化操作
    • 1.gitlab关闭自动注册
    • 2.gitlab免密登录
    • 3.gitlab创建项目
    • 4.使用管理员创建账户
    • 5.gitlab 添加邮箱设置
      • 5.1开启SMTP功能
      • 5.2验证
    • 6.修改登录欢迎页面
  • 六.gitlab命令行操作
    • 1.命令行新建分支
    • 2.上传代码仓库
    • 3.git命令行常用指令的使用
      • 3.1提交与修改
  • 七.gitlab数据备份
    • 1.gitlab创建备份
      • 1.1手动备份
    • 2.更改gitlab备份目录
    • 3.gitlab自动备份
      • 3.1方法一 输入: crontab -e 然后添加相应的任务
      • 3.2脚本执行gitlab 备份

一.gitlab安装

设置gitlab的yum源(使用清华镜像源安装GitLab)
gitlab-ce是它的社区版,gitlab-ee是企业版,是收费的。

在 /etc/yum.repos.d/ 下新建 gitlab-ce.repo,写入如下内容:cd /etc/yum.repos.d/
vim gitlab-ce.repo[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
gpgcheck=0
enabled=1yum clean all && yum makecache

在这里插入图片描述
安装Gitlab

# 直接安装最新版
yum install -y gitlab-ce 

出现下面的图标,安装成功
在这里插入图片描述

# 如果要安装指定的版本,在后面填上版本号即可
yum install -y  gitlab-ce-×××
# 如果安装时出现gpgkey验证错误,只需在安装时明确指明不进行gpgkey验证
yum install gitlab-ce -y --nogpgcheck

关闭防火墙,开机自关闭

systemctl stop firewalldsystemctl disable firewalldsetenforce 0

安装完gitlab需要修改配置文件,并加载

vim /etc/gitlab/gitlab.rb     进入配置文件

找到下面一行,修改ip
在这里插入图片描述

修改好配置文件后,要使用 gitlab-ctl reconfigure 命令重载一下配置文件,否则不生效即可启动Gitlab。注意,启动过程较长,需要耐心等待。
查看Gitlab的状态,执行命令

gitlab-ctl status

在这里插入图片描述

二.gitlab安装目录

gitlab组件日志路径:/var/log/gitlabgitlab配置路径:/etc/gitlab/  路径下有gitlab.rb配置文件应用代码和组件依赖程序:/opt/gitlab各个组件存储路径: /var/opt/gitlab/仓库默认存储路径   /var/opt/gitlab/git-data/repositories版本文件备份路径:/var/opt/gitlab/backups/nginx安装路径:/var/opt/gitlab/nginx/redis安装路径:/var/opt/gitlab/redis

三.gitlab常用命令汇总

#查看服务状态
gitlab-ctl status
使用控制台实时查看日志
# 查看所有的logs; 按 Ctrl-C 退出
gitlab-ctl tail
# 拉取/var/log/gitlab下子目录的日志
gitlab-ctl tail gitlab-rails
# 拉取某个指定的日志文件
gitlab-ctl tail nginx/gitlab_error.log
#启动关闭gitlab	
gitlab-ctl start      
gitlab-ctl stop                                #停止            
gitlab-ctl status                              #查看状态
gitlab-ctl restart                             #重启
gitlab-ctl reconfigure			   #更新配置文件
gitlab-ctl help                                #帮助
gitlab-rake gitlab:check SANITIZE=true --trace	检查gitlab
#gitlab 默认的日志文件存放在/var/log/gitlab 目录下
gitlab-ctl tail                                #查看所有日志
#禁止 Gitlab 开机自启动
systemctl disable gitlab-runsvdir.service 
#启用 Gitlab 开机自启动
systemctl enable gitlab-runsvdir.service

四.gitlab访问测试

1.登录gitlab

打开浏览器输入gitlab服务器地址,注册用户,如下图
在这里插入图片描述
注册用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完成后想登录http://192.168.40.185:9091 需要账号和密码登录,注册一个后登录报错误,需要管理员账号初始化

2.配置默认访问密码

 切换到命令运行的目录 cd /opt/gitlab/bin/执行如下命令:gitlab-rails console -e production  进行初始化密码
在irb(main):001:0> 后面通过 u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)
gitlab-rails console -e production
u=User.where(id:1).first
u.password='because5210.0'
u.password_confirmation='because5210.0'
u.save!
exit出现true说明设置成功!
此时就可以用root/because5210.0来登录页面

在这里插入图片描述
成功登录root账户
在这里插入图片描述
设置中文
在这里插入图片描述
在这里插入图片描述

3.登陆自己创建的账户

root账号登陆
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再次登录,登陆成功
在这里插入图片描述

五.gitlab图形化操作

1.gitlab关闭自动注册

在企业生产环境中,我们一般由项目负责人负责创建用户并分配权限,一般禁止员工私自注册用户,以防给项目开发工作带来安全性上的风险。为了避免员工自动注册,我们一般会禁止Gitlab的自动注册功能。在Gitlab的主菜单上,选择Menu——Admin,如下所示:
在这里插入图片描述
点击下方保存配置,在页面上就无法自动注册了。
在这里插入图片描述

2.gitlab免密登录

Gitlab的登录免密验证,配置完成后,可以使得我们的Gitlab自动执行Git命令而无需登录,对于脚本的编写以及其他项目**(如Jenkins)的运用这一步是必须的**。

首先,在想要进行验证的设备上执行命令:

ssh-keygen
[root@localhost ~]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:9s9C6howGF17soK592sDESNOydaJf88Ee/csxOpkoro root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| . + ..          |
|  B.=...         |
| +.o.ooo..       |
|  .=o o+o +      |
|  + +o.=S+ o     |
|   ..+..*.o o    |
|  . .o.= o..     |
|   ...o.o .o     |
|  Eo .+=.  .o    |
+----[SHA256]-----+
[root@localhost ~]# 

完成上述配置后,可以生成本设备的公私钥对,执行命令:

可以查看本设备的公钥,如下所示:

[root@localhost ~]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeW8qTs//BIuY8Fb9MM1qxFDFpzUygfOxhgDS9ngv92AXBVEufIeoOWnV3IFO2BHD8GYdMzi5USyQyVNA6fQ3KxCgoHMk5d9Tb4ZGdtBqNkJQ8aJdNEfC9mAtYnlJXeF9+DYdcRhRD+i6RoDkG12+fHcwImgBOnnz0MgWus+IT4rE8p6CL4oabdZ+R4Oh9fHWxJ7QKUrid9C65WC0YpW0QP5ewr63eNTJRHqRv/Vh+B1cvNZqk1p/x73K8UMvEK8ff5QBC6eujmBZckRANmMSAGnkJMHQSFFTfh1uFK5spGD7E0Etc7+cyogKhWrI7O5P/XfGEraPb+QBxuFnUVRxN root@localhost.localdomain

在这里插入图片描述
我们将该公钥复制下来,之后,我们打开Gitlab,点击右上角的用户图标,在弹出的选择框中选择Edit Profile,然后点击左边的SSH Keys,如下所示:
在这里插入图片描述
添加密钥添加完成后的页面如下:
在这里插入图片描述

3.gitlab创建项目

Gitlab上创建项目。由于新项目的创建必须依赖于一个组,因此,我们在创建项目前,先创建组。
进入Gitlab主页面后,点击Overview中的Groups选项,然后点击右边的New group,选择新创建一个组,如下所示:
在这里插入图片描述
输入组的名称和描述,组的URL会随着组名称的输入而自动出现,在组的权限处,我们选择Private,配置完成后如下所示
在这里插入图片描述

接下来,我们点击最下方的Create Group,就可以完成组的创建了,如下所示:在这里插入图片描述
接下来,我们来创建项目。项目的创建与组的创建过程类似,都是输入项目名称,选择组的名称,项目描述以及权限等,配置好的项目如下所示:
在这里插入图片描述
配置完成后,就可以创建项目了。
创建项目后,Gitlab会自动创建一个README.md的文件,我们可以在线对该文件机型编辑,如下所示:
在这里插入图片描述

4.使用管理员创建账户

前提:使用root管理员账号密码登陆GitLab
在这里插入图片描述
初始密码由管理员设置,

当用户第一次登录时,由用户进行修改密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.gitlab 添加邮箱设置

5.1开启SMTP功能

登陆邮箱==》设置==》账户==》POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务==》开启SMTP服务==》接收验证
在这里插入图片描述

修改gitlab配置
Vim /etc/gitlab/gitlab.rb

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 #更新配置文件
gitlab-ctl reconfigure
gitlab-ctl restart

5.2验证

Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
Notify.test_email('1657xxxx@qq.com', 'GitLab email', 'Hellow world').deliver_now
执行 gitlab-rails console进入控制台交互界面, 然后在控制台提示符后输入下面内容发送一封测试邮件,测试完成后exit()退出。

在这里插入图片描述
在这里插入图片描述

6.修改登录欢迎页面

看下图操作即可
在这里插入图片描述
设置完的效果图
在这里插入图片描述

六.gitlab命令行操作

第一次使用该项目地址的话,需要创建新版本库,首先从主项目上fork一个自己的项目。从自己项目上获取clone(克隆)链接地址。在想要存放的目录下执行
在这里插入图片描述

git clone http://192.168.40.185:9091/test/git_test.git

在这里插入图片描述
在这里插入图片描述
查看日志
在这里插入图片描述

1.命令行新建分支

查看当前所在的分支
git branch 查看分支

在这里插入图片描述

git branch deve 创建分支,deve为新的分支名,可改
git checkout deve  进入到刚刚创建的分支
切换分支

在这里插入图片描述
查看状态(跟源文件有出入的文件)
在这里插入图片描述

git status
git push -u origin deve 		提交到新分支中

在这里插入图片描述
添加新分支成功
在这里插入图片描述

切换到主分支
git checkout main

2.上传代码仓库

首次使用Git的话,需要设置全局的用户名和邮箱设置,如下图所示:
在这里插入图片描述

在命令行或终端中使用下面的命令可以设置git自己的名字和电子邮件。这是因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
git config --global user.name "root"
git config --global user.email "admin@example.com"# 查看配置
git config --list

在这里插入图片描述

git init			初始化git
git remote add origin http://192.168.40.185:9091/test/git_test.git	将本地git和服务器上的连接
git add 1.txt		添加要提交的本地项目	(.代表所有 可用文件名代替. 上传某个文件)
git commit -m "测试代码"		提交到本地仓库
git push -u origin main 	将项目推送到gitlab端出现报错:
fatal: 远程 origin 已经存在 
解决:
#删除远程配置 git remote rm origin 
#重新添加 git remote add origin http://192.168.58.10:9091/test/git_test.git

在这里插入图片描述
这样就可以了,刷新gitlab页面就可以看到上传的项目了。
在这里插入图片描述

3.git命令行常用指令的使用

git status 	#上次提交后是否对文件再做了修改项目
git add . 		#添加所有的变动
git checkout -b 文件夹名称 		#创建本地分支并切换分支 git checkout -b pr/ffr
git commit -m “描述”			 #提交修改 git commit -m “修改什么”
git merge origin/develop “本地分支” 		#合并origin/develop上别人所做的修改到自己的本地分支 git merge origin/develop pr/ffr
git push origin “本地分支” #推送本地分支到远程,并建立联系 git push origin pr/ffr
git rebase -i 编号 #合并多次提交,将前几次的提交合并为一次
git checkout 分支名 #切换分支 git checkout pr/FFR-color git cherckout develop
git pull #更新当前分支的状态
git branch #列出本地分支
git branch -a #列出本地分支与远程分支
git branch -D 分支名 #删除分支(目前仅用于删除本地分支)
git remote -v #可以查看远程仓库信息
git branch 分支名 #仅仅创建 一个新分支,并不会自动切换到新分支中去
git rebase --abort #退出git rebase
git reset 提交编号 #git rebase -i 提交编号,之后出现错误,可以回退到之前未合并时的日志状态
git commit --amend -m “描述” #修改上一次的提交的描述
git stash #暂存上一次的修改,准备切换到其他的分支
git stash pop #还原上一次的修改,将暂存的修改加入到新的分支

3.1提交与修改

命令说明
git add添加文件到暂存区
git status查看仓库当前的状态,显示有变化的文件
git diff比较文件的不同,即暂存区和工作区的差异
git commit提交暂存区到本地仓库
git reset回退版本
git rm删除工作区文件
git mv移动或重命名工作区文件

七.gitlab数据备份

1.gitlab创建备份

1.1手动备份

创建备份文件
使用一条命令即可创建完整的Gitlab备份。
gitlab-rake gitlab:backup:create   
使用命令会在/var/opt/gitlab/backups目录下创建一个压缩包,这个压缩包就是Gitlab整个的完整部分。

在这里插入图片描述

生成完后,/var/opt/gitlab/backups目录
创建一个名称类似为1715127202_2024_05_08_16.11.1_gitlab_backup.tar的压缩包

其中

/etc/gitlab/gitlab.rb 配置文件须备份
/var/opt/gitlab/nginx/conf  nginx配置文件
/etc/postfix/main.cfpostfix  邮件配置备份

2.更改gitlab备份目录

也可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
修改为你想存放备份的目录即可gitlab_rails['backup_path'] = "/home/gitlab-backup"#指定备份后数据存放的路径、权限、时间配置
gitlab_rails['manage_backup_path'] = true              开启备份功能
gitlab_rails['backup_path'] = "/home/gitlab-backup"        指定备份的路径
gitlab_rails['backup_archive_permissions'] = 0644        备份文件的权限
gitlab_rails['backup_keep_time'] = 604800            备份保留时间

在这里插入图片描述

修改完成之后使用下面命令重载配置文件即可.
gitlab-ctl reconfigure创建备份目录并授权
chown -R git:git /home/gitlab-backup

在这里插入图片描述

使用命令创建完整的Gitlab备份
这个压缩包就是gitlab的整个完整部分

在这里插入图片描述
在这里插入图片描述

3.gitlab自动备份

定时自动备份
实现每天凌晨2点进行一次自动备份:通过crontab使用备份命令实现,需重启cron服务

3.1方法一 输入: crontab -e 然后添加相应的任务

#输入命令crontab -e
crontab -e  
#输入相应的任务
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1  
注意:环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出#查看周期性计划任务
crontab -l 

在这里插入图片描述

3.2脚本执行gitlab 备份

#!/bin/bash
a="/home/gitlab-backup"
back="/home/git_back"
date="$(date +%Y-%m-%d)"
logfile=$back/$date.log
gitlab-rake gitlab:backup:create > /dev/null
b=`ls $a |wc -l`
if [ $b -eq 0 ];then
echo "$date.tar 备份失败" >> $logfile
elif [ $b -gt 0 ];then
echo " $date.tar 备份成功" >> $logfile
fi
mv $a/* $back/$date.tar

在这里插入图片描述
将脚本加入执行计划
在这里插入图片描述
先清空gitlab-backup下的文件进行测试
在这里插入图片描述

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

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

相关文章

基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表

目录 一、引言 二、数据分组原理与意义 三、案例分析 四、代码实现与解释 五、对新手友好的解释 六、技术细节与扩展 七、实际应用场景 八、总结 一、引言 在数据处理和分析的广阔领域中,数据分组是一项基础且重要的任务。数据分组通常指的是将数据集中的元…

Mac idea gradle解决异常: SSL peer shut down incorrectly

系统:mac 软件:idea 解决异常: SSL peer shut down incorrectly 查看有没有安装 gradle -v安装 根据项目gradle提示安装版本 brew install gradle7idea的配置 在settings搜索gradle,配置Local installation,选择自己的安装目录…

VS远程调试

因为是做工厂应用的客制化项目,在客户现场出现异常,本地又很难复现,而且重启软件可能又自动恢复了,此时可以用VisualStudio自带的远程调试功能进行调试,不需要重启软件,能较好的定位问题。客户电脑上不需要…

代码随想录第四十九天|买卖股票的最佳时机Ⅲ、买卖股票的最佳时机Ⅳ

题目链接:. - 力扣(LeetCode) 题目链接:. - 力扣(LeetCode) 买卖股票的最佳时机Ⅲ、买卖股票的最佳时机Ⅳ两道题目非常相似,只是次数为已知的两次与k次的区别,而与买卖股票的最佳时…

Python读取base64图片数据

Python读取base64图片数据 在Python中,可以使用base64模块来解码Base64编码的字符串,并将其转换回原始的数据(如图片)。但通常,Base64编码的图片字符串会带有前缀(如data:image/jpeg;base64,)&…

按键配合LDO实现开关功能

今天给大家分享一个学到的按键开关电路,适合没有足够空间给自锁开关的场景,既可以用于USB供电控制也可以用于电池供电控制。话不多说上电路图先。 核心任务就是通过按键控制LDO芯片的使能管脚的电平状态,这枚NCP芯片高电平使能,VB…

【计算机网络】物理层传输介质 习题3

双绞线是用两根绝缘导线绞合而成的,绞合的目的是( )。 A.减少干扰 B.提高传输速度 C.增大传输距离 D.增大抗拉强度 在电缆中采用屏蔽技术带来的好处主要是( ) A.减少信号衰减 B. 减少电磁干扰辐射 C.减少物理损坏 D. 减少电缆的阻抗 利用一根同轴电缆互连主机构成…

LBSS84LT1G 130MA 50V P沟道小电流MOS管

LBSS84LT1G作为一款P沟道功率MOSFET,由于其低导通电阻和快速切换特性,在电机控制中有着广泛的应用。以下是几个典型的应用案例: 1. 直流电机驱动:在直流电机驱动电路中,LBSS84LT1G可用于控制电机的转速和方向。通过控…

天软因子数据库——宏观风险因子体系发布

天软因子数据最新重要发布,新增宏观风险因子体系。宏观因子体系是因子投资的重要工具,帮助投资者实现宏观风险的定量配置。宏观风险因子体系的新增使得天软因子数据体系更加完善。 目前海外对冲基金机构已推出过各自的宏观因子体系,例如Blac…

C语言(指针)4

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

ubuntu安装oceanbase调通本地navicat链接

分为两部分 一安装oceanbase服务 准备工作 mkdir -p /data/1 /data/log1 chown -R admin.admin /data/1 /data/log1/偷偷说:其实这步我忘记执行,也没影响我安装 oceanbase程序是很占内存的在安装时我们要先下载好安装包: 然后放在能记住的…

视频号音乐怎么下载

在这个数字化的时代,音乐如同流动的灵魂,穿梭在每一个视频号的精彩瞬间。你是否曾在某个视频号的背景音乐中,找到了心灵的共鸣,却苦于无法将其永久珍藏?想象一下,如果能够将那些触动心弦的旋律,…