gitlab修改管理员用户邮箱

2021-04-30 17:55:06 浏览数 (1)

背景:

参照https://www.yuque.com/duiniwukenaihe/znm95g/fmpmzk内网搭建了一台gitlab服务器。嗯 然后我要测试webhook触发jenkins流水线。然后给用户发邮件。当然了要取传参里面的用户的邮箱(我用的默认管理员的用户),由于默认并没有对邮箱进行设置都是默认的admin@example.com? user_email的参数都是空的呢?

image.pngimage.png
image.pngimage.png

问题是我现在想要渠道这个参数然后给user发邮件。那我该怎么办呢?无非两点:

  1. 新建一个用户,并且有该仓库拉取代码的权限。并设置邮箱
  2. 修改管理员root用户邮箱

正常来说应该采用第一种方式。因为什么都用root用户还是很危险的不符合用户权限最小化原则。但是为了简单操作演示,并且是个人演示环境,我还是决定修改root的用户邮箱了......

1.思路与过程:

gitlab的配置应该是在/etc/gitlab/gitlab.rb中配置的,那我们是不是可以修改gitlab.rb中邮箱的默认配置,然后重新加载配置: gitlab-ctl reconfigure。这是我理解的第一种方式,当然了。我并没有按照这种方式去设置的

因为稍微有点软件搭建经验的人就应该知道:gitlab在初始化后数据应该是存储在postgresql中了的啊,。我的gitlab是用了pg做外部数据库。那我是不是可以修改pg数据库中用户的相关信息呢?

说干就干:

代码语言:txt复制
psql -U gitlab -W gitlabhq_production -h localhost -p 54322

-U是用户 -W 是对应库吧?至于端口默认的是5432,我docker搭建的对外映射的是54322端口 so就可以连上pg数据库了

image.pngimage.png
代码语言:txt复制
update users set email='820042728@qq.com',notification_email='820042728@qq.com',commit_email='820042728@qq.com' where id = 1;

百度习得修改邮箱的语句....到现在为止 还是不怎么熟悉pg的语句。等搞完收了这堆杂七乱八深入学习下pg。查看gitlab管理员root用户信息页面:

image.pngimage.png

邮箱修改成功。ok测试下webhook:

image.pngimage.png

怎么还是空的呢?

image.pngimage.png

what依然没有修改啊? 是不是需要重启下gitlab?

image.pngimage.png
image.pngimage.png

等待gitlab重启后依然是为空

image.pngimage.png

怎么回事?特意看一眼pg的数据库没有问题的啊

怎么办?再点开个人设置查看一下:难道public的问题?设置一下 然后更新个人资料设置。

image.pngimage.png

继续触发一下webhook:

ok成功了。

image.pngimage.png
image.pngimage.png

但是commit这个鬼东西哪个地方修改呢?

突然灵光一闪....我压根没有commit啊 ...都是前面没有修改前的吧...当初确实是这个默认的啊 gitlab的用户邮箱。新建一个文件commit

image.pngimage.png

然后触发下webhook

image.pngimage.png

嗯 都变过来了。不要去怀疑软件的问题...还的自身找原因。更深入的了解系统的配置参数才是重中之重。

0 人点赞