开启GitLab的邮件通知功能以及一些外观配置

gitlab · 浏览次数 : 0

正文

前言

维护GitLab的同事离职了

刚好又有新实习生需要申请账号

只能我来出手了

其实之前安装了 GitLab 之后一直还是用得比较粗糙的

属于是勉强能用的水平,有些配置都还没改好

这次把邮件功能、域名、外观啥的配置好了,写篇文章记录一下

目录结构

先来回顾一下 GitLab 的目录结构

我们的 GitLab 是使用 docker 部署的

gitlab
├── config
├── data
├── logs
├── shell
└── docker-compose.yml

具体的目录结构也是看具体的配置

本文就以这个目录结构为例,进行具体的配置

配置邮件功能

修改 config/gitlab.rb 文件

话说 GitLab 居然是 ruby 写的?(难怪觉得卡卡的)

编辑邮件配置这一块

这里以腾讯企业邮箱为例

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@codelab.com"
gitlab_rails['smtp_password'] = "email-password"
gitlab_rails['smtp_domain'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_ssl'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = "gitlab@codelab.com"

保存与加载配置

配置完成保存一下

进入 GitLab 容器

docker compose exec gitlab bash

执行命令

gitlab-ctl reconfigure
gitlab-ctl restart

搞定

额外邮件配置

对了,还有个额外配置可以改一下,我这里就只修改了 gitlab_email_from 其他的有需要的同学可以改一下

### Email Settings

# gitlab_rails['gitlab_email_enabled'] = true

##! If your SMTP server does not like the default 'From: gitlab@gitlab.example.com'
##! can change the 'From' with this setting.
gitlab_rails['gitlab_email_from'] = 'example@example.com'
gitlab_rails['gitlab_email_display_name'] = 'Example'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
gitlab_rails['gitlab_email_subject_suffix'] = ''
gitlab_rails['gitlab_email_smime_enabled'] = false
gitlab_rails['gitlab_email_smime_key_file'] = '/etc/gitlab/ssl/gitlab_smime.key'
gitlab_rails['gitlab_email_smime_cert_file'] = '/etc/gitlab/ssl/gitlab_smime.crt'
gitlab_rails['gitlab_email_smime_ca_certs_file'] = '/etc/gitlab/ssl/gitlab_smime_cas.crt'

发送测试邮件

我用的方法是进入 ruby console 手动发送

在 GitLab 实例的前台页面没找到有什么测试发送的地方

首先进入 GitLab 容器的 shell

docker compose exec gitlab bash

之后启动 ruby console

gitlab-rails console

输入命令发邮件

Notify.test_email('your-email@example.com', 'Test Email', 'This is a test email.').deliver_now

这个方法很好,如果有哪里配置错了,也可以从报错信息里直观的看到

几个跟邮件有关的功能

  • 登录到你的 GitLab 实例。
  • 进入 Admin Area(管理员区域)。
  • 导航到 Settings > Integrations

这个页面的中文应该是“实例级集成管理”,我这个版本的 GitLab 有俩跟邮件有关的,分别是:

  • 推送时发送电子邮件
  • 流水线状态电子邮件

顾名思义,前面邮箱配置好了就可以启用这俩

之后满足条件就可以在指定邮箱接收到通知邮件了

重新使用 swag 来分配域名+https

在之前那篇GitLab安装的文章里,我是直接把几个端口都映射出来

现在改成swag做反代,需要修改一下几个地方

例如要分配给 GitLab 的域名是 gitlab.dealiaxy.com

首先修改 docker-compose 配置,把容器加入 swag 网络

version: "3"
services:
  gitlab:
    image: gitlab/gitlab-ee:latest
    restart: always
    hostname: gitlab
    container_name: gitlab
    ports:
      - 9443:443
      - 9022:22
    networks:
      - swag
    volumes:
      - /etc/localtime:/etc/localtime
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab

networks:
  swag:
    name: swag
    external: true

重启容器

在 swag 里做 GitLab 容器的 80 端口反代

然后 config/gitlab.rb 配置里修改一下

external_url "http://gitlab.dealiaxy.com"

这里使用 HTTP 就好,https 在 swag 那边会配置,如果这里写了 https ,那么会要在 GitLab 里提供证书配置,比较麻烦。

然后 ssh host 也得改一下

gitlab_rails['gitlab_ssh_host'] = gitlab.dealiaxy.com

搞定

外观配置

同样在 Admin Area 里,有个“外观”配置

里面可以修改logo、登录页面的图片、说明(而且还支持markdown)啥的

我稍微改了一下,效果是这样

然后还有 New Project Guidelines 和 Profile Image Guidelines

分别是创建项目和用户修改头像时左侧的引导提示

随便写一点或者用大模型生成就完事了

这样配置下来就有模有样

版本升级

使用 docker-compose pull 命令来拉取最新的镜像后

先 down 然后再 up 就可以使更新生效了~

如果只是 restart 就只会重新启动现有的容器

小结

本文主要还是记录了邮件配置

还有一些比较零散的配置

接下来还要继续完善一下 CICD 流程

到时搞定之后再写文章记录

与开启GitLab的邮件通知功能以及一些外观配置相似的内容:

开启GitLab的邮件通知功能以及一些外观配置

前言 维护GitLab的同事离职了 刚好又有新实习生需要申请账号 只能我来出手了 其实之前安装了 GitLab 之后一直还是用得比较粗糙的 属于是勉强能用的水平,有些配置都还没改好 这次把邮件功能、域名、外观啥的配置好了,写篇文章记录一下 目录结构 先来回顾一下 GitLab 的目录结构 我们的 G

记一次aspnetcore发布部署流程初次使用k8s

主题: aspnetcorewebapi项目,提交到gitlab,通过jenkins(gitlab的ci/cd)编译、发布、推送到k8s。 关于gitlab、jenkins、k8s安装,都是使用docker启动服务。 首先新建一个项目,为了方便浏览就把swaggerr非开发环境不展示去掉 下面就是需

博客园商业化之路-众包平台:偶遇外包项目需求

我们目前正在以众包平台的商业模式进行融资,在拿到融资之前,先以微信群 + GitLab 的原始方式运营筹建中的众包平台,目前在召集合作开发者,当前已召集到400多位开发者,在召集开发者的过程中就遇到了一些众包需求。 园子的众包平台定位于开发任务的众包,平台分发给开发者的是具体明确的开发任务。如果是一

博客园众包平台:嵌入式开发任务悬赏5万,招募开发者接单

博客园众包平台是我们从今年5月开始的商业化突围项目,一边在以企业微信+自己搭建的GitLab简单运营众包业务,一边在融资投入平台系统的建设,当前已召集到1000多位合作开发者,多数是有多年开发经验的资深开发者。 万事开头难,虽然召集了这么多合作开发者,却一边面临僧多粥少的尴尬,一边面临有单无人接的难

博客园商业化之路-众包平台:继续召集早期合作开发者

会员、周边、广告是园子现在维持生存的主要收入来源,而众包平台是园子未来实现商业化规模增长的希望所在。 今年5月开始的众包平台建设是万里长征,不仅需要融资,还需要找到合伙人组建新的团队。虽然当前既没有钱又没人,但万里长征已经迈出了第一步,采用企业微信+自己搭建的 gitlab 以原始的方式运营,已经做

博客修炼手册

# 博客修炼手册 本文总结了我一直来通过markdown写博客的一些经验和教训,仅供参考。 ## 环境 我采用的是 `MarkText + PicGo + Gitee/Gitlab` 免费开源至上的路子。 这里讲述一下安装方法。 - MarkText和PicGo都可以直接从Github上获取二进制版

DevOps流水线设计的最佳实践

谈到到DevOps,持续交付流水线是绕不开的一个话题,相对于其他实践,通过流水线来实现快速高质量的交付价值是相对能快速见效的,特别对于开发测试人员,能够获得实实在在的收益。很多文章介绍流水线,不管是jenkins,gitlab-ci, 流水线,还是drone, github action 流水线,

博客园商业化之路-众包平台:从第一单看基于「开发任务」的定位

虽然我们一再强调我们做的是「开发任务」众包平台,还是被不少人误解为「项目」众包平台,正好我们遇到的第一单就是一个典型案例,简单发篇博文分享一下。 4月29日我们开始召集众包平台的早期合作开发者,先以手动挡方式(微信+GitLab)验证基于「开发任务」的众包模式。 在召集博文中顺带加了个小广告: 如果

[转帖]etcd的备份与恢复

https://www.cnblogs.com/wyh-l6/p/16547040.html etcd是coreos团队在2013年6月发起的开源项目,现在在githab上托管 etcd目标构建一个高可用的分布式键值数据库 etcd具有以下属性: 完全复制:集群中的每个节点都可以使用完整的存档 高可

是否开启raid卡缓存的影响

开启raid卡缓存 Write back 对IO性能的影响 背景 公司买了一台服务器. 想进行一下升级 但是因为管理员担心数据丢失, 使用了write through + (raid6 + hotspare) 的终极保护模式. 但是发现磁盘的IO比较差, 测试结果也不是非常好. 基于此进行了一下ra