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

Helm推送至JFrog Artifactory失败:无效仓库问题求助

问题根源与解决方案

问题出在两个核心点:

  1. OCI规范的大小写限制:OCI(开放容器倡议)要求仓库路径和制品名称必须为全小写字符,Helm 3.19.0严格遵循该规则,你的Chart名称MY-chart包含大写字母,直接触发了无效引用报错。
  2. Chart包内部的名称校验:Helm推送时会读取Chart包内Chart.yaml中的name字段,哪怕命令里写了小写,只要包内名称是大写,依然会触发校验失败。

解决步骤

1. 统一Chart名称为全小写

  • 将Chart包文件名改为全小写:MY-chart-1.0.0-oci.tgz → my-chart-1.0.0-oci.tgz
  • 解压Chart包,修改内部Chart.yaml的name字段为全小写的my-chart,重新打包

2. 修正推送命令

两种可用的正确命令格式:

  • 明确指定路径中的Chart名称(全小写):
helm push my-chart-1.0.0-oci.tgz oci://my-jfrog-artifactory/my-oci-helm/my-chart --username *** --password ***
  • 让Helm自动从包内读取名称(前提是包内Chart.yaml的name已改为全小写):
helm push my-chart-1.0.0-oci.tgz oci://my-jfrog-artifactory/my-oci-helm --username *** --password ***

3. 确认JFrog Artifactory仓库配置

  • 确保你的仓库是**Helm (OCI)**类型:创建仓库时选择Helm类型,勾选Enable OCI Support
  • 无需额外配置自动生成路径,只要命令符合OCI规范,Artifactory会自动创建对应的存储路径结构

4. 验证推送结果

推送成功后,可通过以下命令拉取验证:

helm pull oci://my-jfrog-artifactory/my-oci-helm/my-chart --version 1.0.0

补充说明

Helm 3.19.0对OCI规范的校验比旧版本更严格,这是为了和Docker等OCI生态工具对齐。你的JFrog Artifactory版本7.117.17完全支持Helm OCI推送,只要遵守大小写规则即可,不需要特殊配置自动生成路径。

内容的提问来源于stack exchange,提问作者Ceddaerrix

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 06:12:39