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,一经查实,立即删除!

相关文章

JavaScript连接MySQL:搭建全栈应用的桥梁

JavaScript连接MySQL:搭建全栈应用的桥梁 环境准备与依赖安装安装Node.js安装MySQL安装MySQL连接库 JavaScript与MySQL的基本交互建立连接执行查询插入、更新和删除数据插入数据示例 安全性和性能优化预防SQL注入连接池错误处理与日志记录 结语与讨论 在现代Web开发…

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

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

Golang对nil的Slice和空Slice处理是一致的吗

在Go中,nil的slice和空的slice并不完全相同,尽管它们的许多行为在很多情况下是相似的。 nil slice var s []int在这种情况下,s是一个nil的slice。它的容量和长度都为0,且没有指向任何底层的数组。 空slice s : []int{} // s :…

upstream的指令参数max_conns,slow_start,down与backup,max_fails与fail_timeout参数使用说明

upstream的指令参数 1.upstream的指令参数之max_conns [限制服务器最大连接数] #配置上游服务器 upstream tomcats {server 192.168.28.102:8080 max_conns=2;server 192.168.28.103:8080 max_conns=3;server 192.168.28.104:8080 max_conns=5

查询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系统和服务管理器…

std::vector<数据类型>(大小),较常用的相关方法总结

一、初始化 我的理解是vector就相当于数组&#xff0c;可以是整型数组、字符串数组等&#xff0c;其中存放什么数组取决于<数据类型> std::vector<int> a; // 整型数组std::vector<string> b; // 字符串数组a {1,2,3,4,5,6};std::cerr << a.size() &…

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

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

顺序表以及实现(结构篇)

顺序表是一种线性表的存储结构&#xff0c;它使用一组地址连续的存储单元依次存储线性表的数据元素。在顺序表中&#xff0c;逻辑上相邻的元素在物理存储上也相邻&#xff0c;通常采用数组来实现这种存储方式。 前言&#xff1a; 顺序表格的特点&#xff1a; 随机访问&#x…

【MySQL精通之路】SQL语句(7)-数据库管理语句(3)-表维护语句

目录 1.ANALYZE TABLE语句 1.1 输出 1.2 KEY分布分析 1.3 直方图统计分析 2.CHECK TABLE语句 2.1 输出 2.2 检查版本兼容性 2.3 检查数据一致性 2.4 InnoDB表的CHECK TABLE的使用说明 2.5 MyISAM表的CHECK TABLE使用说明 3.CHECKSUM TABLE语句 3.1 性能注意事项 4…

Unity SetParent第二个参数worldPositionStays的意义

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

LLaMA-Factory 微调训练

LLaMA-Factory 微调训练 该框架功能&#xff0c;标注-微调-导出-合并-部署&#xff0c;一整条流程都有&#xff0c;而且训练时消耗的gpu算力也会小一些 一&#xff0c;安装&#xff08;推荐在linux中训练&#xff0c;win可以用wsldocker&#xff09; git clone https://githu…

数据驱动的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;因为串…

攻击渗透思考题

1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff0c;密文存在哪个文件下&#xff0c;该文件是否可以打开&#xff0c;并且查看到密文 在Windows操作系统中&#xff0c;登录时输入的明文密码不会以明文形式存储在系统中。相反&#xff0c;Windows使用一种称为“…

数据库mysql

一、mysql常用语句 登录MySQLmysql -u root -p列出所有数据库SHOW DATABASES;创建一个新数据库CREATE DATABASE test;删除一个数据库DROP DATABASE test;对一个数据库进行操作时USE test;列出当前数据库的所有表SHOW TABLES;要查看一个表的结构DESC students;创建表CREATE TAB…