Ubuntu.Gitlab.SetUp——Ubuntu下gitlab-ce服务器部署

发布时间 2023-04-21 12:05:53作者: 风之郁闷

一、安装环境

使用系统环境: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画面

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 的邮件