Centos7安装GItLab(在线版)

 基础环境准备

1.配置清华大学镜像仓库

  • 新建仓库配置文件
  • 使用 vim /etc/yum.repos.d/gitlab-ce.repo 命令,输入以下内容,保存 
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

  • 更新 yum缓存
# 重新 yum 编译仓库缓存
$ sudo yum makecache# 在线安装gitlab
$ sudo yum install gitlab-ce

安装成功后会看到 gitlab-ce 打印了以下图形 

 2、安装基础依赖

# 安装基础依赖
$ sudo yum -y install policycoreutils openssh-server openssh-clients postfix# 启动 ssh 服务 & 设置为开机启动
$ sudo systemctl enable sshd & sudo systemctl start sshd

3、安装 Postfix 

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

# 安装 postfix
$ sudo yum install -y postfix# 启动 postfix 并设置为开机启动
$ sudo systemctl enable postfix & sudo systemctl start postfix

4、开放 ssh 以及 http 服务(80 端口)

# 开放 ssh、http 服务
$ sudo firewall-cmd --add-service=ssh --permanent & sudo firewall-cmd --add-service=http --permanent# 重载防火墙规则
$ sudo firewall-cmd --reload

部署gitLab

我们部署的是社区版: gitlab-ce ,如果要部署商业版可以把关键字替换为:gitlab-ee

1、Yum安装GitLab

  • 下载指定版本的 gitlab,可以在清华大学镜像站去选择:

Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

$ wget http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.4.2-ce.0.el7.x86_64.rpm
  • 安装 GitLab 社区版
$ rpm -i gitlab-ce-14.4.2-ce.0.el7.x86_64.rpm

