
在仓库根目录下创建 charts 目录,然后在该目录下开发所需要的 chart,如:
.
├── charts
│ └── mychart
│ ├── Chart.yaml
│ ├── templates
│ │ ├── deployment.yaml
│ │ ├── _helpers.tpl
│ │ └── service.yaml
│ └── values.yaml创建 gh-pages 分支并 push 到 github 仓库:
git checkout --orphan gh-pages # 创建 gh-pages 空分支
touch README.md
git add README.md
git push origin -u gh-pages为项目添加 GitHub Action,在 .github/workflows 下新增 yaml(如 helm-release.yaml):
.github
└── workflows
├── docker-ci.yaml
└── helm-release.yamlname: Release Charts
on:
push:
branches:
- main
jobs:
release:
permissions:
contents: write # to push chart release and create a release (helm/chart-releaser-action)
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Set up Helm
uses: azure/setup-helm@v4
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"提示: 1.
GITHUB_TOKEN这个 Secret 是 Github 为项目自动生成的,无需手动添加。 2.Configure Git中是 Github Action 提交 chart 到gh-pages分支时所用到的 Git 用户信息,可根据情况自行修改。
确保在 Chart.yaml 中定义好 version,提交并 push 代码触发 Github Action 工作流。
如果成功,可以在 release 页面看到自动生成的压缩包:

同时,在 gh-pages 分支可以看到 index.yaml 自动生成(index.yaml 中会引用 release 中的 chart 压缩包):

第一次提交不会发布 chart,因为它会对比历史来发现 chart 是否有变更,第一次提交无法对比,也不会发布 chart。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。