Artifact Hub包发布流程:如何将您的Helm Charts添加到官方仓库
2026/5/8 4:38:31 网站建设 项目流程

Artifact Hub包发布流程:如何将您的Helm Charts添加到官方仓库

【免费下载链接】hubFind, install and publish Cloud Native packages项目地址: https://gitcode.com/gh_mirrors/hub2/hub

Artifact Hub是一个开源的云原生包管理平台,允许开发者查找、安装和发布各类云原生包,包括Helm Charts、容器镜像、Falco规则等。本文将详细介绍如何将您的Helm Charts发布到Artifact Hub官方仓库,让全球用户能够轻松发现和使用您的项目。

准备工作:了解Helm Chart仓库结构

在开始发布流程前,确保您的Helm Chart仓库符合Helm官方规范。典型的Helm仓库结构应包含:

  • Chart.yaml:存储Chart的元数据(名称、版本、描述等)
  • values.yaml:默认配置值
  • templates/:Kubernetes资源模板目录
  • README.md:项目说明文档
  • LICENSE:许可证文件

Artifact Hub会自动从这些文件中提取大部分所需元数据,但您还需要添加一些特定注释来优化展示效果。

Artifact Hub首页展示了平台的核心功能,包括搜索、浏览和发布云原生包

步骤1:配置Chart.yaml文件

Chart.yaml是发布流程中最重要的文件,您需要在此添加Artifact Hub特定的注释。以下是关键注释示例:

annotations: artifacthub.io/category: security # 指定分类 artifacthub.io/changes: | # 变更日志 - kind: added description: 新增监控指标功能 - kind: fixed description: 修复安装脚本错误 artifacthub.io/images: | # 容器镜像信息 - name: app image: myrepo/app:1.0.0 platforms: - linux/amd64 artifacthub.io/screenshots: | # 截图链接 - title: 控制台界面 url: https://example.com/screenshot.jpg

完整的注释说明可参考官方文档:docs/helm_annotations.md

步骤2:创建artifacthub-repo.yml文件

在仓库根目录创建artifacthub-repo.yml文件,用于配置仓库元数据:

version: 1 name: my-charts-repo displayName: My Helm Charts Repository description: A collection of Helm charts for cloud-native applications logoURL: https://example.com/logo.png verifiedPublisher: enabled: true

此文件需与仓库的index.yaml位于同一目录,并通过HTTP服务器提供访问。

步骤3:发布Helm Chart到仓库

传统HTTP仓库发布流程

  1. 打包Helm Chart:

    helm package my-chart/
  2. 更新仓库索引:

    helm repo index --url https://your-repo-url ./
  3. 将生成的.tgz文件和index.yaml上传到您的HTTP服务器

OCI仓库发布流程(推荐)

如果使用OCI兼容的容器 registry(如Docker Hub、GitHub Container Registry):

  1. 登录OCI registry:

    helm registry login registry.example.com
  2. 推送Chart到OCI registry:

    helm push my-chart-1.0.0.tgz oci://registry.example.com/namespace
  3. 推送仓库元数据:

    oras push \ registry.example.com/namespace/my-chart:artifacthub.io \ --config /dev/null:application/vnd.cncf.artifacthub.config.v1+yaml \ artifacthub-repo.yml:application/vnd.cncf.artifacthub.repository-metadata.layer.v1.yaml

Artifact Hub上的Helm Chart详情页展示了安装指南、版本历史和统计信息

步骤4:在Artifact Hub添加仓库

  1. 访问Artifact Hub网站并注册账号
  2. 点击右上角"Sign In"登录
  3. 导航到"Repositories"页面,点击"Add Repository"
  4. 输入仓库信息:
    • 对于传统HTTP仓库:输入仓库URL(如https://your-repo-url
    • 对于OCI仓库:输入OCI URL(格式为oci://registry/namespace/chart-name
  5. 点击"Add"完成添加

步骤5:验证发布状态

添加仓库后,Artifact Hub将自动开始索引您的Charts。您可以:

  1. 在Artifact Hub搜索您的Chart名称
  2. 查看Chart详情页确认元数据是否正确显示
  3. 检查"CHANGELOG"标签页验证变更日志是否正确解析

Artifact Hub自动生成的变更日志,基于Chart.yaml中的changes注释

维护与更新

一旦成功发布,您只需:

  1. 按照正常流程更新Helm Chart版本
  2. 更新Chart.yaml中的版本号和变更日志
  3. 重新打包并推送到仓库

Artifact Hub将定期检查仓库更新,新的Chart版本会自动显示在平台上。

常见问题解决

  • 索引延迟:新发布的Chart可能需要15-30分钟才能在Artifact Hub上显示
  • 元数据错误:使用helm lint命令检查Chart格式
  • 图片不显示:确保screenshots注释中的URL可公开访问
  • 分类不正确:在Chart.yaml中显式指定artifacthub.io/category注释

通过以上步骤,您的Helm Charts将成功发布到Artifact Hub,获得更多曝光和使用机会。如有其他问题,可参考官方文档docs/helm_charts_repositories.md或提交issue到项目仓库。

【免费下载链接】hubFind, install and publish Cloud Native packages项目地址: https://gitcode.com/gh_mirrors/hub2/hub

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询