You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NixOS升级至22.11后GitLab Runner配置无法编译且无法正常工作的求助

NixOS升级至22.11后GitLab Runner配置无法编译且无法正常工作的求助

我太懂你这种跨大版本升级后配置直接崩掉的烦躁了!从19.0x跳到22.11,NixOS里GitLab Runner的配置逻辑确实做了不小的调整,旧的configOptions嵌套写法已经被废弃了,咱们直接把配置改成新的格式就行:

首先,核心变化是移除了外层的configOptions容器,原来嵌套在里面的concurrent和runners都直接放到services.gitlab-runner的顶层属性里,每个runner的内部结构倒是和之前差不多,只是不需要再套一层壳了。

给你改好的完整配置示例,直接替换你原来的代码就行:

{ config, pkgs, ... }:

{
  services.gitlab-runner = {
    enable = true;
    concurrent = 4; # 直接把并发数提到顶层,不用再嵌套
    runners = [
      {
        name = "joe-1";
        url = "https://gitlab.com";
        token = "tokentokentoken";
        executor = "docker";
        docker = {
          image = "alpine:latest";
          privileged = true;
          volumes = ["/cache" "/var/run/docker.sock:/var/run/docker.sock"];
          # 旧配置里的host=""可以删掉,默认就是用本地套接字,和你挂载的卷对应
        };
      }
      # 第二个runner按照同样的结构添加就行
      {
        name = "joe-2";
        url = "https://gitlab.com";
        token = "your-second-runner-token";
        executor = "docker";
        docker = {
          image = "debian:bookworm";
          privileged = true;
          volumes = ["/cache"];
        };
      }
    ];
  };
}

改完之后可以先跑nixos-rebuild test测一下配置能不能正常编译,没问题再执行nixos-rebuild switch应用到系统里。如果还有其他报错,大概率是某个runner的属性名称有小变化,你可以本地查看man configuration.nix并搜索gitlab-runner找到更细节的配置说明~

备注:内容来源于stack exchange,提问作者zoomix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 10:54:30