一篇学会Gitlab搭建及使用

这篇具有很好参考价值的文章主要介绍了一篇学会Gitlab搭建及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Gitlab介绍

1、什么是Gitlab

二、搭建gitlab并实现ssl

1、配置yum源或下载gitlab包

2、安装依赖软件及获取GPG密钥

3、安装gitlab-ce

4、创建私有密钥

5、创建私有证书

6、创建CRT签名证书

7、利用openssl签署pem 证书

8、配置证书到gitlab

9、初始化gitlab

10、nginx配置重写到https

11、windows配置hosts

12、windows访问测试

13、登录并修改root初始密码

14、更改语言为中文(可选)

16、关闭账户自动注册

15、管理员创建账户和组

16、管理员创建项目 

17、配置登录免密认证

18、项目成员权限分配

19、gitlab项目介绍

①项目权限

②分支角色管理

20、gitlab常用命令


一、Gitlab介绍

1、什么是Gitlab

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。

安装方法是参考GitLab在GitHub上的Wiki页面。Gitlab是目前被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。

二、搭建gitlab并实现ssl

1、配置yum源或下载gitlab包

方法1:创建一个新的yum源文件,文件内容如下
vim /etc/yum.repos.d/gitlab.repo
[gitlab-ce]
name=Gitlab-CE
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
#此变量$releasever表示本服务器的当前系统版本号
gpgcheck=0
enabled=1
方法2:或者直接wget下载gitlab的rpm安装包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm

2、安装依赖软件及获取GPG密钥

hostnamectl set-hostname gitlab.lhj.com
#修改主机名
bash
#刷新shell
echo 192.168.30.20 gitlab.lhj.com >>/etc/hosts
#将本机对应域名添加到本机hosts文件中
yum install -y curl policycoreutils openssh-server openssh-clients postfix
#安装gitlab依赖软件
curl:用于上传或者下载,可以进行数据传输
openssh-server:ssh协议远程登录服务端
openssh-clients:ssh协议远程登录客户端
postfix:邮件传输协议,用于发送邮件
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#获取GPG密钥,保证下载的gitlab包是由gitlab官方发布的不是被篡改的软件包
GPG密钥:GPG密钥可以保证软件下载的完整性和安全性。通过使用该公钥,你可以验证下载的软件包是否来自GitLab官方,从而确保GitLab安装的安全。
systemctl  enable  postfix --now
#开机自启postfix并现在立即启动

3、安装gitlab-ce

方法1:上面配置过gitlab的yum源了直接yum安装即可
yum install gitlab-ce -y
方法2:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
#curl -s:静默模式常用于脚本下载。-S若出错不止是输出错误代码,要输出错误详细信息。下载gitlab官网的rpm.sh脚本传给bash执行。不用手动编辑配置yum源
yum  install gitlab-ce  -y
#然后再yum安装gitlab

4、创建私有密钥

mkdir -p /etc/gitlab/ssl
#创建存放密钥的目录
openssl genrsa -out "/etc/gitlab/ssl/gitlab.lhj.com.key" 2048
#利用openssl创建密钥-out指定密钥输入位置
Generating RSA private key, 2048 bit long modulus
........................................................................................+++
............+++
e is 65537 (0x10001)
#创建成功输出内容
cd /etc/gitlab/ssl
ls
gitlab.lhj.com.key
#进入存放密钥的目录查看有创建的私钥

一篇学会Gitlab搭建及使用

5、创建私有证书

