Help us learn about your current experience with the documentation. Take the survey.

GitLab 18 升级说明

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab Self-Managed

本页面包含 GitLab 18 次要版本和补丁版本的升级信息。 请确保您查看以下说明:

  • 您的安装类型。
  • 您当前版本与目标版本之间的所有版本。

有关 Helm chart 安装的更多信息,请参阅 Helm chart 9.0 升级说明

从 16.11 升级时需要注意的问题

从 17.11 升级时需要注意的问题

  • 已知问题: 当 Rails 升级但 Sidekiq 仍停留在 17.11 版本时,功能标志 ci_only_one_persistent_ref_creation 会导致零停机升级期间流水线失败(详细信息请参见 此处)。

    预防措施: 升级前打开 Rails 控制台并启用功能标志:

    $ sudo gitlab-rails console
    Feature.enable(:ci_only_one_persistent_ref_creation)

    如果已经受到影响: 运行此命令并重试失败的流水线:

    $ sudo gitlab-rails console
    Rails.cache.delete_matched("pipeline:*:create_persistent_ref_service")

18.1.0

Geo 安装 18.1.0

  • GitLab 18.1.0 版本存在一个已知问题,即从次要 Geo 站点代理的 Git 操作会因 HTTP 500 错误而失败。要解决此问题,请升级到 GitLab 18.1.1 或更高版本。

18.0.0

Geo 安装 18.0.0

  • 如果您部署了 GitLab Enterprise Edition 然后回退到 GitLab Community Edition,您的数据库架构可能与 GitLab 应用程序期望的架构不一致,从而导致迁移错误。在升级到 18.0.0 时可能会遇到四个特定的错误,因为该版本添加了一个迁移,这些迁移会更改这些列的默认值。

    这些错误是:

    • No such column: geo_nodes.verification_max_capacity
    • No such column: geo_nodes.minimum_reverification_interval
    • No such column: geo_nodes.repos_max_capacity
    • No such column: geo_nodes.container_repositories_max_capacity

    此迁移已在 GitLab 18.0.2 中修复,以添加缺失的列。 请参见 问题 #543146

    受影响的版本

    受影响的次要版本 受影响的补丁版本 修复于
    18.0 18.0.0 - 18.0.1 18.0.2
  • GitLab 18.0 到 18.0.2 版本存在一个已知问题,即从次要 Geo 站点代理的 Git 操作会因 HTTP 500 错误而失败。要解决此问题,请升级到 GitLab 18.0.3 或更高版本。

Docker 安装上的 PRNG 未播种错误

如果您在启用了 FIPS 的主机上运行 Docker 安装的 GitLab,您可能会看到 SSH 密钥生成或 OpenSSH 服务器(sshd)启动失败,并显示以下错误消息:

PRNG is not seeded

GitLab 18.0 将基础镜像从 Ubuntu 22.04 更新到 24.04。 此错误发生是因为 Ubuntu 24.04 不再 允许 FIPS 主机使用非 FIPS OpenSSL 提供程序

要解决此问题,您有几个选择:

  • 在主机系统上禁用 FIPS。
  • 在 GitLab Docker 容器中禁用基于 FIPS 的内核的自动检测。 这可以通过在 GitLab 18.0.2 或更高版本中设置 OPENSSL_FORCE_FIPS_MODE=0 环境变量来实现。
  • 与其使用 GitLab Docker 镜像,不如在主机上安装 原生 FIPS 包

最后一个选项是满足 FIPS 要求的推荐方案。对于传统安装,前两个选项可以作为临时解决方案。