在仓库根目录下创建 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.yaml
name: 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 删除。