openssl req -new -key "/etc/gitlab/ssl/gitlab.lhj.com.key" -out "/etc/gitlab/ssl/gitlab.lhj.com.csr"
#创建私有证书签名 
req表示使用openssl工具生成证书签名请求。
-new:表示创建一个新的证书签名请求。
-key:表示指定使用的私钥文件
-out:表示将csr文件保存到此路径下
#填写生成证书的信息,如下:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN   #国家,CN表示中国
State or Province Name (full name) []:JS  #省份江苏
Locality Name (eg, city) [Default City]:NJ   #城市南京
Organization Name (eg, company) [Default Company Ltd]:test  #组织单位test
Organizational Unit Name (eg, section) []:test              #单位名称test
Common Name (eg, your name or your server's hostname) []:gitlab.lhj.com  #主机名称
Email Address []:test123@qq.com                            #邮箱地址

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456                        #设置证书密码123456
An optional company name []:test                       #公司名称test

一篇学会Gitlab搭建及使用

6、创建CRT签名证书

openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.lhj.com.csr" -signkey "/etc/gitlab/ssl/gitlab.lhj.com.key" -out "/etc/gitlab/ssl/gitlab.lhj.com.crt"
#利用生成的私钥和私有证书签名CRT证书
-days:证书有效期为365天 
-in:指定私有证书
-signkey指定私钥,生成的签名证书为gitlab.lhj.com.crt
cd /etc/gitlab/ssl/
ls
#现在应该有以下三个文件
gitlab.lhj.com.crt  gitlab.lhj.com.csr  gitlab.lhj.com.key

一篇学会Gitlab搭建及使用

7、利用openssl签署pem 证书

openssl dhparam -out /etc/gitlab/ssl/dhparams.pem  2048
#dhparam:表示使用 OpenSSL 工具生成 DH 参数。
#-out /etc/gitlab/ssl/dhparams.pem:表示将生成的 DH 参数保存在指定的文件 /etc/gitlab/ssl/dhparams.pem 中。
cd /etc/gitlab/ssl/
chmod 600 *
ll
#修改ssl下所有证书权限为600

一篇学会Gitlab搭建及使用

8、配置证书到gitlab

[root@gitlab ssl]# vim /etc/gitlab/gitlab.rb 
external_url 'https://gitlab.lhj.com'      
#改为https协议和自己服务器的域名
nginx['redirect_http_to_https'] = true           
#取消#号更改注释并为true,将http重定向到https
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.lhj.com.crt"     
#更改crt证书路径
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.lhj.com.key"     
#更改路径私钥路径
# nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"   
#更改pem证书路径  后面的注释不用管# Path to dhparams.pem, eg.  /etc/gitlab/ssl/dhparams.pem

9、初始化gitlab

gitlab-ctl reconfigure 
#初始化gitlab,过程时间较长耐心等待gitlab-ctl用于管理gitlab

一篇学会Gitlab搭建及使用

10、nginx配置重写到https

cd /var/opt/gitlab/nginx/conf
ls
gitlab-health.conf  gitlab-http.conf  nginx.conf  nginx-status.conf
vim gitlab-http.conf  
#在server   listen *:80;下一行添加
server_name gitlab.lhj.com; 
#有servername就不写
rewrite ^(.*)$ https://$host$1 permanent;      
#重写所有都到https,permanent永久重定向
gitlab-ctl restart
#重启gitlab

一篇学会Gitlab搭建及使用

11、windows配置hosts

在Windows系统里C:\Windows\System32\drivers\etc\hosts 添加以下内容
192.168.30.20     gitlab.lhj.com
#配置完毕后在cmd的窗口中ping  gitlab.lhj.com 查看是否能ping通

12、windows访问测试

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用

13、 登录并修改root初始密码

cat /etc/gitlab/initial_root_password
#查看gitlab初始密码

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 

14、更改语言为中文(可选)

一篇学会Gitlab搭建及使用

16、 关闭账户自动注册

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 

15、管理员创建账户和组

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 

16、管理员创建项目 

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 

17、配置登录免密认证

Gitlab的登录免密验证,配置完成后,可以使得我们的Gitlab自动执行Git命令而无需登录,对于脚本的编写以及其他项目(如Jenkins)的运用这一步是必须的。

首先,在想要进行验证的设备上执行命令:
ssh-keygen
#四个回车生成免密登录秘钥

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用 

18、项目成员权限分配

一篇学会Gitlab搭建及使用

一篇学会Gitlab搭建及使用

19、gitlab项目介绍

①项目权限

权限名称

权限类型

权限说明

私有

Private

只有属于该项目成员才有权限查看和操作项目

内部

Internal

具有GitLab账号的人员登陆后都可以克隆项目

公开

Public

任何人都可以克隆

②分支角色管理

角色名称

角色类型

角色说明

匿名用户

Guest

访客【只能创建问题和留言评论】

报告人

Reporter

可以理解为测试员、产品经理等,一般负责提交问题等

开发人员

Developer

负责项目开发

管理者

Master

一般是组长,负责对Master分支进行维护

所有者

Owner

一般是项目经理【拥有所有权限】

20、gitlab常用命令

命令

说明

git add

添加文件到暂存区

git status

查看仓库当前的状态,显示有变更的文件。

git diff

比较文件的不同,即暂存区和工作区的差异。

git commit

提交暂存区到本地仓库。

git reset

回退版本。

git rm

删除工作区文件。

git mv

移动或重命名工作区文件。文章来源地址https://www.toymoban.com/news/detail-456871.html

到了这里,关于一篇学会Gitlab搭建及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka【应用 01】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)

    官方自称 Offset Explorer 是 Kafka 的终极 UI 工具 😄 我们看一下 官网 的介绍: Offset Explorer (formerly Kafka Tool) is a GUI application for managing and using Apache Kafka ® clusters. It provides an intuitive UI that allows one to quickly view objects within a Kafka cluster as well as the messages stored in the topics of the cluster.

    2024年02月12日
    浏览(53)
  • 一篇随笔学会HTML

    Hyper Text Markup Language 超文本标记语言 超文本:文字、图片、音频、视频、动画 标记:利用标签的语言 2013-5-6-HTML5 W3C(World Wide Web Consortium) 万维网联盟 结构化标准语言(HTML、XML) 表现标准语言(CSS) 行为标准(DOM、ECMAScrip) 注释:!— — DOCTYPE 告诉浏览器我们使用什么规

    2024年02月11日
    浏览(37)
  • Jenkins+gitlab搭建与使用(一)

    前言 环境准备 安装 idea上传Gitlab 安装Jenkins+Maven+Nexus Jenkins配置Maven+Git构建jar包 Jenkins配置自动化发布 搭建Gitlab、Maven、Jenkins、Nexus。 使用Idea创建项目,上传到Gitlab,配置Jenkins(配合私服Nexus)自动化发布到测试环境 系统版本 内核版本 Gitlab版本 Maven版本 Nexus版本 Jenkins版本

    2024年02月06日
    浏览(46)
  • 学会大数据基础,一篇就够了

    1 Hadoop的三大组件 1) HDFS分布式文件管理系统 超大数据存储 流式存储 2) MapRuduce分布式并行编程模型 3) Yarn 资源管理和调度器 2 其他组件 4 HBase 实时读写 非关系型数据库 分布式列式数据库 基于HDFS数据存储 5 Hive 数据仓库 SQL语句转换为mapreduce任务 6 Flume 日志采集聚合 7 Sqoop 传

    2024年02月04日
    浏览(40)
  • 一篇学会cron表达式

    Cron表达式是一种用于定义定时任务的格式化字符串。它被广泛用于Unix、Linux和类Unix系统中,用于在指定的时间执行预定的任务。Cron表达式由6个字段组成,每个字段通过空格分隔开。 在本文中,我们将学习如何理解和编写Cron表达式。 Cron表达式的格式如下: 每个字段可以使

    2024年02月05日
    浏览(62)
  • 使用docker-compose搭建gitlab

    使用Docker搭建GitLab带来的好处。它简化了部署过程,将安装和配置整合为一个容器,并通过简单的命令即可启动和运行GitLab实例。Docker的隔离和容器化特性确保了GitLab与其依赖的软件环境的隔离,避免了冲突问题。此外,Docker的可移植性使得GitLab可以在不同平台和环境中运行

    2024年01月18日
    浏览(51)
  • Gitlab介绍及git使用说明(保姆级)

    GitLab 是一个基于 Git 的版本控制工具,并在此基础上搭建起来的Web服务,旨在提供一个全面的工作流程来帮助管理代码、协作和部署。 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。 以下是 GitLab 的主要功能之一: 代码管理:GitLab 允

    2024年02月08日
    浏览(42)
  • Docker基本操作【一篇学会项目部署】

    本文均学于“黑马程序员” 本文所用环境:CentOS7 、HeidiSQL 、MobaXterm、MySQL Docker 是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地用Python开发网站后台,开发测试完成后,就可以将Python3及其

    2024年02月06日
    浏览(38)
  • docker部署gitlab CI/CD (一)第一篇:部署gitlab及汉化

    网上很多类似教程,但多少有点夹带私货,有的竟然拉取的第三方镜像,而且很多都要修改配置文件,完全不知道是为什么,于是结合其他人的博客和官方文档, 知其然也要知其所以然,于2023年4月17日写下这篇。 官方文档: https://docs.gitlab.com/ee/install/docker.html 主要参考博客

    2023年04月17日
    浏览(48)
  • 使用win10搭建一个gitlab服务器

    1.安装并配置Git和Ruby环境。在Windows上安装Git和Ruby可以使用Chocolatey包管理器进行安装。在管理员命令行中执行以下命令: 2.安装并配置OpenSSH。GitLab使用SSH协议进行代码的传输,因此需要安装OpenSSH。同样可以使用Chocolatey包管理器进行安装: 3.下载并安装GitLab。可以在GitLab官网

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包