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=1
 
yum 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 firewalld
 
systemctl disable firewalld
 
setenforce 0

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

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

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

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

gitlab-ctl status

在这里插入图片描述

二.gitlab安装目录

gitlab组件日志路径:/var/log/gitlab

gitlab配置路径:/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下的文件进行测试
在这里插入图片描述

GitLab是一个开源的版本控制系统,提供了强大的代码托管和协作管理功能。虽然GitLab主要用于软件开发,但它也可以用来搭建博客。 搭建GitLab博客的步骤如下: 1. 安装GitLab:首先,需要在服务器上安装GitLab软件,可以根据具体的操作系统选择相应的安装方式。 2. 创建用户和项目:安装完成后,可以通过Web界面登录GitLab,创建博客所需的用户和项目。可以选择创建一个单独的项目作为博客仓库。 3. 编写博客:在项目中创建一个Markdown文件,用于编写博客内容。GitLab支持Markdown语法,可以方便地编辑和排版文本。 4. 提交和推送:完成博客内容的编写后,将文件提交到GitLab仓库中,并将代码推送到服务器上。 5. 配置域名和访问:在服务器上配置域名解析,并设置GitLab的域名指向服务器的IP地址。然后,就可以通过浏览器访问GitLab博客了。 6. 自定义主题:通过GitLab提供的自定义功能,可以对博客进行个性化主题的设置。可以选择现有的主题样式,或者自定义CSS文件来定制博客的外观。 7. 文章管理和发布:在博客中添加新的文章时,只需在对应的项目中创建Markdown文件并提交到仓库中即可。可以使用GitLab提供的分支和合并功能来管理不同版本的文章,并实现发布和修改的控制。 总之,通过搭建GitLab博客,可以享受到版本控制和协作管理带来的便利性,实现博客内容的编写、发布和管理。同时,GitLab还提供了许多其他功能,如评论、订阅和搜索等,可以进一步丰富和优化博客的功能和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值