Chart Releaser Action для автоматизації випуску чартів на GitHub Pages
Цей посібник описує, як використовувати Chart Releaser Action для автоматизації випуску чартів через GitHub Pages. Chart Releaser Action — це GitHub Action workflow, який перетворює GitHub проєкт на репозиторій чартів Helm, використовуючи CLI-інструмент helm/chart-releaser.
Зміни в репозиторії
Створіть Git-репозиторій у вашій організації на GitHub. Ви можете назвати репозиторій helm-charts
, хоча також прийнятні інші назви. Джерела всіх чартів можуть бути розміщені на гілці main
. Чарти повинні бути розміщені в теці /charts
на верхньому рівні дерева тек.
Також має бути інша гілка з назвою gh-pages
, щоб публікувати чарти. Зміни в цій гілці будуть автоматично створюватися за допомогою Chart Releaser Action, описаного тут. Крім створення гілку gh-pages
ви можете додати файл README.md
до неї, який буде видимим користувачам, що відвідують сторінку.
Ви можете додати інструкції в README.md
щодо встановлення чартів, як показано нижче (замініть <alias>
, <orgname>
, і <chart-name>
):
## Використання
Щоб використовувати чарти, необхідно встановити [Helm](https://helm.sh). Будь ласка, ознайомтеся з [документацією Helm](https://helm.sh/docs), щоб розпочати.
Як тільки Helm буде налаштовано правильно, додайте репозиторій наступним чином:
helm repo add <alias> https://<orgname>.github.io/helm-charts
Якщо ви вже додавали цей репозиторій раніше, виконайте команду `helm repo update`, щоб отримати останні версії пакетів. Потім ви можете виконати `helm search repo <alias>`, щоб побачити чарти.
Щоб встановити чарт `<chart-name>`:
helm install my-<chart-name> <alias>/<chart-name>
Щоб видалити чарт:
helm delete my-<chart-name>
Чарти будуть опубліковані на вебсайті з URL-адресою типу:
https://<orgname>.github.io/helm-charts
GitHub Actions Workflow
Створіть файл GitHub Actions workflow в гілці main
за адресою .github/workflows/release.yml
:
name: Release Charts
on:
push:
branches:
- main
jobs:
release:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout
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: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
Наведена конфігурація використовує
@helm/chart-releaser-action, щоб перетворити ваш GitHub проєкт на самостійний репозиторій чартів Helm. Вона виконує це під час кожної операції push в гілку main
шляхом перевірки кожного чарту у вашому проєкті, і коли знаходить нову версію чарту, створює відповідний реліз GitHub, додає артефакти Helm чарту до релізу і створює або оновлює файл index.yaml
з метаданими про ці релізи, який потім хоститься на GitHub Pages.
Версія Chart Releaser Action, використана в наведеному прикладі, — v1.6.0
. Ви можете змінити її на
останню доступну версію.
Примітка: Chart Releaser Action майже завжди використовується в парі з Helm Testing Action та Kind Action.