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

GitLab流水线中kustomize build失败但本地运行正常的问题求助

问题诊断与修复方案

1. 修复kustomization.yaml的重复键问题

你的配置文件里重复定义了resources字段,YAML解析时后续字段会覆盖前面的,这会导致第一个远程资源配置被忽略,甚至可能引发解析逻辑混乱。把两个resources合并成一个:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: namespace

namePrefix: app-name

images:
  - name: app-image
    newName: image_name
    newTag: image_tag

resources:
  - https://gitlab.link/group_name/app_name//apps/app_one/base?ref=master
  - ../../base

2. 修正远程Git资源的URL格式

Kustomize拉取远程Git资源有标准格式要求,你当前的URL存在格式问题:

  • 改用git::前缀明确指定Git协议,同时补充.git仓库后缀,调整路径分隔符:
    - git::https://gitlab.link/group_name/app_name.git/apps/app_one/base?ref=master
    
    注意:路径部分不要用双斜杠//,单斜杠即可;ref=master参数用于指定分支,确保Kustomize能拉取正确版本的资源。

3. 验证远程分支的YAML文件一致性

错误提示远程资源的YAML第36行格式有误,但本地运行正常,说明流水线拉取的master分支内容和你本地的不一致:

  • 执行git fetch origin master && git diff master origin/master -- apps/app_one/base,对比本地和远程分支的YAML文件差异。
  • 检查远程分支中对应YAML文件的第36行,确认是否存在格式错误(比如冒号后未加空格、引号不匹配、嵌套映射错误等)。

4. 排查流水线的Git权限问题

即使你配置了Git登录,仍可能存在权限不足的情况:

  • 确保流水线使用的CI/CD令牌(如GITLAB_TOKEN)拥有目标仓库group_name/app_name的读取权限。
  • 在流水线中添加调试步骤,运行git clone https://gitlab.link/group_name/app_name.git验证是否能正常拉取仓库内容。

内容的提问来源于stack exchange,提问作者basel.9188

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:07:35