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'] = 604800mkdir -p /data/backup/gitlab
chown -R git.git /data/backup/gitlab
gitlab-ctl reconfigure

4. 项目总结

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

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

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

相关文章

Gb 2024-05-22开源项目日报Top10

根据Github Trendings的统计,今日(2024-05-22统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3非开发语言项目2Jupyter Notebook项目2Rust项目2JavaScript项目1Lua项目1编程面试大学:成为软件工程师的全面学习计划 创建周期:2…

查询DQL

016条件查询之等量关系 条件查询语法格式 select ... from... where过滤条件;等于 select empno, ename from emp where sal3000;select job, sal from emp where enameFORD;select grade, losal, hisal from salgrade where grade 1;不等于 <> 或 ! selectempno,en…

德比软件携手亚马逊云科技,用生成式AI赋能旅游行业降本增效

旅游行业是最早被数字化技术赋能的行业之一。比如&#xff0c;消费者早已习惯在携程、艺龙、Booking等OTA平台根据实时酒店信息预订酒店。 这种丝滑的消费者体验背后&#xff0c;离不开领先的管理软件支撑。实际上大型酒店集团与OTA平台之间的系统对接非常复杂&#xff0c;酒店…

Go GORM介绍

GORM 是一个功能强大的 Go 语言 ORM&#xff08;对象关系映射&#xff09;库&#xff0c;它提供了一种方便的方式来与 SQL 数据库进行交互&#xff0c;而不需要编写大量的 SQL 代码。 GORM的关键特性 全功能的ORM&#xff1a;支持几乎所有的ORM功能&#xff0c;包括模型定义、基…

在Ubuntu系统中使用Systemctl添加启动项的详细指南

在Ubuntu系统中使用Systemctl添加启动项的详细指南 在Ubuntu系统中&#xff0c;systemctl 是管理systemd服务的主要工具。通过它&#xff0c;你可以添加、启动、停止、重启、启用和禁用服务。 什么是Systemctl&#xff1f; systemctl 是一个用于管理systemd系统和服务管理器…

OpenHarmony迎来首个互联网技术统一标准,鸿蒙OS生态走向如何?

开源三年半&#xff0c;OpenHarmony(以下简称“开源鸿蒙”)迎来了新进展。在5月25日召开的「OpenHarmony开发者大会」上&#xff0c;鸿蒙官宣了开源鸿蒙设备统一互联技术标准。 一直以来&#xff0c;各行业品牌操作系统相互独立、难以协同,成为其互联互通的痛点。为进一步解决…

Unity SetParent第二个参数worldPositionStays的意义

初学Unity的小知识&#xff1a; 改变对象的父级有三种调用方式&#xff0c;如下&#xff1a; transMe.SetParent(transParent,true); transMe.SetParent(transParent,false); transMe.parent transParent;具体有什么区别呢&#xff0c;这里写一个测试例子来详细说明&#xff…

数据驱动的UI艺术:智能设计的视觉盛宴

数据驱动的UI艺术&#xff1a;智能设计的视觉盛宴 引言 在当今这个数据泛滥的时代&#xff0c;大数据不仅仅是一种技术手段&#xff0c;它更是一种艺术形式。当大数据遇上UI设计&#xff0c;两者的结合便催生了一种全新的艺术形式——数据驱动的UI艺术。本文将探讨如何将数据…

STM32建立工程问题汇总

老版本MDK&#xff0c;例如MDK4 工程内容如下&#xff1a; User文件夹中存放main.c文件&#xff0c;用户中断服务函数&#xff08;stm32f1xx.it.c&#xff09;&#xff0c;用户配置文件&#xff08;stm32f1xx_hal_conf.h&#xff09;等用户程序文件&#xff0c;或者mdk启动程序…

5,串口编程---实现简单的用串口发送接收数据

单片机通过串口向PC机发送数据 PC机通过串口接收单片机发过来的数据 1.UART和USART的区别&#xff1a; USART支持同步通信方式,可以通过外部时钟信号进行同步传输,而UART仅支持异步通信方式 本开发板STM32F103ZET6有5个串口&#xff0c;用串口1作调试串口&#xff0c;因为串…

关于我转生从零开始学C++这件事:升级Lv.25

❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载&#xff0c;请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主&#xff0c;代码兴国&#xff01;❤❤❤ OK了老铁们&#xff0c;又是一个周末&#xff0c;大伟又来继续给大家更新我们的C的内容了。那么根据上一篇博…

php之web开发

目标 实现一款具有常用大部分功能的WEB应用&#xff0c;并初步了解WEB漏洞原理 登录功能&#xff1a; 1、基于前端的登录功能 <!DOCTYPE html> <html> <head> <title>简单登录功能</title> </head> <meta charset"UTF-8"…

【Python】 Python中的“命名元组”:简单而强大的数据结构

基本原理 在Python中&#xff0c;namedtuple是tuple的一个子类&#xff0c;它允许我们为元组的每个位置指定一个名字。这种数据结构非常适合用于需要固定字段和值的场景&#xff0c;例如数据库查询的结果或配置文件中的设置。 namedtuple提供了一种方便的方式来访问元组中的元…

海外盲盒系统APP开发,盲盒出海热潮下的蓝海

近几年&#xff0c;我国潮玩出海成为了一个的大风口。根据数据显示&#xff0c;今年全球潮玩规模将达到400多亿美元&#xff0c;市场发展空间巨大。海外庞大的市场对于我国盲盒出海是一个较大的优势。在当下互联网的快速发展下&#xff0c;海外盲盒APP商城成为了盲盒企业出海的…

开源VS闭源:谁将引领AI大模型的新时代?

一、引言 随着人工智能技术的飞速发展&#xff0c;AI大模型已成为推动这一浪潮的核心动力。在AI大模型的发展过程中&#xff0c;开源与闭源两种不同的发展路径一直备受关注。本文将深入探讨这两种路径的优劣势&#xff0c;分析它们对AI大模型发展的影响&#xff0c;并预测谁将…

ctfshow web入门 黑盒测试

web380 这里文章看的我好有感触 但是影响做题 扫描一下 访问flag.php啥也没有再访问page.php page.php?idflagweb381 扫出来page.php但是没啥用哇&#xff0c;查看源代码 这些文件挨个试发现啥也没&#xff0c;最后仔细对比发现其实都是layui&#xff0c;然后尝试着访问…

《架演》共创者第一次线上沟通会议总结

《架演》共创者第一次线上沟通——启动会 会议主题&#xff1a;《架演》共创启动会议会议时间&#xff1a;2024年5月28日&#xff0c;20:00 - 21:00会议地点&#xff1a;腾讯会议主持人&#xff1a;寒山参会人员&#xff1a; 夏军、mirror、刘哥、悟缺席人员&#xff1a;可心、…

Cocos Creator 安卓环境配置

系统&#xff1a;Win10&#xff0c;引擎版本&#xff1a;CocosCreator3.8.2&#xff0c; 时间&#xff1a;2024.05.23 安装 Java SDK(JDK)下载地址 注意&#xff1a;Java版本对应的Gradle: 详见表 Table 1. Java Compatibility 此处选择 Java 21 对应 Gradle 8.5 配置Java系统…

2024.05.22学习记录

1、面经复习&#xff1a; Vue组件通讯、vuex、js严格模式、options请求、vue3 Setup 语法糖、React hook 2、代码随想录刷题&#xff1a;动态规划 3、rosebush组件库 完成Alert和Alert测试 Menu组件初步开发