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进行备份。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

景源畅信电商:做抖音运营怎么开始第一步?

在数字化时代的浪潮中,抖音作为一款短视频平台迅速崛起,成为许多人表达自我、分享生活的重要舞台。随着用户量的激增,如何做好抖音运营,尤其是迈出成功的第一步,成为了众多内容创作者和品牌主们关注的焦点。接下来&…

鹏哥C语言复习——调试

目录 什么是调试? Debug和Release: 调试方法: 环境准备: 调试快捷键介绍: 调试快捷键注意事项: 监视与内存查看: 数组元素的监视: 编译常见错误归类: 编译型错…

基于SpringBoot的旅游管理系统

基于SpringBoot的旅游管理系统 旅游管理系统开发技术功能模块代码结构数据库设计运行截图源码获取 旅游管理系统 开发技术 技术:SpringBoot、MyBatis-Plus、MySQL、Beetl、Layui。 框架:基于开源框架Snowy-Layui开发。 工具:IDEA、Navicat等…

Linux文本文件管理003

★排序、去重、统计★ 1)排序 sort -n按照数值排序 -r降序排列 2)去重 uniq 过滤相邻、重复的行 -c 对重复行计数 3)统计 wc 统计文件中的字节数、单词数、行数 -l 显示行数 今天通过使用grep、awk、cut指令和上面几个选项提取文本文件…

三十一、openlayers官网示例Draw Features解析——在地图上自定义绘制点、线、多边形、圆形并获取图形数据

官网demo地址: Draw Features 先初始化地图,准备一个空的矢量图层,用于显示绘制的图形。 initLayers() {const raster new TileLayer({source: new XYZ({url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/…

Pytorch 笔记

执行下面这段代码后,为什么返回的是 2 ? vector torch.tensor([7, 7]) vector.shape为什么返回的是 torch.Size([2])? 当你创建一个PyTorch张量时,它会记住张量中元素的数量和每个维度的大小。在你的代码中,torch.t…

软件程序设计规范(代码编写规范文档)-word下载

程序的编码是一个创造性极强的工作,必须要遵守一定的规则和限制,编码风格的重要性对软件项目开发来说是不言而喻的。 开发工程师在开发过程中必须遵守本规范,规范是代码编写及代码验收等管理环节中必须执行的标准。 编制基本原则:…

Java面试八股之volatile变量的作用

volatile变量的作用 内存可见性:volatile关键字最重要的作用是保证了变量的内存可见性。当一个线程修改了被volatile修饰的变量,这个修改会立即对其他线程可见,即使这些线程在不同的处理器上执行。这意味着volatile变量的更新不会被编译器优…

蓝桥杯—SysTick中断精准定时实现闪烁灯

在嵌入式系统中,SysTick_Handler 是一个中断服务例程(Interrupt Service Routine, ISR),用于处理 SysTick 定时器的中断。SysTick 定时器通常用于提供一个周期性的定时中断,可以用来实现延时或者周期性任务。 SysTick…

redis数据类型set,zset

华子目录 Set结构图相关命令sdiff key1 [key2]sdiffstore destination key1 [key2...]sinter key1 [key2...]sinterstore destination key1 [key2...]sunion key1 [key2...]sunionstore destination key1 [key2...]smove source destination memberspop key [count]sscan key c…

链表mark

什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。…

机械产品3d模型网站让您的展示内容更加易于分享和传播

为助力企业3D产品演示网站获得更多曝光和展示特效,华锐视点3D云展平台提供强大的3D编辑引擎,以逼真的渲染效果,让您的模型展示更加生动逼真。让客户也能轻松操作的3D产品演示网站搭建编辑器,引领3D展示的新潮流。 3D产品演示网站搭…

(2020|ICML PMLR,线性 Transformer,核函数,RNN)Transformer 是 RNN

Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention 公众号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. 线性 Transformers 3.1. Transformer 3.2.…

Vue:快速上手

一、简介 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,…

第八次javaweb作业

我们小组课程设计的题目是:超市管理系统,我认领的模块是:商品信息管理 controller package com.example.supermarker.controller;import com.example.supermarker.pojo.MerchInfo; import com.example.supermarker.pojo.PageBean; import c…

pillow学习3

Pillow库中,图像的模式代表了图像的颜色空间。以下是一些常见的图像模式及其含义: L(灰度图):L模式表示图像是灰度图像,每个像素用8位表示(范围为0-255),0表示黑色&#…

TTime:截图翻译/OCR

日常网页翻译Translate Web Pages完全足够,TTime最重要的功能,还是截图翻译,还有个厉害的功能,就是静默OCR,相比之前的分享的识字精灵效率更高。 软件使用 打开软件,点击翻译源设置,建议勾选一…

grafana大盘展示node_expod节点

node_expod添加lables标签 Prometheus查询 语句查询 node_exporter_build_infografna添加变量查询 正常有值 切换其他的是有值的 我的报错原因 因为有多个数据源,我选择错了,因为修改的lable标签是其他数据源,所以获取不到 查询语句 我的变量是 $app node_filesyste…

养老院管理系统基于springboot的养老院管理系统java项目

文章目录 养老院管理系统一、项目演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 养老院管理系统 一、项目演示 养老院管理系统 二、项目介绍 基于springboot的养老院管理系统 角色:超级…

Python代码:十七、生成列表

1、题目 描述: 一串连续的数据用什么记录最合适,牛牛认为在Python中非列表(list)莫属了。现输入牛牛朋友们的名字,请使用list函数与split函数将它们封装成列表,再整个输出列表。 输入描述: …