Gitlab仓库部署

Gitlab仓库部署

    • 一、Gitlab的概述
      • 1、gitlab介绍
      • 2、gitlab主要功能
      • 3、gitlab和github的区别
    • 二、部署环境
      • 1、安装依赖环境
      • 2、安装Postfix邮箱
      • 3、Gitlab优势
      • 4、Gitlab工作流程
    • 三、Gitlab部署过程
      • 1、Yum安装Gitlab
      • 2、配置gitlab站点URL
      • 3、启动并访问Gitlab
    • 四、Gitlab具体操作
      • 1、登录并修改密码
      • 2、页面可将改为中文版
      • 3、关闭账户自动注册
      • 4、创建用户和组(管理员)
      • 5、创建项目(管理员)
      • 6、免密登录配置

一、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

在这里插入图片描述

2、安装Postfix邮箱

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

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

在这里插入图片描述

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社区版包

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

2、配置gitlab站点URL

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

在这里插入图片描述

3、启动并访问Gitlab

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

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

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

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

四、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]-----+
#一路回车生成密钥

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
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 merge3、使用场景
通常情况下,远程操作的第一步,是使用git clone从远程主机克隆一个版本库到本地。本地修改代码后,每次从本地仓库push到远程仓库之前都要先进行git pull操作,保证push到远程仓库时没有版本冲突。

在这里插入图片描述

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

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

相关文章

X86_64函数调用汇编程序分(2)

X86_64函数调用汇编程序分(2) 1 X86_64寄存器使用标准2 leaveq和retq指令2.1 leaveq2.2 retq 3 执行leaveq和retq之后栈的结构3.1 执行leaveq之后栈的结构3.1.1 test_fun_b函数执行leaveq之前的栈结构示意图3.1.2 test_fun_b函数执行leaveq之后的栈结构示…

招投标软件系统技术和服务解决方案

附件为全部文章,敬请下载。 ↑(完全免费,直接免费下载) 软件系统技术和服务解决方案 目录 第一部分 服务方案 6 第一节、 服务方案概述 6 第二节、 服务方式 6 第三节、 服务机构 7 第四节、 服务响应 8 第五节、 服务内容 9 第六…

HarmonyOS应用开发—资源分类与访问

应用开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。 应用资源:借助资源文件能力,开发者在应用中自定义资源,自行管理这些资源在不同的设备或配置中的表…

Axure RP 10汉化版下载 Axure RP 10 mac授权码

Axure RP10汉化版是最强大的计划,原型设计和交付给开发人员的方法,而无需编写代码。能够制作逼真的,动态形式的原型。 Axure RP 10汉化版下载 Axure RP 10 mac授权码 RP 10有什么新功能? 1.显示动态面板 使用Axure RP 10&…

列表和字典练习

定义四个学生信息 在Python环境下,用列表定义: >>> stu1[xiaoming,True,21,79.9] >>> stu1[lihong,False,22,69.9] >>> stu1[zhangqiang,True,20,89.9] >>> stu1[EMT,True,23,99.9]如图,定义了四个列表…

React Native 环境配置(mac)

React Native 环境配置(mac) 1.Homebrew2.Node.js、WatchMan3.Yarn4.Android环境配置1.安装JDK2.下载AndroidStudio1.国内配置 Http Proxy2.安装SDK1.首先配置sdk的路径2.SDK 下载 3.创建模拟器4.配置 ANDROID_HOME 环境变量 5.IOS环境1.升级ruby&#x…

清理 Ubuntu 系统的 4 个简单步骤

清理 Ubuntu 系统的 4 个简单步骤 现在,试试看这 4 个简单的步骤,来清理你的 Ubuntu 系统吧。 这份精简指南将告诉你如何清理 Ubuntu 系统以及如何释放一些磁盘空间。 如果你的 Ubuntu 系统已经运行了至少一年,尽管系统是最新的,…

回归与聚类算法系列⑤:逻辑回归

目录 1、介绍 2、原理 输入 激活函数 3、损失及其优化 损失函数 优化 4、API 5、案例:乳腺癌肿瘤预测 数据集 代码 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习&#xff0…

.Net MVC 使用Areas后存在相同Controller时报错的解决办法; 从上下文获取请求的Area名及Controller名

先来说个额外的问题:如何在请求上下文(比如过滤器的中)获取请求对应的Area和Controller 名字?(假设请求上下文对象为 filterContext ): 1. 获取Area名: (string)filterContext.RouteData.DataTo…

Tomcat多实例部署和动静分离

一、多实例部署: 多实例:多实例就是在一台服务器上同时开启多个不同的服务端口,同时运行多个服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务。 1.前期准备: 1.关闭防火墙:systemctl …

Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理

文章目录 PreJunit4 / Junit5 / Spring Boot / IDEAIDEA版本Spring-Boot-Older-Release-NotesSpringBootTest 起源 & Spring-Boot-1.4-Release-Notes2.0.0.RELEASE ----- 2.0.9.RELEASE2.1.0.RELEASE ----- 2.1.18.RELEASE2.2.0.RELEASE ~ 2.2.13.RELEASE2.3.0.RELEASE ~ 2…

BIO NIO AIO演变

Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠的网络服务器和客户端程序。Netty简化了网络程序的开发,是很多框架和公司都在使用的技术。 Netty并非横空出世,它是在BIO,NIO,AIO演变中的产物…