一、安装环境
使用系统环境:linux-ubuntu 22.04 直装,非docker
安装链接:gitlab/gitlab-ce - Packages · packages.gitlab.com
1. 进入页面点击 search 按钮,在Distribution里面输入ubuntu,出现适合ubuntu的所有版本,翻到最后一页找到带有 ubuntu/jammy 标签的deb(ubuntu/jammy即ubuntu 22.04,如果是20.04系统就是ubuntu/focal,其他系统需要先查一下版本别名)选择最新的版本,但是要注意区分 arm64 版和amd64 版,根据你服务器的cpu架构来选择,比如interl cpu 一般都是x86_64(amd64)架构,所以选择amd64即可
2. 点击进去,右侧上栏有两行指令,在ubuntu系统里先执行上面一行,再执行下面一行,等待一会即可完成安装。
3. 安装如果有报错,需要完全卸载干净后再运行
sudo gitlab-ctl stop sudo gitlab-ctl uninstall sudo dpkg -r gitlab-ce ps -e|grep gitlab|awk '{print$2}'|sudo xargs kill -9 ps -e|grep gitlab-runner|awk '{print$2}'|sudo xargs kill -9 sudo find / -name gitlab |xargs rm -rf sudo find / -name gitlab-runner | xargs rm -rf sudo find / -name gitlab-ci-multi-runner | xargs rm -rf # 如果 find 报错 find: '/run/user/1000/gvfs':权限不够 (这是一个系统 bug) umount /run/user/1000/gvfs rm -rf /run/user/1000/gvfs #再运行查找即可
二、配置gitlab
配置 gitlab.rb
# 修改 /etc/gitlab/gitlab.rb sudo vim /etc/gitlab/gitlab.rb #vim界面 #找到 external_url 这一行 #将 ip 地址改成你服务器当前的 ip 地址或域名,比如 me.server.com,加上你自己设置的端口,比如9911 external_url 'http://me.server.com:9911'
gitlab 自动配置
# 修改rb文件完成后运行 sudo gitlab-ctl reconfigure # 如果卡在 ruby_block[xxxx] action run # 1.使用 Ctrl-c # 2.使用下面的命令 systemctl restart gitlab-runsvdir # 3.再次执行 sudo gitlab-ctl reconfigure
然后在同域或者同网段的桌面下,打开浏览器,输入 http://me.server.com:9911 即可看到gitlab画面
初次登录需要先获取密码,密码存在服务器的 /etc/gitlab/initial_root_password 里,使用cat命令即可查阅
sudo cat /etc/gitlab/initial_root_password
初始账号为:root
此密码为初始密码,会在24小时内删除,所以需要尽快登录并修改密码
三、配置邮箱服务
创建账户操作必须要用到邮箱,比如重置密码等,所以必须要配置邮箱服务,也很简单,修改 gitlab.rb 配置文件。
sudo vim /etc/gitlab/gitlab.rb #vim 界面 gitlab_rails['smtp_enable'] = true #启用 smtp 邮件服务 gitlab_rails['smtp_address'] = "me.mailserver.com" #邮件服务器地址,也可以填局域网地址,比如192.168.12.100 gitlab_rails['smtp_port'] = 25 #邮件服务器端口 gitlab_rails['smtp_user_name'] = "public@mailserver.com" #邮件用户名@域名,这个账号是用来发送给用户的公共管理账号 gitlab_rails['smtp_password'] = "pswd" #密码 gitlab_rails['smtp_domain'] = "mailserver.com" #域名 gitlab_rails['smtp_authentication'] = "login" #这个默认就好了 gitlab_rails['smtp_enable_starttls_auto'] = true #starttls,明文转 tls,就是下面 smtp_tls 选项为 false 时需要加上,如果为 true,删掉此行 gitlab_rails['smtp_tls'] = false #需要看你的服务器有没有开启 tls gitlab_rails['smtp_openssl_verify_mode'] = 'none' #SSL 验证关闭,根据你的邮箱是否开启 ssl 验证来保留或删除此项 gitlab_rails['gitlab_email_enabled'] = true #以下为公共管理邮箱设置 gitlab_rails['gitlab_email_from'] = 'public@mailserver.com' gitlab_rails['gitlab_email_reply_to'] = 'public@mailserver.com'
修改完rb文件后,执行 gitlab 重配置
sudo gitlab-ctl reconfigure
等待一会再进入 gitlab 页面(如果没有配置好就打开会报502,等一会就好了)
测试邮件服务器
进入服务器打开 gitlab 控制台
gitlab-rails console # console 界面 >Notify.test_email('me@mailserver.com','标题','正文').deliver_now #进入到 me@mailserver.com 邮箱后就会收到来自 public@mailserver.com 的邮件