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
相关产品推荐
相关产品推荐

