📋 前言
- 🖱 博客主页:在下马农的碎碎念
- 🤗 欢迎关注🔎点赞👍收藏⭐️留言📝
- ✍ 本文由在下马农原创,首发于CSDN
- 📆 首发时间:2023/09/26
- 📅 最近更新时间:2023/09/26
- 🤵 此马非凡马,房星本是星。向前敲瘦骨,犹自带铜声。
- 📇 系列文章目录: 无
- 🙏作者水平有限,如发现错误,请留言轰炸哦!万分感谢!
世界于你而言,毫无意义和目的,却又充满随心所欲的幻想,但又有谁知,也许就在这闷热令人疲倦的正午,那个陌生人,提着满篮奇妙的货物,路过你的门前,他响亮地叫卖着,你就会从朦胧的梦中惊醒,走出房门,迎接命运的安排。
——泰戈尔《爱者之贻》
一、背景
1.1 gitlab简介
GitLab是一个基于Web的Git仓库管理工具,它提供了一整套用于代码版本控制、代码托管、持续集成、项目管理和协作的功能。
GitLab最初于2011年由Dmitriy Zaporozhets和Valery Sizov创建,是一个开源项目。它允许开发团队在一个中心化的位置管理代码仓库,并提供了一系列工具和功能来帮助团队协作开发软件项目。
以下是GitLab的一些主要特点:
- 代码托管:GitLab提供了强大的代码托管功能,支持Git版本控制系统。你可以在GitLab上创建自己的代码仓库,进行代码的提交、分支管理和合并请求等操作。
- CI/CD:GitLab集成了持续集成和持续交付(CI/CD)功能,使开发团队能够自动构建、测试和部署他们的应用程序。通过配置CI/CD管道,你可以定义各种构建、测试和部署任务,并与代码仓库进行集成。这样,每当有新的代码提交时,系统将自动执行这些任务来确保代码的质量和稳定性。
- 项目管理:GitLab提供了一套项目管理工具,包括问题跟踪、任务列表、里程碑、讨论和代码审查等功能。团队成员可以使用这些工具来协作开发、分配任务、讨论问题和审核代码。
- 集成与扩展性:GitLab支持与其他工具和服务的集成,如JIRA、Slack、Jenkins等。它还提供了API和插件系统,使开发者可以根据自己的需求进行扩展和定制。
- 自托管和SaaS:GitLab提供了两种部署方式,你可以选择在自己的服务器上自托管GitLab,或者使用GitLab提供的托管服务(GitLab.com)。
总的来说,GitLab是一个功能丰富的代码托管和项目管理平台,它的目标是帮助开发团队更高效地协作和交付软件。无论是小型团队还是大型企业,GitLab都提供了一套完整的工具和功能来支持软件开发的整个生命周期。
搭建一个自己专属的gitlab,将自己的代码库全部上传之后,就可以随时随地访问自己的代码。并且gitlab并非只能作为代码仓库,常见格式的文件都能上传并支持在线预览。
1.2 华为云耀云服务器L实例
根据官网介绍,云耀云服务器L实例是新一代开箱即用、面向中小企业和开发者打造的全新轻量应用云服务器。云耀云服务器L实例提供丰富严选的应用镜像,实现应用一键部署,助力客户便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等。
有非常多的优势,比如不卡顿,上手简单等等等。
对我们这种小白来讲,这些可以适当了解一下,我们只需要知道它是一台云服务器就足够了。
OK,了解了这两个主角之后,我们直接开干。
二、搭建GitLab
2.1 安装前准备
2.1.1 购买云服务器
这个不再展开,如果你还没有服务器,先去买服务器吧骚年!!!
注意:本文使用的云服务器配置如下:
- vCPU: 2核
- 内存: 2GB
- Linux操作系统:以ubuntu22.04为例
2.2.2 配置服务器安全组规则
- 在华为云控制台找到自己购买的服务器,依次点击:更多=>网络设置=>安全组规则配置
- 之后在弹出的窗口中点击配置规则,进入安全组规则配置界面。
- 开放80端口
gitlab需要用到80端口,为了简便操作,我们直接使用控制台提供的一键放通常用端口功能,如下图所示:
依次点击:入方向规则=>一键放通常用端口=>确认即可。然后出方向一样。
2.2 登录实例并创建swap分区
2.2.1 登录我们的服务器实例
可以选择控制台自己的远程登录,也可以自行使用SSH工具进行远程登录。
注意:默认用户名为root,如果不知道登录密码,可以先关机然后进行重置密码后再进行登录。
2.2.2 服务器添加swap分区
从gitlab官网了解到,gitlab安装对于服务器的最低要求为:
- 存储:安装gitlab需要2.5G空间
- CPU : 4核CPU(支持500用户)
- 内存: 4GB RAM 是必需的最小内存,支持多达 500 名用户
显然,博主购买的这台服务器配置达不到要求,于是我们需要添加swap分区,它是针对内存不足情况的极其重要的最后手段。
添加swap分区步骤:
-
检查系统是否已经存在swap分区
sudo swapon --show
如果没有任何输出,则证明没有swap分区,如下图所示:
-
创建一个用于swap分区的文件
sudo mkdir -v /var/cache/swap cd /var/cache/swap sudo dd if=/dev/zero of=swapfile bs=1K count=4M
-
将新建的文件转换为swap文件
sudo mkswap swapfile
-
启用swap分区
sudo swapon swapfile
-
使用swapon命令进行验证
swapon -s
正常的话会显示swap分区的信息,如下图所示:
如果需要禁用swap,可以使用
sudo swapoff swapfile
-
将swap分区设置为开机自动加载
echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
-
调整swap分区的swappiness
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。正常情况这个值默认为60。以防万一,我们查看一下。
a. 查看当前swap分区swappiness
cat /proc/sys/vm/swappiness
比如博主这里,这个值就为0.
如果这个值为0,需要修改为60,或者80都行。
b. 修改swappiness的值
sudo sysctl vm.swappiness=60
这种修改方式只在本次启动运行过程中有效,重启后就会变为原来的默认值,如果需要长期生效,需要在
/etc/sysctl.conf
文件中添加vm。swappiness = 60
(如果文件末尾有此项,将其值改为60)sudo vim /etc/sysctl.conf
2.3 安装GitLab
2.3.1 安装依赖
sudo apt update
sudo apt-get upgrade
sudo apt-get install curl openssh-server ca-certificates postfix
如果中途跳出需要选择的选项,直接选择默认项回车即可。
2.3.2 安装GlitLab
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh |sudo bash
sudo apt-get install gitlab-ce
运行之后需要等待一会。
2.2.3 安装成功
安装成功的界面如下图所示:
出现这个界面,我们这一步的操作就完成了
2.4 配置IP并启动gitlab
2.4.1 配置对外IP和默认端口
GitLab的配置文件位于 /etc/gitlab/gitlab.rb ,我们需要编辑此文件来修改gitlab的相关配置。在本文中使用vim编辑,如果没有安装vim,执行命令sudo apt install vim
进行安装。
进入配置文件
sudo vim /etc/gitlab/gitlab.rb
修改external_url字段,其原始值为external_url 'http://gitlab.example.com'
将其修改为IP+端口号的形式,例如external_url 'http://123.45.678.90:80'
,要将123.45.678.90替换为你自己服务器的公网IP。
2.4.2 启动GitLab
运行以下命令以启动GitLab:
sudo gitlab-ctl stop //--停止服务sudo gitlab-ctl reconfigure //--启动服务sudo gitlab-ctl restart //--重启所有gitlab组件sudo gitlab-ctl start //--启动所有gitlab组件
注意:如果中途执行sudo gitlab-ctl reconfigure
有卡住很长时间不动的情况,Ctrl+C退出之后重新执行上述命令。配置好之后会出现 gitlab Reconfigured! 提示。如下图所示:
配置成功之后接着执行上边的后两句命令。
执行完成之后,GitLab就已经安装配置并成功启动,这时我们在电脑的浏览器中输入刚刚GitLab配置文件中external_url的链接,就能够成功访问到GItLab的主页了。
管理员账户名:root
管理员账户密码:默认密码在/etc/gitlab/initial_root_password
如需修改默认密码,请自行搜索修改密码方式。
2.4.3 使用管理员账户登录
三、常见问题及解决方法
3.1 访问首页提示502 GitLab响应时间过长
使用top查看内存使用情况,如果内存剩余过少,则可能是swap分区使用率过低,物理内存不足导致,重新检查2.2中的所有步骤是否执行成功。查看swap分区swapiness的值是否为0,将其修改为60或者80。
总结:到这里,使用华为云耀云服务器L搭建GitLab代码仓库就完成了。通过本文,我们详细介绍了如何在云服务器上搭建GitLab,并为团队提供一个高效、安全的代码托管和协作平台。我们从云服务器的选择和配置开始,逐步引导您完成了GitLab的安装和设置过程。通过搭建自己的GitLab实例,您可以拥有完全的控制权,并确保您的代码在受保护的环境中得到管理和维护。
如果您在设置过程中遇到任何问题,可以联系博主寻求技术支持,觉得有用就来个三连支持一下吧!!!