GitLab Runner Docker执行器config.toml特性标志配置报错求助
问题分析与解决
问题根源
你遇到的TOML类型错误,是因为ARTIFACT_COMPRESSION_LEVEL和CACHE_COMPRESSION_LEVEL这两个配置项不属于[runners.feature_flags]区块。这个区块仅用于存放布尔类型的特性开关(均以FF_为前缀),而这两个配置是字符串类型的参数,强行放入会导致TOML解析器尝试将字符串转换为布尔值,从而触发类型不匹配错误。
修复步骤
将这两个压缩级别配置从[runners.feature_flags]中移出,放到[[runners]]的直接子层级下(与executor、name等配置同级)。
修正后的config.toml示例
concurrent = 4 check_interval = 0 [session_server] session_timeout = 1800 [[runners]] name = "Docker executor runner" url = "..." id = 2963 token = "...." token_obtained_at = 2023-02-23T12:11:19Z token_expires_at = 0001-01-01T00:00:00Z executor = "docker" ARTIFACT_COMPRESSION_LEVEL = "fast" CACHE_COMPRESSION_LEVEL = "fast" [runners.custom_build_dir] [runners.feature_flags] FF_NETWORK_PER_BUILD = true FF_USE_FASTZIP = true [runners.cache] MaxUploadedArchiveSize = 0 [runners.cache.s3] [runners.cache.gcs] [runners.cache.azure] [runners.docker] tls_verify = false image = "ubuntu:20.04" privileged = false disable_entrypoint_overwrite = false oom_kill_disable = false disable_cache = false volumes = ["/cache"] shm_size = 0 allowed_pull_policies = ["always", "if-not-present"]
补充说明
官方文档中提到的1或true作为布尔值合法,仅针对[runners.feature_flags]下的FF_开头特性开关,不适用于其他类型的配置项。确保不同类型的配置项放在对应的区块中,即可避免此类解析错误。
内容的提问来源于stack exchange,提问作者Raymond A
相关产品推荐
相关产品推荐

