Hello,大家好。GitHub在国内的网络不稳定,时常出现既拉不下来代码,也推不上去,有时候会不会有想要砸键盘的冲动呢?可能是由于一些复杂的因素导致的,github在国内的网络环境十分不乐观,刚开始以为是网络运营商的问题,换了几家,最后发现都是如此,只是程度不同而已。如果用一些魔法后,访问速度就杠杠的,所以,无奈啊。
有两种办法可以解决,第一种办法,选择gitee,码云作为国内比较知名的代码管理仓库,对于个人用户,基本可以满足,但是协作开发有限制,限制5个人,对于很小的团队来说还是可以的,当然它也有偶然的时候,拉不动代码,只不过频率比github要低一些。
第二种办法,我们只能手动搭建一个gitlab服务器了,gitlab分社区版和企业版。GitLab社区版是免费的开源软件。它由GitLab公司维护,并提供许多功能,如版本控制和代码管理。GitLab企业版是一款特别是为企业定制的版本,它是由GitLab公司提供支持和维护,其目的是为了解决企业级需求。
小团队使用社区版就可以了,接下来我们以社区版为例来手把手教你安装。
一、选择云服务器
仅做代码仓库的推荐:2C8G;对使用人数,CICD有要求的选择:4C16G+
虽然gitlab分社区版是免费的,可是它对服务的配置有一定的要求,我看有人推荐2C4G起步,所以去尝试了一下。果然,部署是很顺利的,gitlab运行后,CPU的平均使用率保持在30%左右, 内存使用率保持在75%左右。但是,一旦有人开始访问gitlab页面进行操作的时候,内存就会直接爆满,然后cpu接着就爆了。
我也从网上查找了一些优化内存的方案,发现都不能有明显的效果,大家可以看看2C4G运行gitlab的性能趋势图:
这还是在没有跑任何CICD的情况下,所以说,即便还有优化的空间,也不建议大家选择2C4G了,直接放弃吧。接下来,我选择了一台2C8G的服务器,性能趋势图如下:
如图可以看到,内存升到8G的时候,gitlab的运行就相对稳定了,前提是在没有跑任何CICD的情况下。如果使用的人多,CICD频繁的,请采用更高的配置吧。
二、安装gitlab服务
- 安装依赖
通过快捷键ctrl+alt+T打开命令行窗口,然后运行下面两行命令
sudo apt update
sudo apt-get upgrade
sudo apt-get install curl openssh-server ca-certificates postfix`
如果这一步遇到下面类似提示界面,直接按Tab键qie’huan到“确定”按钮,然后回车即可。
- 安装Gitlab
下载加GitLab的包并进行安装
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh |sudo bash
sudo apt-get install gitlab-ce
- 配置Gitlab
找到/etc/gitlab/gitlab.rb这个文件,然后大概是在32行,更改对外访问的域名,如果是ip就填写ip地址就行,如下图:
- 启动Gitlab
gitlab常用的操作命令如下:
sudo gitlab-ctl stop //--停止服务
sudo gitlab-ctl reconfigure //--启动服务
sudo gitlab-ctl restart //--重启所有gitlab组件
sudo gitlab-ctl start //--启动所有gitlab组件
三、Gitlab首次安装,默认登录和初始化密码
启动成功后,默认有个管理员账号
登录名:root
登录密码:初始密码在这个文件中/etc/gitlab/initial_root_password (可更改)
登录成功后就可以创建项目了,如图:
四、Gitlab修改克隆地址
Gitlab初次运行后,创建项目后,项目的clone地址都是gitlab.example.com,无法进行克隆,如图所示:
所以需要重新设置一下克隆地址,进入vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml文件中,把host后面改为自己的IP或者域名,如果Gitlab的http端口不是80端口,还可以对端口进行修改如下图。
修改完之后,重启gitlab,就可以得到正确的clone地址了。
最后、卸载Gitlab
- 停止Gitlab
在进行卸载之前,需要先停止GitLab服务以确保其正在运行。你可以使用以下命令停止GitLab服务:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
- 卸载Gitlab
如果你是使用 Debian/Ubuntu 通过 apt 安装的 GitLab,则可以使用以下命令卸载:
sudo apt-get purge gitlab-ce
sudo apt-get autoremove
其他安装方式可以参考这个文档进行卸载。
好了,以上就是gitlab安装的完整教程了,我相信你也能很轻松部署一套gitlab服务器的。