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

Gitlab仓库部署_第1张图片

2、安装Postfix邮箱

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

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

Gitlab仓库部署_第2张图片

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

Gitlab仓库部署_第3张图片
Gitlab仓库部署_第4张图片

2、配置gitlab站点URL

GitLab默认的配置文件路径是/etc/gitlab/gitlab.rb
[root@localhost data]#vim /etc/gitlab/gitlab.rb

默认的站点Url配置项是:
external_url 'http://gitlab.example.com'

Gitlab仓库部署_第5张图片

3、启动并访问Gitlab

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

gitlab-ctl   start   #启动
gitlab-ctl  restart  #重启
gitlab-ctl  stop     #停止
gitlab-ctl  status   #查看

Gitlab仓库部署_第6张图片
Gitlab仓库部署_第7张图片

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

Gitlab仓库部署_第8张图片
在浏览器访问即可
Gitlab仓库部署_第9张图片

四、Gitlab具体操作

1、登录并修改密码

Gitlab仓库部署_第10张图片
Gitlab仓库部署_第11张图片

2、页面可将改为中文版

Gitlab仓库部署_第12张图片

3、关闭账户自动注册

Gitlab仓库部署_第13张图片
Gitlab仓库部署_第14张图片

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

Gitlab仓库部署_第15张图片
Gitlab仓库部署_第16张图片
Gitlab仓库部署_第17张图片
Gitlab仓库部署_第18张图片
Gitlab仓库部署_第19张图片
Gitlab仓库部署_第20张图片
Gitlab仓库部署_第21张图片

5、创建项目(管理员)

Gitlab仓库部署_第22张图片
Gitlab仓库部署_第23张图片
Gitlab仓库部署_第24张图片

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 [email protected]
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]-----+
#一路回车生成密钥

Gitlab仓库部署_第25张图片
Gitlab仓库部署_第26张图片
Gitlab仓库部署_第27张图片
Gitlab仓库部署_第28张图片
Gitlab仓库部署_第29张图片
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到远程仓库时没有版本冲突。

Gitlab仓库部署_第30张图片

你可能感兴趣的:(gitlab,linux,运维)