【Gitlab】安装教程
1. 安装依赖
打开终端,运行如下命令:
sudo apt update
sudo apt-get upgrade
sudo apt-get install curl openssh-server ca-certificates postfix
其中curl是用于下载GitLab安装程序的工具,openssh-server用于支持GitLab SSH协议,ca-certificates用于验证网站证书,postfix用于发送邮件通知。在安装期间,系统可能会提示您输入SMTP服务器名称或者配置其它设置。请按照提示输入正确的信息并完成安装。
接下来会遇到如下界面,Tab切换到“确定”按钮,然后回车。
2. 安装Gitlab
方法一:在线安装
先执行命令 curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
再输入命令安装 sudo apt-get install gitlab-ce
方法二:离线安装
官网下载包,地址:https://packages.gitlab.com/gitlab/gitlab-ce
这里需要注意的:ubuntu/jammy适用于 ubuntu22系列,ubuntu/focal 适用于 ubuntu20系列,按需下载。我这里是 ubuntu 22.04 LTS,所以选择 ubuntu/jammy
安装指定离线包
apt install ./gitlab-ce_16.7.7-ce.0_amd64.deb
3. 修改配置文件
运行 sudo vim /etc/gitlab/gitlab.rb
来查看当前gitlab网页ip和端口号。
修改内容:
external_url 'http://192.168.xx.xxx:6001'
gitlab_rails['gitlab_ssh_host'] = xxx.xxx.xxx'
gitlab_rails['gitlab_shell_ssh_port'] = xxx
重新载入配置文件
# 停止gitlab服务
sudo gitlab-ctl stop
# 重新载入配置
sudo gitlab-ctl reconfigure
# 重启所有gitlab组件
sudo gitlab-ctl restart
# 启动所有gitlab组件
sudo gitlab-ctl start
# 启用开机自启动
sudo systemctl enable gitlab-runsvdir.service
# 查看Gitlab状态
sudo gitlab-ctl status
4. 访问gitlab
打开之前设置的内网ip:端口,或者域名:端口
此时你会发现需要账号密码登录,但是不知道账号密码怎么办呢?
方法一:打开临时文件,查看密码
gitlab-ce 初装以后,把密码放在了一个临时文件中了.
vi /etc/gitlab/initial_root_password
这个文件将在首次执行reconfigure后24小时自动删除
方法二:初始化root的密码
按照如下命令初始化管理员账户的密码:
#切换路径
cd /opt/gitlab/bin/
#打开控制台
sudo gitlab-rails console -e production
#查询用户账号信息并赋值给u
u=User.where(username:"root").first
#设置root的密码
u.password='16578115zzy'
#确认密码
u.password_confirmation='16578115zzy'
#保存信息(注意有个感叹号)
u.save!
#退出
exit
5. 邮箱配置
先输入 systemctl status postfix
确定postfix是启动状态,看到 Active: active (running)说明,已经启动了
如果还未启动,输入 systemctl enable postfix && systemctl start postfix
vim打开gitlab的配置文件:/etc/gitlab/gitlab.rb,新增以下内容
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "你的qq邮箱"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = '你的qq邮箱'
user['git_user_email'] = "你的qq邮箱}"
配置完成后执行 gitlab-ctl reconfigure
让配置生效
执行 gitlab-rails console
进入控制台交互界面, 然后在控制台提示符后输入下面内容发送一封测试邮件,测试完成后exit()退出。
Notify.test_email('你自己随便邮箱@qq.com', '邮件标题_test', '邮件正文_test').deliver_now