运维学习————GitLab的搭建和利用

[复制链接]
发表于 2026-1-25 21:58:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
目次
一、简介
1、概念
2、 利益
3、上风 
二、 下载安装
1、预备工作
2、下载安装
3、设置
三、常用下令
四、GitLab的利用
1、办理无法访问
​编辑2、修改暗码 
3、gitlab联合linux的利用
1、利用用户名和暗码操纵
2、利用ssh秘钥操纵 
4、卸载GitLab
5、gitlab联合windows利用
1、原理图
2、在gitlab创建项目
3、克隆项目到当地
4、进入项目(当地堆栈),创建目次和文件
5、添加当地文件到缓存,提交到当地堆栈 
​编辑 6、推送到长途gitlab,查察
7、在D盘克隆项目,新加文件,添加,提交 推送
8、在桌面的my-repo中的项目中pull拉取 ,到达同步代码的目标 
5、gitlab联合idea开发工具利用


官网:https://gitlab.cn/
一、简介

1、概念

   将工具整合到单个应用步伐中,以实现无与伦比的协作、可见性和开发速率。
  极狐GitLab不但是源代码管理或CI/CD工具,它是一个覆盖完备软件开发生命周期和DevOps的开放式一体化平台
  2、 利益

   更高效地工作
  更快地交付更好的软件
  低沉风险和本钱
  3、上风 

   开源免费:GitLab提供社区免费版本,恰当中小型公司利用,大大低沉了企业的本钱。
  强大的版本控制:GitLab基于Git举行版本控制,支持离线同步以及强大的分支管理功能,让团队可以或许高效地管理代码、分支和归并哀求,确保代码的可靠性和可追溯性。
  集成化的代码管理平台:GitLab不但提供了代码堆栈功能,还集成了题目跟踪、连续集成/连续摆设(CI/CD)、自动化测试等功能,使团队可以或许在一个平台上完成整个开发周期,进步开发服从。
  便捷的GUI操纵界面:GitLab提供了友好的图形用户界面(GUI),低沉了利用门槛,使得团队成员可以或许更轻松地举行代码管理和协作。
  强大的账户权限管理:GitLab支持精致化的账户权限管理,可以根据团队成员的脚色和需求分配差别的权限,确保代码库的安全性和可控性。
  高可用性:GitLab支持内置的高可用性(HA)设置,可以或许在高并发情况下保持服务的稳固运行,满足企业级应用的需求。
  可扩展性:GitLab支持丰富的插件和集成,可以与其他工具(如Jenkins、Slack等)举行集成,满足差别团队的需求,并支持自界说功能和扩展。
  安全性:GitLab提供了全面的安全性功能,包罗代码检察、访问控制、CI/CD安全扫描等,有助于掩护代码的安全性和保密性。
  等等
  二、 下载安装

1、预备工作

   服务器发起CPU4个,内存5G以上。否则大概会出现安装大概利用卡顿
  1. #查看Linux系统的版本信息
  2. cat /proc/version
  3. #查看Linux系统发行版信息
  4. cat /etc/redhat-release
复制代码

上面两个步调为反面下载什么样的rpm包做预备
  1. #追加本地域名
  2. echo 192.168.170.130 gitlab >>/etc/hosts
  3. #测试
  4. ping gitlab
  5. #安装gitlab依赖软件:
  6. yum install -y curl policycoreutils openssh-server openssh-clients postfix
复制代码
  curl:用于上传大概下载,可以举行数据传输
  openssh-server:ssh协议长途登录服务端
  openssh-clients:ssh协议长途登录客户端
  postfix:邮件传输协议,用于发送邮件
  


   获取GPG密钥,包管下载的gitlab包是由gitlab官方发布的不是被窜改的软件包
  GPG密钥:GPG(GNU Privacy Guard)是一种基于OpenPGP标准的加密软件,用于提供文件加密和验证的功能。GPG密钥可以包管软件下载的完备性和安全性。通过利用该公钥,你可以验证下载的软件包是否来自GitLab官方,从而确保GitLab安装的安全。
  1. rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  2. #开机自启postfix并现在立即启动
  3. service  postfix  start 或者 systemctl  start postfix  #启动服务
  4. systemctl  enable   postfix   #设置开启启动
  5. systemctl  enable  postfix  --now     #相当于上面两句
  6. #查看状态
  7. service postfix  status
复制代码

2、下载安装

