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仓库发布流程
打包Helm Chart:
helm package my-chart/更新仓库索引:
helm repo index --url https://your-repo-url ./将生成的
.tgz文件和index.yaml上传到您的HTTP服务器
OCI仓库发布流程(推荐)
如果使用OCI兼容的容器 registry(如Docker Hub、GitHub Container Registry):
登录OCI registry:
helm registry login registry.example.com推送Chart到OCI registry:
helm push my-chart-1.0.0.tgz oci://registry.example.com/namespace推送仓库元数据:
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添加仓库
- 访问Artifact Hub网站并注册账号
- 点击右上角"Sign In"登录
- 导航到"Repositories"页面,点击"Add Repository"
- 输入仓库信息:
- 对于传统HTTP仓库:输入仓库URL(如
https://your-repo-url) - 对于OCI仓库:输入OCI URL(格式为
oci://registry/namespace/chart-name)
- 对于传统HTTP仓库:输入仓库URL(如
- 点击"Add"完成添加
步骤5:验证发布状态
添加仓库后,Artifact Hub将自动开始索引您的Charts。您可以:
- 在Artifact Hub搜索您的Chart名称
- 查看Chart详情页确认元数据是否正确显示
- 检查"CHANGELOG"标签页验证变更日志是否正确解析
Artifact Hub自动生成的变更日志,基于Chart.yaml中的changes注释
维护与更新
一旦成功发布,您只需:
- 按照正常流程更新Helm Chart版本
- 更新
Chart.yaml中的版本号和变更日志 - 重新打包并推送到仓库
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),仅供参考