> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 推送和拉取 Helm Chart

> 打包 Helm Chart 并推送到镜像仓库，供其他环境按版本拉取。

将 Helm Chart 存入镜像仓库后，可以使用同一项目路径按版本分发 Chart。Helm Chart 以 OCI 制品形式保存，推送和拉取时需要使用 `oci://` 开头的仓库路径。

## 操作前确认

* 已有目标地域的镜像仓库项目，且当前账号具备该项目的读写权限。
* 已在执行命令的环境中安装支持 OCI 仓库的 Helm，并准备好待打包的 Chart 目录或 `.tgz` 包。

## 获取操作命令

* 获取通用登录、推送和拉取的参考命令

  在 **镜像仓库** 页面，单击 **推送 & 拉取**，然后打开 **Helm** 页签。
* 获取某项目的推送命令

  进入目标项目详情页，在左侧单击 **镜像仓库**，然后单击 **获取推送命令**。
* 获取某 Chart 的拉取命令

  1. 进入目标项目详情页，在左侧单击 **镜像仓库**。
  2. 找到目标 Chart，单击名称。
  3. 在制品列表的 **操作** 列单击 **复制拉取命令**。

## 登录镜像仓库

1. 登录 [GPU 云服务控制台](https://console.siflow.cn/gpu-cloud/home)。
2. 进入 **存储 > 镜像仓库** 页面，选择目标地域。
3. 单击 **推送 & 拉取**。
4. 在 **Helm** 页签获取该地域的仓库地址和登录说明。
5. 在执行 Helm 操作的环境中登录仓库：

   ```bash theme={null}
   helm registry login <REGISTRY_ENDPOINT> --username <USERNAME>
   ```

   * `<REGISTRY_ENDPOINT>` 替换为当前地域的仓库地址，例如 `registry-cn-shanghai.siflow.cn`。Helm 登录命令只使用仓库地址，不带 `oci://` 和项目路径。
   * `<USERNAME>` 替换为镜像仓库登录用户名，格式为 `<用户名>@<租户名>`。
   * 按提示输入对应凭证，默认密码为平台登录密码。不要把密码直接写入命令或公开日志。

## 推送 Chart

登录镜像仓库，将 Chart 目录打包为 `.tgz` 文件，并推送到目标项目。

```bash theme={null}
helm package <CHART_PATH>
helm push ./<CHART>-<VERSION>.tgz oci://<REGISTRY_ENDPOINT>/<PROJECT>
```

* `<CHART_PATH>`：Chart 目录。
* `<CHART>`：Chart 名称。
* `<VERSION>`：Chart 版本。
* `<REGISTRY_ENDPOINT>`：镜像仓库地址。
* `<PROJECT>`：目标项目。

Helm 会从 Chart 包中读取名称和版本。推送目标是项目路径，不要在末尾再添加 Chart 名称或版本。已有符合要求的 `.tgz` 包时，可以跳过 `helm package`，直接执行 `helm push`。

示例：

```bash theme={null}
helm package ./mychart
helm push ./mychart-1.0.0.tgz oci://registry-cn-shanghai.siflow.cn/project-test
```

推送完成后，在目标地域的 **项目** 页签进入相应项目，然后在 **镜像仓库** 中确认 Chart 可找到。

## 拉取 Chart

在需要使用 Chart 的环境中登录仓库，然后按完整 Chart 路径指定版本：

```bash theme={null}
helm pull oci://<REGISTRY_ENDPOINT>/<PROJECT>/<CHART> --version <VERSION>
```

例如：

```bash theme={null}
helm pull oci://registry-cn-shanghai.siflow.cn/project-test/mychart --version 1.0.0
```

确认本地取得与指定版本对应的 `.tgz` 文件。拉取失败时，先核对地域、项目路径、Chart 名称与版本，以及当前环境使用的凭证是否能够访问该项目。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.