Helm チャート
前提条件
対象イメージ
|
Helm チャートを操作する場合の一般的な CI/CD タスクは、それをレジストリに公開することです。Space Automation を使用すると、チャートを Space Package または任意の外部レジストリに公開できます。
Helm チャートを Space Package に公開する
オートメーションには、Helm を操作するための特別な API が提供されていないため、helm
コマンドラインツールを直接使用する必要があります。
ジョブの実行番号に基づいてチャートのバージョンを自動的に生成したい場合は、
Chart.yaml
からバージョンを削除します。バージョン行は次のようになります。version:.space.kts
ファイルを編集します。次の例では、helm-chart/hello-helm
ディレクトリにあるhello-helm
をcontainers
レジストリに公開します。Helm チャートのバージョンは、スクリプト実行番号0.1.$JB_SPACE_EXECUTION_NUMBER
で調整されます。job("Publish Helm chart") { container("alpine/helm") { shellScript { content = """ export HELM_EXPERIMENTAL_OCI=1 sed -i.bak "s/^version:/version: 0.1.${'$'}JB_SPACE_EXECUTION_NUMBER/" ./helm_charts/hello-helm/Chart.yaml helm registry login mycompany.registry.jetbrains.space -u ${'$'}JB_SPACE_CLIENT_ID -p ${'$'}JB_SPACE_CLIENT_SECRET helm package ./helm_charts/hello-helm helm push hello-helm-0.1.${'$'}JB_SPACE_EXECUTION_NUMBER.tgz oci://mycompany.registry.jetbrains.space/p/project-key/containers """ } } }
Helm チャートを外部レジストリに公開する
外部レジストリへのチャートの公開は、Space Packages レジストリへの公開とほぼ同じです。唯一の違いは、資格情報をシークレットとパラメーターストレージのリポジトリに保存する必要があることです。
パラメーターとシークレットを作成するは、スクリプトが外部リポジトリにアクセスするために使用する必要があるユーザー名とパスワードを保存します。
ジョブの実行番号に基づいてチャートのバージョンを自動的に生成したい場合は、
Chart.yaml
からバージョンを削除します。バージョン行は次のようになります。version:.space.kts
ファイルを編集します。job("Publish Helm chart") { container("alpine/helm") { env["PSWRD"] = Secrets("repo-password") env["ID"] = Params("repo-user") shellScript { content = """ export HELM_EXPERIMENTAL_OCI=1 sed -i.bak "s/^version:/version: 1.1.${'$'}JB_SPACE_EXECUTION_NUMBER/" ./helm_charts/hello-helm/Chart.yaml helm registry login externalrepo.url -u ${'$'}ID -p ${'$'}PSWRD helm package ./helm_charts/hello-helm helm push hello-helm-1.1.${'$'}JB_SPACE_EXECUTION_NUMBER.tgz oci://externalrepo.url/repo-name """ } } }
関連ページ:
コンテナーレジストリを作成する
プロジェクトに移動するレジストリを作成する場所。プロジェクトのサイドバーで、パッケージを選択します。パッケージページで、新規リポジトリをクリックします。新しいパッケージリポジトリウィンドウで、リポジトリ設定を指定します。タイプ: コンテナーレジストリを選択します。名前と説明: レジストリ名 (一意の識別子である必要があります) と説明を指定します。アクセス: 認証されていないユーザーがリポジトリから読み取れるようにする場合は、Public を選択します。それ以外の場合は、Private を選択します。...
Java および Kotlin 用の Gradle
前提条件 Java または Kotlin で書かれたプロジェクトがあります。プロジェクトでは Gradle を使用します。Gradle ラッパーはプロジェクトのルートディレクトリに存在します。アーティファクトを Space パッケージに公開する場合は、プロジェクトに Maven リポジトリがあることを確認してください。対象イメージ JRE/JDK バージョン 11 以降を含むイメージ。例:amazoncorretto イメージ。通常、プロジェクトを構築してテストを実行するために必要なのは、プロジェクト...