Helm unittest本地正常,GitHub Action中父Chart测试失败,子Chart无异常
解决方案
1. 构建父Chart依赖(关键步骤)
如果子Chart是通过父Chart的Chart.yaml中dependencies字段声明的(而非直接将子Chart目录提交到Git),GitHub Action的全新环境不会自动拉取依赖。需在执行helm unittest前,先运行依赖构建命令:
helm dependency build ./charts/main
将该步骤加入你的GitHub Action工作流,确保子Chart被下载到父Chart的charts/目录下。
2. 确认子Chart目录已提交到Git
如果子Chart是直接放在父Chart的charts/目录下作为本地文件,检查alpha、beta等子Chart目录是否已提交到Git仓库。GitHub Action拉取代码时,只有已提交的文件才会存在于环境中,若之前忽略了这些目录,需从.gitignore移除并提交。
3. 显式指定包含子Chart测试
尝试在GitHub Action的命令中添加--with-subcharts参数,确保unittest插件扫描父Chart下的所有子Chart模板:
helm unittest --helm3 --with-subcharts ./charts/main
4. 验证工作目录与文件存在性
在GitHub Action中添加步骤,确认子Chart目录是否存在:
pwd ls -la ./charts/main/charts/
通过输出排查路径错误或文件缺失问题。
内容的提问来源于stack exchange,提问作者Yashgiri Goswami
相关产品推荐
相关产品推荐

