setup-helmfile

| 2 min read

setup-helmfile は Github Actionsで Helmfile を利用するための Action です。

Helmfile は、複数の Helm Chart を纏めて Kubernetes クラスタにインストールするツールです。インストールの順序制御や、インストールの前後にフックを挟んでちょっとしたスクリプトを実行させることもできます。複雑な構成のソフトウェア群のインストールを効率的に行える優れたツールです。

setup-helmfile は、この Helmfile を GitHub Actions のワークフローで利用できるようにインストールするアクションです。

CI でソフトウェアをテストするためだけでなく、ソフトウェアの(Chart のパラメータやスクリプトを含めた)インストール自体のテストにも使用できます。これによりインストール手順が正しく定義されているかを常にテストできます。

ワークフローでの利用例は以下のようになります。

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup helmfile
uses: mamezou-tech/setup-helmfile@master
- name: Deploy apps
run: helmfile sync

Helmfile だけでなく、Helm や kubectl などのインストールもバージョンを指定して行えます。GitHub Actions の Ubuntu Runnner ではこれらのソフトウェアが予めインストールされているため必須ではありませんが、対象の Kubernetes のバージョンなどの制約で特定のバージョンに固定したいなどの要件がある場合便利です。AWS EKS を利用したテストを想定して kubectl については AWS 版のバイナリインストールするようにしています。

デフォルトでは Helm plugin として helm-diff, helm-git をインストールします。追加で任意の Helm plugin もインストール可能です。

詳しくは README をご覧ください。

setup-helmfile は JavaScript Action として実装しています。

JavaScript アクションを作成する - GitHub Docs

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. 基本から理解するJWTとJWT認証の仕組み (2022-12-08)
  2. AWS認定資格を12個すべて取得したので勉強したことなどをまとめます (2022-12-12)
  3. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  4. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)
  5. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  6. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  7. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  8. IoT を使ってみる(その6:MQTTブローカー Mosquitto編) (2022-10-08)
  9. Nuxt3入門(第3回) - ユニバーサルフェッチでデータを取得する (2022-10-06)
  10. 統計学で避けて通れない自由度の話 (2022-06-20)