虚拟机Ubuntu 22.04上搭建GitLab操作步骤

2024-05-31 17:12

本文主要是介绍虚拟机Ubuntu 22.04上搭建GitLab操作步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      GitLab是仓库管理系统,使用Git作为代码管理工具。GitLab提供了多个版本,包括社区版(Community Edition)和企业版(Enterprise Edition)。实际应用场景中要求CPU最小4核、内存最小8GB,非虚拟环境。

      以下是在虚拟机中安装社区版步骤

      1.为了可以在局域网内其他电脑上可访问GitLab服务,需在ubuntu中设置ip:首先关闭ubuntu虚拟机;然后:打开Oracle VM VirtualBox管理器:依次点击:设置、网络、网卡2:勾选"启用网络连接";连接方式选择"桥接网卡";高级中混杂模式:选择"全部允许",点击OK,如下图所示:

      2.安装依赖项:postfix是可选的,这里没有安装,在安装postfix过程中,会出现一个配置窗口,选择"Internet Site"并输入服务器的主机名(hostname)作为邮件服务器名称。这将允许GitLab发送电子邮件通知

sudo apt update
sudo apt install -y curl openssh-server ca-certificates postfix

      3.安装GitLab:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt install gitlab-ce

      执行完第一条语句后,输出结果如下图所示:The repository is setup! You can now install packages

      第二条语句是安装gitlab-ce,输出结果如下图所示:

      4.防火墙ufw常用命令如下所示:

sudo ufw status # 查看防火墙当前状
sudo ufw enable # 启用ufw,默认情况下,ufw是禁用的
sudo ufw disable # 禁用ufw
sudo ufw reload # 重启ufw

      启用防火墙,允许80和443端口,执行如下命令:在配置GitLab之前,需要确保防火墙规则

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

      执行完如上命令,再次查看防火墙状态,结果如下所示:

      5.配置GitLab:使用sudo vim打开/etc/gitlab/gitlab.rb,将external_url的值调整为http://gitlab.fengbingchun.com,保存并退出该文件,重新配置GitLab,执行如下命令:

sudo gitlab-ctl reconfigure

      执行完后若没有错误,会显示"gitlab Reconfigured!",如下图所示:

      6.重新启动GitLab服务,执行如下命令,结果如下图所示:

sudo gitlab-ctl restart

      7.访问GitLab Web界面:

      (1).打开Web浏览器并输入服务器IP地址或主机名:http://<Server-IP-Address-or-Hostname> 或 http://localhost 

      (2).GitLab Web界面的用户名是root密码存储在:/etc/gitlab/initial_root_password ,如下图所示:

      注意

      (1).登入GitLab Web页面的第一件事就是更改密码,/etc/gitlab/initial_root_password文件中的密码24小时后将被清理

      (2).进入gitlab后:"Check your sign-up restrictions",点击"Deactivate",禁止其他人注册账号

      (3).192.168.18.215为ubuntu的ip,其他同一网段的电脑输入此地址也可登入GitLab

      (4).clone代码时:使用ip地址而不能是url,还未定位原因

git clone http://192.168.18.215/root/test.git # 使用ip地址clone
git clone http://gitlab.fengbingchun.com/root/test.git # 不能使用url clone

      8.启用Let's Encrypt SSL:未成功

      (1).安装letsencrypt,执行如下命令:

sudo apt install letsencrypt

      (2).再次打开/etc/gitlab/gitlab.rb,调整的内容如下:letsencrypt['enable']文件中已存在,取消注释即可

external_url 'https://gitlab.fengbingchun.com'
letsencrypt['enable'] = true

      (3).保存退出该文件,重新配置GitLab时,一直报错:"Acme::Client::Error::Timeout: letsencrypt_certificate[gitlab.fengbingchun.com] (letsencrypt::http_authorization line 6) had an error: Acme::Client::Error::Timeout: acme_certificate[staging] (letsencrypt::http_authorization line 43) had an error: Acme::Client::Error::Timeout: Acme::Client::Error::Timeout" ,原因还未知

      9.常用命令如下:

sudo gitlab-rake gitlab:check # 验证GitLab配置
sudo gitlab-rake 'gitlab:password:reset[root]' # 重置GitLab root密码
sudo gitlab-ctl status # 查看GitLab状态
sudo gitlab-ctl stop # 停止GitLab
sudo gitlab-ctl restart # 重新启动GitLab
sudo gitlab-ctl start # 启动GitLab服务
sudo systemctl list-units --type=service | grep gitlab # 确定GitLab服务的名称
sudo systemctl status gitlab-runsvdir # 查看GitLab服务的状态
sudo systemctl is-enabled gitlab-runsvdir # 检查是否设置了开机禁用GitLab服务:应该返回disabled
sudo systemctl stop gitlab-runsvdir # 停止当前运行的GitLab服务
sudo systemctl disable gitlab-runsvdir # 禁用GitLab服务:在下次启动时不会自动运行

      10.卸载GitLab:先停止GitLab服务,依次执行如下命令

sudo gitlab-ctl stop # Shutdown Gitlab
sudo gitlab-ctl uninstall # Remove Gitlab services
sudo gitlab-ctl cleanse # Clean any data generated by usage of the package
sudo gitlab-ctl remove-accounts # Remove any Gitlab accounts on your system
sudo dpkg -P gitlab-ce # sudo apt-get purge gitlab-ce # Remove the package 
sudo rm -rf /opt/gitlab /etc/gitlab /var/opt/gitlab # Remove all Gitlab paths
sudo apt update
sudo apt-get autoremove 
sudo apt-get clean

这篇关于虚拟机Ubuntu 22.04上搭建GitLab操作步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018542

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中