私は実際にGradle、Docker、Minikube、Helmを使用した開発環境で作業しています。
私は物事を成し遂げるためにたくさんのbashスクリプトを使用しています。
これまでに達成したことは:
次に、Gradleによって計算されたバージョンをHelmに伝達できるようにする必要があります。これにより、適切なDockerイメージを選択できるようになります。
私がすでに考えているアプローチは、Helmで使用できるように環境変数を定義することです。
問題は、後で再定義する必要があることです。
それを行うより良い方法はありますか?
ほとんどのHelmチャートのvalues.yaml
ファイルには、少なくとも次のものが含まれています。これにより、デフォルトのDockerイメージタグが設定され、ユーザーはチャートをインストールまたはアップグレードして、チャート自体を変更せずに別のイメージを指定できます。
# values.yaml
image:
repository: <docker-repo-url-here>
tag: <docker-image-tag-here>
そして、デプロイメントyamlで、values.yamlから値をフェッチします
# deployment.yaml
kind: Deployment
spec:
template:
spec:
containers:
- name: container-name
image: "{{ .Values.image.repository }}:{{ .Values.image.tag}}"
そこから、新しい画像を使用したいときに簡単なhelm upgrade <release-name> <chart-path> --set image.tag=<new-image-tag>
を実行できます。