blog-frontend
blog-frontend copied to clipboard
十分钟搭建Gitlab
?
突然想搭一个自己爽一下, 虽然也不会用, 但是就很爽
参考
1. 启用swap分区解决内存不足的问题
阿里云服务器一核二G, 说实话顶不住哦, 于是需要swap分区, 过程如下:
- 查看当前系统中是否已经启用swap分区
cat /proc/swaps
- 如果没有, 新建一个专门的文件用于swap分区
# 创建swap大小为bs*count=4294971392(4G)
dd if=/dev/zero of=/data/swap bs=512 count=8388616
- 将创建出的文件做成swap
mkswap /data/swap
- 将内核参数
vm.swappiness
数值根据实际需要调整成60
cat /proc/sys/vm/swappiness
sysctl -w vm.swappiness=60
# 永久修改, 则编辑/etc/sysctl.conf文件,改文件中有vm.swappiness变量配置,默认为0
- 启用分区
swapon /data/swap
echo “/data/swap swap swap defaults 0 0” >> /etc/fstab
- 观察是否启动
cat /proc/swaps
2. Docker启动
- 下载Gitlab
docker pull gitlab/gitlab-ce:latest
- git采用ssh协议操作git仓库, 此处将主机的sshd的22端口映射到容器中, 将主机的sshd端口改为15678
vim /etc/ssh/sshd_config
# Port 22 改为
Port 15678
- 重启sshd服务
systemctl restart sshd
- 运行gitlab
docker run \
-443:443 -p 80:80 -p 22:22 \
--name gitlab \
-v /u1/gitlab/config:/etc/gitlab \
-v /u1/gitlab/logs:/var/log/gitlab \
-v /u1/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
这里把主机的 443、80、22 端口直接转发到容器,同时利用 --volume /u1/gitlab/config:/etc/gitlab
、 --volume /u1/gitlab/logs:/var/log/gitlab
、 --volume /u1/gitlab/data:/var/opt/gitlab
这三个参数将 gitlab 的配置、数据和日志持久化到主机文件系统上来。
- nginx配置, 如果把主机的其他端口转发到容器的80容器, 例如3004
server {
listen 80;
server_name gitlab.xxx.xxx;
location / {
proxy_pass http://localhost:3004;
}
}