MENU

Gitlab 踩坑指北

使用遇到的问题

Runner 在 web 端日志更新较慢

Gitlab 默认把 ci_enable_live_trace 功能关闭,原因是持续读取磁盘产生大量日志。

解决方法:

终端里输入进入 gitlab rails console

gitlab-rails console

然后输入

Feature.enable('ci_enable_live_trace')

启用实时 update

PS:

Gitlab 的 ci_enable_live_trace 功能开启后,会由前端 fetch 的 json 获取刷新内容,并根据上一次的时间点标记缓存,然后请求至下个时间点的刷新内容, 所以如果离开页面就会丢失 timeline, 不会再刷新内容,直到 job 状态改变

Runner 一次性多个启动,不使用对话注册

解决方法:

进入 docker:

docker exec -it gitlab-runner bash

输入以下命令, 启动多个 runner:

gitlab-ci-multi-runner register \
      --non-interactive \
      --url
--non-interactive
--url "${your gitlab address}" \
--registration-token "${your gitlab runner register token}"
--executor "docker"
--docker-image debian:bullseye
--description "debian"
--tag-list "docker,debian"
--run-untagged="true"
--locked="false"
--access-level="not_protected"

调试 stmp 邮件问题,检查邮件设置,发送测试邮件

由于我们团队不使用 postfix 发送邮件,如果安装完 gitlab 发送邮件错误的时候,确认本机不使用 postfix 后,再进行卸载:

apt remove postfix

终端里输入进入 gitlab rails console

gitlab-rails console

检查邮件设置

ActionMailer::Base.smtp_settings

发送测试邮件

Notify.test_email('[email protected]', 'Message Subject', 'Message Body').deliver_now

CI 环境变量持续到下一个 Job

编辑 .yml

...
jobs:
    ...
    artifacts:
        ...
        reports:
          dotenv: job.env

参考:

Gitlab Feature Issue
Slow display of job trace

Last Modified: March 10, 2022