环境是 Ubuntu 22.04

由于安全性要求,需要在本地部署代码服务器。选择了gitlab,这里记录一下部署过程。

进入gitlab官网, 因为我是 Ubuntu, 直接选择 Quick installation instructions for: Debian, 直接复制命令去执行就好了

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

# 然后再安装
sudo apt-get install gitlab-ce

# 然后会出现 Thank you for installing GitLab!
# 代表安装成功

修改配置文件

sudo vim /etc/gitlab/gitlab.rb
# 修改 external_url 'http://xx.xx.xx.xxx:xxxx 为你的IP:端口

# 保存退出后执行
# 为了让配置生效
sudo gitlab-ctl reconfigure

# 然后到这里我就卡住了, 如果你们也卡的话可以试试
# 卡在了 ruby_block[wait for redis service socket] action run
# 然后尝试了网上的方法
# sudo systemctl restart gitlab-runsvdir
# 然后这个命令也卡住了

# 最后找了另一个方法成功了,就是在 ruby_block[wait for redis service socket] action run 卡住的时候
# 新开一个窗口  /opt/gitlab/embedded/bin/runsvdir-start &
# 然后就好了

# 重启 gitlab 服务
sudo gitlab-ctl restart

# 修改超级管理员密码
sudo vim /etc/gitlab/initial_root_password

# 然后访问 ip:port
# 发现502 报错
# 查看日志
sudo gitlab-ctl tail
# 啥都没看出来

# 然后查教程,发现应该是有一个端口默认用的是8080,我这里已经用了 8080 了,因此会有问题
vim /etc/gitlab/gitlab.rb 
# 把 puma[‘port’] = 8080 注释去掉, 端口改成别的
# 保存退出后执行
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

# 然后就可以访问了

登录注册

# 首先要设定 root 账号密码
# 上面那一步不知道为什么没用
# 所以这里直接用
cd /opt/gitlab/bin
sudo gitlab-rails console -e production 
u=User.where(id:1).first
u.password='password'
u.password_confirmation='password'
u.save
exit

# 这样就可以用 root password 登录了

设置中文

登录后, 点击头像 -> Settings -> Preferences -> Localization -> 选择 Chinese -> 保存 -> 刷新页面

审核

点击 管理中心 -> 仪表盘 -> 查看最新的用户 -> 等待批准 -> 批准

问题

fail: alertmanager: runsv not running
fail: gitaly: runsv not running
fail: gitlab-exporter: runsv not running
fail: gitlab-kas: runsv not running
fail: gitlab-workhorse: runsv not running
fail: logrotate: runsv not running
fail: nginx: runsv not running
fail: node-exporter: runsv not running
fail: postgres-exporter: runsv not running
fail: postgresql: runsv not running
fail: prometheus: runsv not running
fail: puma: runsv not running
fail: redis: runsv not running
fail: redis-exporter: runsv not running
fail: sidekiq: runsv not running

# 解决方法
# 新开一个窗口执行
# 但是这种方法有问题,当你关闭窗口的时候,这个服务也会关闭
/opt/gitlab/embedded/bin/runsvdir-start &
# 然后再执行
sudo gitlab-ctl restart