GitLab的安装及基础操作

1. 项目目标

(1)熟练使用rpm包安装gitlab

(2)熟练配置gitlab

(3)熟练创建gitlab群组、成员、项目

(4)熟练使用gitlab推送和拉取代码

2. 项目准备

2.1. 规划节点

|--------|-----------|--------|
| 主机名 | 主机IP | 节点规划 |
| gitlab | 10.0.1.10 | gitlab |

2.2. 基础准备

**系统镜像:**CentOS 7.9

安装包下载网址: Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

**环境准备:**关闭防火墙

3. 项目实施

3.1. 安装GitLab

这里安装的是社区版的gitlab14.0,安装包可以在清华镜像源自行下载:

Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

yum -y install policycoreutils-python #安装依赖
wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-14.0.0-ce.0.el7.x86_64.rpm #安装软件包

修改gitlab 配置文件:

vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.1.10'  # 更改为本机IP地址
gitlab-ctl reconfigure  #将配置生效

gitlab常用文件路径及常用命令:

  1. /opt/gitlab/:这是GitLab的程序安装目录,通常包含GitLab的可执行文件和脚本。
  2. /var/opt/gitlab:这是GitLab的数据目录,用于存放配置文件、日志文件、备份等数据。
  3. /var/opt/gitlab/git-data:这是存放Git仓库数据的目录。
  4. gitlab-ctl status:这个命令用于查看GitLab所有服务的当前状态。
  5. gitlab-ctl stop:这个命令用于停止GitLab的所有服务。
  6. gitlab-ctl stop nginx:这个命令用于单独停止Nginx服务,Nginx是一个流行的Web服务器和反向代理服务器,通常用于GitLab的Web服务。
  7. gitlab-ctl tail:这个命令用于查看所有服务的日志,这可以帮助你监控服务的运行情况和调试问题。

3.2. GitLab的配置与使用

3.2.1. GitLab基本配置

访问你的主机ip地址,跳转到登录界面。

账号是root 密码通过cat查看:

cat /etc/gitlab/initial_root_password |grep -i password:

偏好设置-> 本地化 ->修改语言

设置->通用 -> 注册限制里关闭注册

3.2.2. 创建群组和用户

创建群组

进入管理中心,新建用户。

进入创建的群组,添加群组成员

3.2.3. 创建项目仓库
3.2.4. 添加ssh-keys到GitLab
ssh-keygen #生成sshkey
cat /root/.ssh/id_rsa.pub #查看sshkey

在用户设置里添加ssh密钥

3.2.5. git代码流程

推送代码:

mkdir gitlab_test                      #创建一个文件夹作为测试
cd gitlab_test                         #进入文件夹
git init                               #初始化git
git remote add origin git@10.0.1.10:devops-group/devops-item.git #添加远程仓库,在仓库的克隆里复制
git checkout -b master                 #创建master分支
git remote rename origin devops-origin #更改origin名字
touch README.txt                       #创建一个readme文件
git add .                              #添加到缓冲区
git config --global user.email "abc@gmall.com"  #设置email
git config --global user.name "devops-Intern"   #设置username
git commit -m "README"                          #添加项目到本地仓库
git push -u devops-origin master                #推送本地仓库至远程仓库

刷新后,切换到master分支,就能看到项目里面包含了刚刚上传的文件。

克隆代码:

mkdir gitlab_test
cd gitlab_test
git init                                              #初始化
git clone git@10.0.1.10:devops-group/devops-item.git  #克隆远程仓库代码
3.2.6. 添加分支并合并分支

添加分支:

git branch app                     #创建分支
git checkout app                   #切换到app分支
touch app_test                     #创建test文件
git add .                          #添加到缓冲区
git commit -m "add_app_test"       #添加项目到本地仓库
git remote add origin git@10.0.1.170:devops-group/devops-item.git  #添加远程仓库
git push -u origin app             #推送本地仓库至远程仓库

合并分支:

批准合并,单击合并

拉取最新代码,同步到本地服务器

git pull
3.2.7. GitLab备份
vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = '/data/backup/gitlab'
gitlab_rails['backup_keep_time'] = 604800

mkdir -p /data/backup/gitlab
chown -R git.git /data/backup/gitlab
gitlab-ctl reconfigure

4. 项目总结

本项目详细讲解了gitlab的安装及其基础操作,模拟实现了代码的推送及拉取,最后将gitlab进行备份。

相关推荐
Winston Wood33 分钟前
一文了解git TAG
git·版本控制
喵喵先森1 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu5432 小时前
反向代理模块
linux·开发语言·网络·git
binishuaio5 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。5 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie67 小时前
在IDEA中使用Git
java·git
A ?Charis15 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
晓理紫16 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿17 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
秋说1 天前
开源代码管理平台Gitlab如何本地化部署并实现公网环境远程访问私有仓库
gitlab·源代码管理