1.下载gitlab-ce
可以从开源镜像站下载
链接: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/bionic/main/g/gitlab-ce/
也可以从gitlab上下载
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-15.8.3-ce.0.el8.x86_64.rpm/download.rpm
版本太低可能会导致安装失败,我是用的版本如下:
ubuntu20.04
gitlab-ce 15.8.3
2.安装
dpkg -i xxx.deb
3.配置
vim /etc/gitlab/gitlab.rb
将external_url换成公网ip,这个url就能被远程访问,不需要使用例如cpolar,来内网穿透
配置邮件发送
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxxxxxx@qq.com"
gitlab_rails['smtp_password'] = "vaasuyoxkbissfbei" # 授权码,从邮箱设置里获取
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = 'xxxxxxxxx@qq.com' # gitlab发送人,修改为对应的邮箱
修改完gitlab.rb后,重新加载此配置文件
gitlab-ctl reconfigure # 重新加载配置文件
sudo gitlab-ctl restart # 启动gitlab
防火墙添加规则使得指定端口能被远程访问
查看初始账号密码
查看用户名,初始默认为root
查看初始密码
cat /etc/gitlab/initial_root_password
初始的账号密码文件/etc/gitlab/initial_root_password是有时效性的, 需要及时获取初始密码然后进行修改
必须同时更改密码和password_confirmation才能使其正常工作,最后别忘了保存更改
重置账号密码
gitlab-rails console -e production # 启动Ruby on Rails控制台
user = User.where(username:"root").first # 根据用户名找到用户
user = User.find_by(email: 'admin@example.com') # 根据电子邮件找到用户
user.password = "12345679" # 设置新密码
user.password_confirmation = "12345679" # 确认新密码
user.save! # 保存
user.unlock_access! # 默认错误登陆超过10次会锁定,解锁用户
exit # 退出
# 设置开机自启动
sudo systemctl enable gitlab-runsvdir.service
# 关闭开启自启动
sudo systemctl disable gitlab-runsvdir.service
# 查看服务当前状态
sudo systemctl status gitlab-runsvdir.service
# 启动服务
sudo systemctl start gitlab-runsvdir.service
# 停止服务
sudo systemctl stop gitlab-runsvdir.service
# 重启服务
sudo systemctl restart gitlab-runsvdir.service
# 查看系统中所有正在运行的服务, grep进行筛选
sudo systemctl list-unit-files
除了上面的设置开机启动方式,还有两种
(1)修改/etc/rc.local文件,增加执行自启动服务的命令
(2)在/etc/init.d目录中,添加要执行的脚本文件(需要有权限能够执行,没有则通过chmod设置),linux系统启动时,这里面的文件都会执行一遍