• Gitlab仓库部署


    一、Gitlab的概述

    1、gitlab介绍

    GitLab是一个基于Git的web应用程序,它用于代码版本控制、问题追踪、代码审查、持续集成和持续交付。GitLab是一个开源的、自托管的Git存储库管理系统,它允许你通过一个网页界面进行Git存储库的托管、代码评审、问题追踪、CI/CD等操作,是一个强大、灵活、开源的平台,能够满足企业和开发人员的多种需求。

    2、gitlab主要功能

    • 代码托管和版本控制:GitLab提供了一个易于使用的版本控制系统,能够管理和跟踪代码的变化。你可以通过上传代码文件或者设置项目为公共或私人来管理你的Git存储库。

    • 问题追踪:GitLab提供了一个问题追踪系统,能够跟踪代码的缺陷、错误和特性请求等问题。

    • 代码审查:GitLab允许你对代码文件进行评审。你可以在代码合并请求中添加注释、请求改进、建议等。

    • 持续集成和持续交付:GitLab提供了强大的持续集成和持续交付功能。集成了CI/CD工具可周期性地构建、测试和部署应用程序。

    • 访问权限管理:GitLab允许你设置存储库和项目的访问权限,以限制不同用户的访问。

    除此之外,GitLab还提供了Wiki系统、代码片段管理、成员管理等功能,使项目协作更加容易和高效。

    3、gitlab和github的区别

    • github是分布式在线代码托管仓库,个人版本可直接在线免费使用,企业版本收费且需要服务器安装。

    • gitlab是分布式在线代码仓库托管软件,分社区免费版本与企业收费版本,都需要服务器安装。

    二、部署环境

    官网有最新的安装方式:GitLab下载安装

    1、安装依赖环境

    [root@localhost data]#yum install -y policycoreutils-python.x86_64 openssh-server
    
    • 1

    在这里插入图片描述

    2、安装Postfix邮箱

    Postfix是一个邮件服务器,GitLab发送邮件需要用到。
    Postfix邮箱

    [root@localhost data]#yum install -y postfix
    
    • 1

    在这里插入图片描述

    3、Gitlab优势

    • 开源免费,社区免费版本适合中小型公司

    • 差异化的版本管理,离线同步以及强大分支管理功能

    • 便捷的GUI操作界面以及强大账户权限管理功能

    • 集成度很高,能够集成绝大多数的开发工具

    • 支持内置HA,保证在高并发下仍旧实现高可用性

    4、Gitlab工作流程

    (1)创建并克隆项目

    (2)创建项目某Feature分支

    (3)编写代码并提交至该分支

    (4)推送该项目分支至远程Gitlab服务器

    (5)进行代码检查并提交Master主分支合并申请

    (6)项目领导审查代码并确认合并申请

    三、Gitlab部署过程

    1、Yum安装Gitlab

    [root@localhost data]#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash   #添加GitLab社区版Package
    [root@localhost data]#yum install -y gitlab-ce.x86_64   #安装gitlab社区版包
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述

    2、配置gitlab站点URL

    GitLab默认的配置文件路径是/etc/gitlab/gitlab.rb
    [root@localhost data]#vim /etc/gitlab/gitlab.rb
    
    默认的站点Url配置项是:
    external_url 'http://gitlab.example.com'
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    3、启动并访问Gitlab

    [root@localhost data]#gitlab-ctl reconfigure  #重新配置并启动,如果启动时报错将服务器内存调整为大于4G就可以了
    
    gitlab-ctl   start   #启动
    gitlab-ctl  restart  #重启
    gitlab-ctl  stop     #停止
    gitlab-ctl  status   #查看
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    在这里插入图片描述

    [root@localhost data]#cat /etc/gitlab/initial_root_password   #查看root用户的密码位置,24小时有效,过了24小时密码会自动删除
    
    • 1

    在这里插入图片描述
    在浏览器访问即可
    在这里插入图片描述

    四、Gitlab具体操作

    1、登录并修改密码

    在这里插入图片描述
    在这里插入图片描述

    2、页面可将改为中文版

    在这里插入图片描述

    3、关闭账户自动注册

    在这里插入图片描述
    在这里插入图片描述

    4、创建用户和组(管理员)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5、创建项目(管理员)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6、免密登录配置

    [root@localhost data]#ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:RiUGE0iu0J0U8/02QpQMKHW93Tdwc6/sWl2ECpvJOTE root@localhost.localdomain
    The key's randomart image is:
    +---[RSA 2048]----+
    |   o*+**+..      |
    | ..+o= =+o  . o..|
    |. ..+ . +oE. o.oo|
    | . .   o.o.O..o..|
    |  .     S @ .o o.|
    |       . o o  o..|
    |             .. .|
    |             ..  |
    |            ..   |
    +----[SHA256]-----+
    #一路回车生成密钥
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Git常用命令

    git remote add [remote] [url] #添加(关联)远程库
    git remote set-url [remote] [url] #修改远程仓库
    git clone [url] #克隆远程仓库项目
    git remote #查看指定远程仓库命名简写
    git remote –v #查看远程仓库详细信息以及名称对应URL
    git push -u remote master #第一次推送master分支的所有内容
    git fetch remote [branch/tag] #下载远程仓库的所有变动
    git pull remote [branch/tag] #拉取主分支最新版本(可以拉取其他分支)
    git push remote [branch/tag] --force #强行推送当前分支至远程分支,及时冲突
    git push remote [branch/tag] --all #推送所有分支到远程仓库
    git remote rename [oldname] [newname] #修改远程仓库名称
    git remote remove [name] #删除远程仓库名称以及URL地址
     
    git remote add [remote] [url] #添加(关联)远程库
    git remote set-url [remote] [url] #修改远程仓库
    git clone [url] #克隆远程仓库项目
    git remote #查看指定远程仓库命名简写
    git remote –v #查看远程仓库详细信息以及名称对应URL
    git push -u remote master #第一次推送master分支的所有内容
    git fetch remote [branch/tag] #下载远程仓库的所有变动
    git pull remote [branch/tag] #拉取主分支最新版本(可以拉取其他分支)
    git push remote [branch/tag] --force #强行推送当前分支至远程分支,及时冲突
    git push remote [branch/tag] --all #推送所有分支到远程仓库
    git remote rename [oldname] [newname] #修改远程仓库名称
    git remote remove [name] #删除远程仓库名称以及URL地址
     
    1、git clone 与 git pull 相同点
    相同点:都是从远程服务器拉取代码到本地
     
    2、git clone 与 git pull 不同点
    git clone
    是在本地没有版本库的时候,从远程服务器克隆整个版本库到本地,是一个本地从无到有的过程。
     
    git pull
    在本地有版本库的情况下,从远程库获取最新commit 数据(如果有的话),并merge(合并)到本地。
     
    git pull = git fetch + git merge
     
    3、使用场景
    通常情况下,远程操作的第一步,是使用git clone从远程主机克隆一个版本库到本地。
     
    本地修改代码后,每次从本地仓库push到远程仓库之前都要先进行git pull操作,保证push到远程仓库时没有版本冲突。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    在这里插入图片描述

  • 相关阅读:
    Repo 使用详解
    Python从入门到实践(四)if语句
    计算机Java项目|Springboot学生读书笔记共享
    uni-app —— 小程序加入购物车实现过程
    mysql
    Apache Doris 基础 -- 数据表设计(数据模型)
    爬虫之Scrapy框架
    01 - 快速体验 Spring Security 5.7.2 | 权限管理基础
    SpringBoot3分库分表
    ArcGIS中批量mxd高版本转低版本
  • 原文地址:https://blog.csdn.net/m0_73865971/article/details/132832606