HelmDeploy -Examples

JFrog Pipelines Documentation

Products
JFrog Pipelines
Content Type
User Guide
ft:sourceType
Paligo

The following examples show how to configure a HelmDeploy step. For more information about HelmDeploy, seeHelmDeploy.

Helm 3 and HelmChart Resource Input

A HelmDeploy step using Helm 3 and a HelmChart resource input.

HelmDeploy

pipelines: 
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration: 
          helmVersion: 3
          namespace: my-namespace
          releaseName: myHelmRelease
          integrations:
            - name: kubernetes_integration
          inputResources:
            - name: helmChartResource

Dry Run

A HelmDeploy step using Helm 3 and a HelmChart resource input with values files and a dry run before the deployment.

HelmDeploy

pipelines: 
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration: 
          helmVersion: 3
          namespace: my-namespace
          releaseName: myHelmRelease
          dryRun: true
          valueFilePaths:
            - values/values1.yaml
            - values/values2.yaml
          integrations:
            - name: kubernetes_integration
          inputResources:
            - name: helmChartResource

GitRepo Input

A HelmDeploy step with a GitRepo input instead of a HelmChart and lint and test commands.

HelmDeploy

pipelines: 
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration: 
          helmVersion: 3
          namespace: my-namespace
          chartPath: "./myChart"
          releaseName: myHelmRelease
          lint: true
          lintFlags: "--strict"
          test: true
          testFlags: "--parallel"
          valueFilePaths:
            - values/values1.yaml
            - values/values2.yaml
          integrations:
            - name: kubernetes_integration
          inputResources:
            - name: gitRepoResource

FileSpec Input

A HelmDeploy step with a FileSpec input resource. When using the FileSpec input resource, use the chartPath property to specify where the Helm chart file is in the FileSpec resource. If the FileSpec represents a Generic repository in Artifactory that contains the Helm chart, use the following configuration as a reference:

HelmDeploy

pipelines: 
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration: 
          helmVersion: 3
          namespace: my-namespace
          chartPath: "./myChart"
          releaseName: myHelmRelease
          lint: true
          lintFlags: "--strict"
          test: true
          testFlags: "--parallel"
          valueFilePaths:
            - values/values1.yaml
            - values/values2.yaml
          integrations:
            - name: kubernetes_integration
          inputResources:
            - name: fileSpecResource

If the FileSpec input resource represents a Helm repository in Artifactory, you will also need toprovide the chartNameandchartVersion configuration properties:

HelmDeploy

pipelines: 
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration: 
          helmVersion: 3
          namespace: my-namespace
          chartPath: "./myChart"
                  chartName: "myChartName"
                  chartVersion: 0.0.1
          releaseName: myHelmRelease
          lint: true
          lintFlags: "--strict"
          test: true
          testFlags: "--parallel"
          valueFilePaths:
            - values/values1.yaml
            - values/values2.yaml
          integrations:
            - name: kubernetes_integration
          inputResources:
            - name: fileSpecResource

BuildInfo Input

A HelmDeploy step with a BuildInfo input resource. When using the BuildInfo input resource, use the chartPath property to specify where the Helm chart file is in the BuildInfo resource. If the BuildInfo represents a Generic repository in Artifactory that contains the Helm chart, use the following configuration as a reference:

HelmDeploy

pipelines: 
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration: 
          helmVersion: 3
          namespace: my-namespace
          chartPath: "./myChart"
          releaseName: myHelmRelease
          lint: true
          lintFlags: "--strict"
          test: true
          testFlags: "--parallel"
          valueFilePaths:
            - values/values1.yaml
            - values/values2.yaml
          integrations:
            - name: kubernetes_integration
          inputResources:
            - name: buildInfoResource

If the BuildInfo input resource represents a Helm repository in Artifactory, you will also need toprovide the chartName and chartVersion configuration properties:

HelmDeploy

pipelines: 
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration: 
          helmVersion: 3
          namespace: my-namespace
          chartPath: "./myChart"
                  chartName: "myChartName"
                  chartVersion: 0.0.1
          releaseName: myHelmRelease
          lint: true
          lintFlags: "--strict"
          test: true
          testFlags: "--parallel"
          valueFilePaths:
            - values/values1.yaml
            - values/values2.yaml
          integrations:
            - name: kubernetes_integration
          inputResources:
            - name: buildInfoResource

ReleaseBundle Input

A HelmDeploy step with a ReleaseBundle input resource. When using the ReleaseBundle input resource you will need to specify where the Helm chart file is in the ReleaseBundle resource using the chartPath property.

If the ReleaseBundle represents a Generic repository in Artifactory that contains the Helm chart, please use the following configuration as a reference:

Artifactory integration is required

You must specify an Artifactory Integration when ReleaseBundle is the inputResource to HelmDeploy step. This integration will point to the Artifacoty that will be the source to download the ReleaseBundle that will be used in this step.

HelmDeploy

pipelines:
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration:
          helmVersion: 3
          namespace: my-namespace
          chartPath: "./myChart"
          releaseName: myHelmRelease
          lint: true
          lintFlags: "--strict"
          test: true
          testFlags: "--parallel"
          valueFilePaths:
            - values/values1.yaml
            - values/values2.yaml
          integrations:
            - name: kubernetes_integration
            - name: artifactory_integration
          inputResources:
            - name: releaseBundleResource

If the ReleaseBundle input resource represents a Helm repository in Artifactory, you will also have to specify chartName and chartVersion configuration properties:

HelmDeploy

pipelines:
  - name: helmDeployPipeline   
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration:
          helmVersion: 3
          namespace: my-namespace
          chartPath: "./myChart"
          chartName: "myChartName"
          chartVersion: 0.0.1
          releaseName: myHelmRelease
          lint: true
          lintFlags: "--strict"
          test: true
          testFlags: "--parallel"
          valueFilePaths:
            - values/values1.yaml
            - values/values2.yaml
          integrations:
            - name: kubernetes_integration
                        - name: artifactory_integration 
          inputResources:
            - name: releaseBundleResource

Helm 2

A HelmDeploy step using Helm 2.

HelmDeploy

pipelines: 
  - name: helmDeployPipeline
    steps:
      - name: helmDeployStep
        type: HelmDeploy
        configuration: 
          helmVersion: 2
          namespace: my-namespace
          releaseName: myHelmRelease
          integrations:
            - name: kubernetes_integration
          inputResources:
            - name: helmChartResource