如果上面已经执行`在线安装gitlab: yum install gitlab-ce',那么 上述这两步,wget和rpm可以不必执行,当然执行了也没问题.

2、配置 GitLab站点 Url和端口号

GitLab 默认的配置文件路径是 /etc/gitlab/gitlab.rb

# 修改配置文件
$ sudo vi /etc/gitlab/gitlab.rb

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

这里我将 GitLab 站点 Url 修改为 http://127.0.0.1:8000 也可以用域名代替 IP,这里根据自己需求来即可

# 配置首页地址(大约在第 15 行)
$ external_url 'http://127.0.0.1:8000'

# 开放端口号
$ firewall-cmd --zone=public --add-port=8000/tcp --permanent
# 重启防火墙
$ systemctl restart firewalld
# 查看是否成功
$ firewall-cmd --zone=public --query-port=8000/tcp

3、启动并访问GitLab

# 重新配置并启动
$ sudo gitlab-ctl reconfigure


# 完成后将会看到如下输出 

# 启动 gitlab
$ gitlab-ctl restart
# 查看启动详细信息
$ systemctl status gitlab-runsvdir.service

  • 访问 GitLab

如果是域名的话,将设置的域名 DNS 解析到服务器 IP,或者修改本地 host 将域名指向服务器 IP。

因为我是ip设置的,直接输入自己的ip即可访问:http://192.168.0.106:8000/users/sign_in

进入首页,随后进行登录,管理员账号默认用户名是root

初始化密码可以在 GitLab初始化文件查看

$ cat /etc/gitlab/initial_root_password
# 复制 Password 后面的内容即可
Password: qHBz/5FlIxcxhQIOaU54sZfIgKXYrU2IYjIPT61lmdw=

登录进来进入首页:

到这gitLab配置完成!下面是些其他常规配置

GitLab 常用配置

1、邮件配置

配置邮箱可以让 GitLab 在发生相应事件的时候进行邮件通知

比如:找回密码、添加邮箱等

# 修改配置文件
$ sudo vim /etc/gitlab/gitlab.rb# 邮件配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.163.com'
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = 'yourmail@163.com'
gitlab_rails['smtp_password'] = 'yourpasswd'
gitlab_rails['smtp_domain'] = 'smtp.163.com'
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'yourmail@163.com'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'# 保存后,重新配置并启动 GitLab
$ sudo gitlab-ctl reconfigure

2、禁用创建组权限

GitLab 默认所有的注册用户都可以创建组。但对于团队来说,通常只会给 Leader 相关权限。

虽然可以在用户管理界面取消权限,但毕竟不方便。我们可以通过配置 GitLab 默认禁用创建组权限。

# 修改配置文件
$ sudo vim /etc/gitlab/gitlab.rb# 开启 gitlab_rails['gitlab_default_can_create_group'] 选项,并将值设置为 false
### GitLab user privileges
$ gitlab_rails['gitlab_default_can_create_group'] = false# 保存后,重新配置并启动 GitLab
$ sudo gitlab-ctl reconfigure

3、gitlab-ctl 常用命令介绍 

gitlab-ctl 加下面命令可以起到的作用

命令说明
check-config检查在 gitlab 中是否有任何配置。在指定版本中删除的 rb
deploy-page安装部署页面
diff-config将用户配置与包可用配置进行比较
remove-accounts删除所有用户和组
upgrade升级
service-list查看所有服务
once如果 GitLab 服务停止了就启动服务,如果已启动就不做任何操作
restart重启 GitLab 服务
start如果 GitLab 服务停止了就启动服务,如果已启动就重启服务
stop停止 GitLab 服务
status查看 GitLab 服务状态
reconfigurereconfigure 重新配置 GitLab 并启动

------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!小弟在这拜谢了!
如果您觉得我的文章在某些地方写的不尽人意或者写的不对,从而让你对你人生观产生颠覆(概不负责),需要斧正,麻烦在评论区不吝赐教,作者看到后会根据您的提示查阅文章进行修改,还这世间一个公理一片蓝天

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

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

相关文章

免费文章生成器的种类,3款免费的文章生成器推荐

内容创作无疑是网络营销和品牌建设中不可或缺的一环。许多人在日常工作中可能会面临时间不足、灵感枯竭等问题,本文将深入聊聊免费文章生成器的种类,详细介绍使用方法。 1. 免费文章生成器的种类 基于模板的生成器 这类生成器通常提供一系列文章模板&…

清新脱俗的Notes主页

大家好,才是真的好。 作为Notes客户端重度用户,我个人非常喜欢Notes客户机,平时都在使用。对于另一些Notes用户,喜欢Notes的人非常喜欢,而且还知道它非常强大,可以进行很多定制化。 今天我们来讲的就是No…

PHP:解决一个字符串中的斜杠 / 进行 JSON 编码时,斜杠被转义为 \/

一、修改前 问题代码 直接通过JSON编码,就会出现问题 代码 $url SO/.$fileName; echo json_encode($url); 效果 二、解决后 代码 使用 json_encode 函数的第二个参数 JSON_UNESCAPED_SLASHES 来禁止对斜杠进行转义 $url SO/.$fileName; echo json_encode…

html实现好看的个人博客留言板源码

文章目录 1.设计来源1.1 博客主界面1.2 常用源码1.3 我的文章1.4 留言板1.5 联系我 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/134837482 html实现好看的个人博客留言…

【征稿倒计时十天,ACM独立出版,有确定的ISBN号,ei检索稳且快】

2023 人工智能、系统与网络安全国际学术会议 (AISNS 2023) 2023 International Conference on Artificial Intelligence, Systems and Network Security 由西南科技大学计算机科学与技术学院主办的2023人工智能、系统与网络安全国际学术会议 (AISNS 2023&#xff0…

谈谈我对HashMap扩容机制的理解及底层实现

目录 一、HashMap的底层实现 二、HashMap扩容机制 概念 详细扩容: 1、初始容量 2、添加元素 3、元素数量检查 4、触发扩容 5、迁移元素 6、更新容量和阈值 代码: 一、HashMap的底层实现 HashMap 是 Java 中常用的数据结构之一,用于…

Python学习路线 - Python语言基础入门 - 判断语句

Python学习路线 - Python语言基础入门 - 判断语句 前言布尔类型和比较运算符布尔类型布尔类型的定义 比较运算符 if语句的基本格式if判断语句 if else 语句if elif else 语句判断语句的嵌套实战案例 前言 进行逻辑判断,是生活中常见的行为。同样,在程序…

Powerbuilder9.0 安装是一直卡在setup is running无法继续

这种情况是安装时,他后面弹出来一个提示框,但是因为其他进程的干扰,我们无法看到也就无法继续了。 我看到这个文章:https://blog.csdn.net/FLORY_/article/details/105244102 使用他说的方法的确有效。过程 1. 打开任务管理器 …

子查询在SQL中的应用和实践

作者:CSDN-川川菜鸟 在SQL中,子查询是一种强大的工具,用于解决复杂的数据查询问题。本文将深入探讨子查询的概念、类型、规则,并通过具体案例展示其在实际应用中的用途。 文章目录 子查询概念子查询的类型子查询的规则实际案例分析…

Photoshop Elements 2023 v21.0(ps简化版)

Photoshop Elements 2023是一款ps简化版图像处理软件,它加入了一些新的功能和工具,以帮助用户更高效地处理图片。 新功能:软件加入了黑科技,采用Adobe Sensei AI技术,主打人工智能,一键P图,新增…

Demystifying DeFi MEV Activities in Flashbots Bundle

目录 笔记后续的研究方向摘要引言贡献 Demystifying DeFi MEV Activities in Flashbots Bundle CCS 2023 笔记 本文介绍了对 Flashbots 捆绑包中的去中心化金融 (DeFi) 矿工可提取价值 (MEV) 活动的研究。作者开发了ActLifter&am…

文献速递:多模态影像组学文献分享(一种诊断方法结合了多模态放射组学和基于腰椎CT及X光的机器学习模型,用于骨质疏松症)

文献速递:多模态影像组学文献分享:(一种诊断方法结合了多模态放射组学和基于腰椎CT及X光的机器学习模型,用于骨质疏松症)** Title 题目 A diagnostic approach integrated multimodal radiomics with machine learning models based on lumbar spine CT…

Codeforces Round 913 (Div. 3) A~E

目录 A. Rook 问题分析: B. YetnotherrokenKeoard 问题分析: C. Removal of Unattractive Pairs 问题分析: D. Jumping Through Segments 问题分析: E. Good Triples 问题分析: A. Rook 问题分析: 给一个棋子将其同行同列的位置输出 #include<bits/s…

❀My学习Linux命令小记录(14)❀

目录 ❀My学习Linux命令小记录&#xff08;14&#xff09;❀ 56.man指令 57.whatis指令 58.info指令 59.--help指令 60.uname指令 ❀My学习Linux命令小记录&#xff08;14&#xff09;❀ 56.man指令 功能说明&#xff1a;查看Linux中的指令帮助。 &#xff08;ps.man命…

上门预约洗鞋店小程序

互联网洗鞋店小程序开发&#xff0c;结合洗鞋行业线下实际运营情况和经验&#xff0c;专为洗鞋人、洗鞋店打造的高效、实用、有价值的洗鞋私域流量管理软件系统。 帮助洗鞋人建立自己的私域流量&#xff0c;实现会员用户管理&#xff0c;用户与商家点对点互联互通&#xff0c;提…

工业级路由器在智能交通系统(ITS)中的创新应用

智能交通系统&#xff08;ITS&#xff09;作为一种先进的交通管理与控制系统&#xff0c;旨在提高交通运输系统的效率、安全性和便捷性。随着科技的不断发展&#xff0c;智能交通系统已经成为城市交通管理的重要组成部分。而工业级路由器作为一种可靠的网络通信设备&#xff0c…

使用Python内置库实现数据的加密与校验

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 数据的安全性是现代应用程序中不可忽视的一个重要方面。在Python中&#xff0c;我们可以利用内置的加密和校验库来保护敏感信息。本文将深入讨论如何使用Python内置库实现数据的加密和校验&#xff0c;为开发者提…

SQL Server 数据库,创建数据库并使用索引查询学员考试成绩

5.1索引 索引提供指针以指向存储在表中指定列的数据值&#xff0c;然后根据指定的次序排列这些指针&#xff0c;再跟随 指针到达包含该值的行。 5.1.1什么是索引 数据库中的索引与书籍中的目录类似。在一本书中&#xff0c;无须阅读整本书&#xff0c;利用目录就可以快速查 找…

『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium

『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium 1 关于Android UI自动化测试2 Appium简介3 Appium原理3.1 Android端过程3.2 iOS端过程 4 补充内容5 JDK下载6 JDK配置7 SDK下载8 SDK配置9 配置Android环境10 安装NodeJs11 解决node安…

今天刷basic

一 在kali里边链接这个服务器 ssh -p 25199 rootnode4.buuoj.cn 然后回车 yes 输入密码123456 ls查看发现什么都没有&#xff0c;cd ..返回上一级目录 ls 发现有flag.txt 查看文件得到flag flag{477f20d3-acd3-46e1-b50a-633e58b769c7}