下载所在:https://packages.gitlab.com/gitlab/gitlab-ce


  1. #进入下载目录
  2. cd /software
  3. #下载(注意证书过期,需要根据提示加上--no-check-certificate)
  4. wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-16.5.8-ce.0.el7.x86_64.rpm/download.rpm  --no-check-certificate
  5. #安装gitlab
  6. rpm -ivh gitlab-ce-16.5.8-ce.0.el7.x86_64.rpm
复制代码


安装乐成!!!
3、设置

  1. #配置访问IP及端口:
  2. vim /etc/gitlab/gitlab.rb
  3. #确保防火墙开放并开放上面端口
  4. 防火墙操作:
  5. systemctl status firewalld
  6. systemctl enable  --now firewalld
  7. systemctl status firewalld
  8. #添加请求服务
  9. firewall-cmd --permanent --add-service=http
  10. firewall-cmd --permanent --add-service=https
复制代码



  1. #开放端口
  2. firewall-cmd --zone=public --add-port=28080/tcp --permanent
  3. #重新加载防火墙
  4. systemctl reload firewalld
  5. #查看是否开放成功
  6. firewall-cmd --zone=public --query-port=28080/tcp
  7. #查看结果
  8. firewall-cmd --zone=public --list-all
复制代码

  1. #gitlab重新加载配置(重新加载时间可能稍微长点,占用内存可能也很多,耐心等待)
  2. gitlab-ctl reconfigure
复制代码
  若结果体现“ruby_block[supervise_redis_sleep] action run”,则会不绝卡无法往下举行,这时必要按住“CTRL+C”逼迫竣事,然后运行下令“systemctl restart gitlab-runsvdir”,末了再次实行下令“gitlab-ctl reconfigure 
  

  1. #重启gitlab组件
  2. gitlab-ctl restart
  3. #若结果显示“ok: run”,则说明配置文件修改完成。
复制代码
 

三、常用下令

  1. gitlab-ctl start # 启动所有GitLab组件
  2. gitlab-ctl stop # 停止所有GitLab组件
  3. gitlab-ctl restart # 重启所有GitLab组件
  4. gitlab-ctl status # 查看服务状态
复制代码

  1. gitlab-ctl reconfigure # 重新加载配置
  2. gitlab-rake gitlab:check SANITIZE=true --trace # 检查GitLab  SANITIZE=消毒,净化
  3. gitlab-ctl tail # 查看日志日志(相当于tail -F ...)
复制代码
  1. #GitLab的守护进程关闭和重启
  2. # 备注:GitLab的守护进程会默认开启nginx
  3. 命令:
  4. gitlab-ctl status nginx 查看状态
  5. gitlab-ctl stop nginx
  6. gitlab-ctl start nginx
  7. gitlab-ctl restart nginx
  8. # 释放资源,关闭GitLab
  9. 命令:gitlab-ctl stop
  10. 2)服务器重启或者GitLab意外停止,执行命令“gitlab-ctl start”。
  11. 若结果显示“fail: sidekiq: runsv not running”等,则说明GitLab不能启动。可以使用下面命令来解决这个问题:
  12. systemctl start gitlab-runsvdir
  13. #runsvdir 是 runit 的一个组件,它负责监视一个或多个服务目录(这些目录通常包含服务的配置文件和脚本),并启动、停止和监视这些服务。runit 是一个轻量级的 Unix 初始化系统和服务管理器。
  14. gitlab-ctl restart
复制代码
四、GitLab的利用

1、办理无法访问

欣赏器输入:http://192.168.37.155:28080/
   发现不可以访问(必要开放iptables),假如可以访问,下面就不实行:
  cd /etc/sysconfig
  ls -l
  结果体现“ip6tables-config”和“iptables-config”,但是没有查察到iptables文件。
  yum install iptables-services -y
  启动iptables
  systemctl start iptables
  查察状态:
  systemctl status iptables
  在iptables中设置开放GitLab的端标语:
  vim /etc/sysconfig/iptables
  添加:
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 18080 -j ACCEPT
  重启防火墙:
  service iptables restart
  再次革新欣赏器所在
  
2、修改暗码 


   登录GitLab的界面,第一次登录利用的用户名为 root,而暗码在文件/etc/gitlab/initial_root_password中(暗码不会含空格),且会在 24 小时后自动被删除。然后修改暗码即可。

cat /etc/gitlab/initial_root_password
  
 登录,先修改一下中文语言


生存,革新页面就可以了
然后就是修改暗码,点击生存之后,就会自动退出,重新利用新暗码登录即可

