腾讯云CentOS Stream优雅创建自己的私有gitlab

422 阅读3分钟

[Talk is cheap. Show me the code]

前期准备:

1:自己购买的腾讯云

1.查看自己的系统版本

cat /etc/redhat-release
# CentOS Stream release 8

# 如果是其他版本建议升级,因为社区已经不在维护8.0, 7.0 几年之后也将废弃
# 8.0 在安装的过程中会遇到报错
# CentOS Linux 8 - AppStream 错误:为仓库 ‘appstream‘ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs

如果你的版本在8.0可以参考链接进行升级Centos 8 升级到 CentOS Stream 版本

2. 下载gitlab-ce

因为安装包本身很大以及网速等原因,所以我采用了本地下载,再上传到云端的方法,当然你也可以使用命令下载

2.1命令下载

# 可以头铁 但确实不建议 一般都是2小时起步。
# 目前市面上的镜像源都已经失效,清华源只有centos 7的版本

sudo yum makecache
sudo yum -y install gitlab-ce

2.2 本地下载安装包然后上传到远端云

el/8/gitlab-ce-15.1.0下载地址

#使用如下命令进行文件传输 你也可以使用别的方式
scp /path/filename username@servername:/path  

3.安装gitlab-ce

3.1 安装相应依赖并做配置

# 安装依赖 

yum install -y curl policycoreutils-python openssh-server


# 添加http服务到firewalld,且永久生效

systemctl start firewalld
firewall-cmd --permanent --add-service=http
systemctl reload firewalld


# 将下载之后的安装包上传的到自己的云服务器并安装

scp /path/filename username@servername:/path   

rpm -ivh gitlab-ce-15.1.0-ce.0.el8.x86_64.rpm

4.添加gitlab-ce的相关配置

4.1: 安装之后修改url

# 查看external_url
vim  /etc/gitlab/gitlab.rb
# 我这里修改 

external_url 'http://公网Ip'
# 更新配置
sudo gitlab-ctl reconfigure

4.2:依次执行以下命令,设置 SSH 开机自启动并启动 SSH 服务

systemctl enable sshd
systemctl start sshd

4.3:执行以下命令,安装 Postfix邮件代理服务器。

yum install -y postfix
执行以下命令,设置 Postfix 服务开机自启动
systemctl enable postfix

4.4:执行以下命令,打开 Postfix 的配置文件 main.cf。

vim /etc/postfix/main.cf
# 按 i 进入编辑模式,删除 inet_interfaces = all 前的 #,在 inet_interfaces = localhost 前加上 #。修改完成后如下图所示:

5. 修改gitlab 默认80端口

这里请根据自己的需要,因为有些服务可能也会占用80端口,导致gitlab不可用

查看当前端口8080 被谁监听

netstat -lnp | grep 8080

默认情况下unicorn同样监听8080端口,查询/etc/gitlab/gitlab.rb中相应的设置 centos steam 没有这个配置。。

external_url 'http://公务Ip:其他未被占用的端口'
# external_url 'http://167***.86:8093'
##!更改内存限制
puma['per_worker_max_memory_mb'] = 1024
##! puma['ssl_port'] = 8801
##! https://docs.gitlab.com/ee/administration/operations/puma.html
##! puma['ssl_listen'] = '150.***.1'
##! puma['ssl_port'] = 9111
##! puma['port'] = 8093
##!  nginx['listen_prot']=8093

##! unicorn['port'] = 8093  这个已经废弃了

这里不需要修改什么其他的操作,有些参数也已经不可用 只修改external_url保存即可 同时防火墙需要开放8093端口 ,你可以使用命令也可以在云web界面开发端口 tx云web界面操作

#开启8093
firewall-cmd --zone=public --add-port=8093/tcp --permanent
#关闭8093
firewall-cmd --zone=public --remove-port=8093/tcp --permanent

6.解决gitlab卡顿导致服务器崩溃的问题

云服务器开启swap分区_Linux系统开启swap分区和配置——Swap文件方式

启动swap分区 先用free -m查看当前分区情况,swap分区显示为0

free -m
#新建一个目录用于交换分区的文件,这里我的目录是/root/swapfile
dd if=/dev/zero of=/root/swapfile bs=1M count=1024

image.png 修改文件权限为600

chmod 600 /root/swapfile

把这个文件设置为交换分区文件

 mkswap /root/swapfile

启用交换分区文件

swapon /root/swapfile

修改文件/etc/fstab ,在最后添加一行 /root/swapfile swap swap defaults 0 0

vim /etc/fstab

image.png

7: 总结

至此gitlab就部署完成了,浏览器地址栏输入 http://167***.86:8093 即可访问,请自行修改密码。

如果有任何关于本文的意见,请在文章下方留言,我会在看到的第一时间回复。