
# 通过客户端上传/下载Helm组件
CodeArts Artifact支持与本地Helm客户端对接，用户A可以通过客户端的方式将本地客户端中的Helm私有组件上传至CodeArts Artifact私有依赖库，其他用户再通过客户端的方式从CodeArts Artifact私有依赖库下载用户A上传的Helm组件，实现Helm组件的共享或传递。
#### Helm组件介绍
Helm是Kubernetes的包管理工具，Helm通过Charts（即Helm制品）来管理和部署复杂的Kubernetes应用。
#### 约束与限制
不同用户账号的私有依赖库仓库密码不同，当用户以不同账号访问私有依赖库时，如果需要使用仓库密码，则需要在各仓库"操作指导"中重新下载配置文件获取仓库密码。
#### 前提条件
- 已安装Helm客户端。
- 已[创建Helm仓库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0008.html)。
- 需要具备当前仓库的"下载/查看"权限，如需获取"下载/查看"的权限，请参考[配置私有依赖库权限](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0047.html)配置。
 
#### 通过客户端上传Helm组件
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的Helm仓库。
3. 单击页面右侧"操作指导"。
4. 在"操作指导"对话框，单击"下载配置文件"，下载"repositories.yaml"文件。
   
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513937012.png "点击放大")
   
   
   
5. 执行以下命令将Helm制品包上传到仓库。 
   ```
   curl -k -u "{{username}}:{{password}}" -X PUT url/{{filePath}} -T {{localFile}}
   ```
   - *file path*：待上传的Helm仓库路径（包含名称）。
   
   - *localFile*：本地Helm制品包的路径（包含名称）。
   
   - *username、password* 、*url* 的值从[4]下载的"repositories.yaml"文件获取，如下图所示。
     ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513859440.png "点击放大")
     
   
   
   
   
 
#### 通过客户端下载Helm组件
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的Helm仓库。
3. 单击页面右侧"操作指导"。
4. 在"操作指导"对话框，单击"下载配置文件"，下载"repositories.yaml"文件。
   
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513937522.png "点击放大")
   
   
   
5. 使用如下命令添加Helm私有库。 
   ```
   helm repo add Helm仓库ID Helm仓库地址 --username {{username}} --password {{password}} --insecure-skip-tls-verify
   ```
   *username、password* 的值从[4]下载的"repositories.yaml"文件获取，"*Helm仓库ID*"从下图示例中的红框处获取，如下图所示。
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545300515.png "点击放大")
   
   
   
6. 执行如下命令更新元数据。 
   ```
   helm repo update
   ```
   
   
7. 执行如下命令下载软件包。 
   ```
   helm pull Helm仓库ID/{{filePath}} --version {{version}} --insecure-skip-tls-verify
   ```
   *username、password* 的值从[4]下载的"repositories.yaml"文件获取，如下图所示。
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513700642.png "点击放大")
   
   
 
