GitHub Actions运行helm命令提示unknown command "chart"错误如何解决
报错原因
这个错误由Helm版本不兼容导致:
- Helm v3.0.0到v3.6.x版本的OCI注册表支持属于实验性功能,对应操作命令为
helm chart save、helm chart push - Helm v3.7.0及以上版本正式固化了OCI功能,直接移除了
helm chart子命令,相关能力被集成到其他原生命令中
如果你的GitHub Actions工作流近期拉取的Helm默认版本升级到了v3.7.0以上,就会触发该未知命令报错。
修复方案
有两种可选修复方式:
方案1:适配新版Helm命令(推荐)
直接将原有命令替换为新版Helm的标准OCI操作命令,无需锁定版本,兼容后续迭代:
- 将
helm chart save替换为helm package,用于生成helm chart的压缩包 - 将
helm chart push替换为helm push,且需要在目标仓库地址前增加oci://前缀
修改后完整的配置段示例如下:
echo ***************** echo SAVING HELM CHART echo ***************** # log in to aws and push the helm chart aws ecr get-login-password --region us-west-2 | helm registry login --username AWS --password-stdin XXXX.amazonaws.com helm package ./server-helm-chart/ --version $helmChartVersion echo ***************** echo PUSHING HELM CHART echo ***************** helm push server-helm-chart-$helmChartVersion.tgz oci://XXXX.amazonaws.com/test/helm
注:
helm package默认生成的压缩包命名规则为<chart名称>-<版本号>.tgz,如果你的chart目录中Chart.yaml定义的name不是server-helm-chart,需要对应调整push命令中的压缩包文件名。
方案2:锁定旧版Helm
如果暂时不需要适配新版命令,可以在GitHub Actions的Helm安装步骤中指定使用v3.6.x及以下版本,示例配置:
- name: Install Helm uses: azure/setup-helm@v3 with: version: 'v3.6.3'
内容的提问来源于stack exchange,提问作者Brettins
相关产品推荐
相关产品推荐