3、gitlab联合linux的利用

1、利用用户名和暗码操纵

  1. #安装git
  2. yum install git -y
  3. #创建linux环境下的本地仓库
  4. mkdir my-repo  &&  cd  my-repo
  5. #拉取代码
  6. git clone http://192.168.170.110:18080/root/qy176_project_20240904_1.git
  7. #输入GitLab的用户名和密码: root   xxxxxx
复制代码


    每次操纵都让输入用户名和暗码,可以利用ssh秘钥方式,制止每次输入用户明和暗码(设置一次ssh秘钥,反面不绝利用)
  2、利用ssh秘钥操纵 

  1. #安装git
  2. yum install git -y
  3. #生成密钥文件
  4. ssh-keygen 回车3次
  5. #显示生成的秘钥
  6. cat /root/.ssh/id_rsa.pub
复制代码
 



记着肯定要利用SSH克隆

  1. #在安装了git的linux下操作:
  2. cd ../
  3. mkdir my-repo1  &&  cd my-repo1/
  4. #本机可以直接克隆(本机有公钥了)
  5. git clone  [email protected]:root/qy176_project_20240904_2.git
  6. #多次克隆,测试秘钥效果。
  7. mkdir my-repo2 &&  cd my-repo2/
  8. git clone  [email protected]:root/qy176_project_20240904_2.git
  9. mkdir my-repo3 &&  cd my-repo3/
  10. git clone  [email protected]:root/qy176_project_20240904_2.git
复制代码

4、卸载GitLab

   假如gitlab安装失败,那可以卸载gitlab并重装。留意:gitlab肯定要卸载干净,否则会有不少贫苦。
  第一步,停服务。
  下令: gitlab-ctl stop
  第二步,卸载gitlab。(需确认gitlab是ce版本还是ee版本)
  下令: rpm -e gitlab-ce
  第三步,杀掉gitlab守卫进程。(带有opt/gitlab/service log)
  下令:ps -ef|grep gitlab
  sudo kill -9 [PID]
  第四步,删除磁盘文件。
  下令: find / -name gitlab |xargs rm -rf
  若结果提示“permission deny”,则手动逐层删除即可。
  第五步,下载的gitlab软件包也删除。
  5、gitlab联合windows利用

1、原理图


2、在gitlab创建项目


3、克隆项目到当地



输入准确的用户名和暗码

4、进入项目(当地堆栈),创建目次和文件

   看到.git阐明是堆栈
  git status
  mkdir -p src/main/java/com/aaa/ssm/controller
  mkdir -p src/main/resources
  vim src/main/java/com/aaa/ssm/controller/TestControler
  111
  vim src/main/resources/application.properties
  aaa
  git status
  体现赤色的src
  5、添加当地文件到缓存,提交到当地堆栈 

   git add * 提交全部文件
  git status
  

    git commit -m '第一次提交项目'
  

   设置用户名和邮箱
  git config --global user.name "百度凡间"
  git config --global user.email "[email protected]"
  再次提交:
  git commit -m '第一次提交项目'
  git status
  
 6、推送到长途gitlab,查察


   让长途所在和用户origin关联
  git remote add origin http://192.168.170.110:18080/root/qy176_project_20240904_1.git
  由于堆栈是克隆下来的,所在和用户已经绑定了,提示:remote origin already exists.
  确认main分支
  git branch -M main
  推送
  git push -uf origin main
  -u set-upstream 利用流方式上传
  -f force 逼迫的
  
 革新gitlab页面:

反面假如说,新增了文件大概修改了文件大概是删除了文件,都会变为赤色,循环实行上面步调,到达代码同步结果
7、在D盘克隆项目,新加文件,添加,提交 推送

   git clone http://192.168.170.110:18080/root/qy176_project_20240904_1.git
  cd qy176_project_20240904_1/
  vim src/main/java/com/aaa/ssm/controller/TestAController
  123
  git status
  git add *
  git status
  git commit -m '添加了一个控制器'
  git status
  git push -uf origin main
  8、在桌面的my-repo中的项目中pull拉取 ,到达同步代码的目标 

   git pull http://192.168.170.110:18080/root/qy176_project_20240904_1.git
  ls src/main/java/com/aaa/ssm/controller/
  

5、gitlab联合idea开发工具利用



第一次的话大概必要输入Token,而不是利用用户名和暗码,点击Generate自动跳转



回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表