Deploying a Helm Artifact

Helm is an open source package manager for Kubernetes that provides the ability to share, package, and deploy the software built for Kubernetes. The Oracle Cloud Infrastructure (OCI) DevOps service supports the deployment of Helm charts to Kubernetes Engine (OKE) cluster. You can also run Helm commands that are specified as an inline artifact and added to the Helm stage for deployment.

The Helm chart deployment occurs only when the Helm chart is deployed for the first time, or if updates are detected in the artifact or Helm stage parameters. This is automatically validated before running the deployment. However, to deploy the Helm chart irrespective of the updates to the artifact or any other Helm stage parameter, during the deployment run, you must set the ENFORCE_HELM_DEPLOYMENT parameter to true. This parameter works at both stage and pipeline level. When the parameter is set for a specific stage, then its applicable only for that stage. If the parameter is set for a pipeline or deployment argument, then its applicable to all the stages in the pipeline. However, if the parameter is set for the pipeline or deployment argument and the stage override argument, then the pipeline parameter or deployment argument take precedence over the stage override argument. The parameter is applicable to all the stages in the pipeline.

For a specific Helm deployment stage, you have the option to use OCI_DEVOPS_DEPLOY_USE_CREATE_NAMESPACE_FLAG as a stage parameter override. The parameter can be set to true or false to control the --create-namespace flag when using the helm upgrade command for deploying Helm charts. This parameter operates at the stage level, offering enhanced granularity in the deployment configurations. For more information, see Configuring Parameters.

Before you begin, you must have a deployment pipeline and create a Kubernetes Engine cluster. You can deploy to both public and private OKE clusters.

For creating dynamic groups and policies for deployment pipelines, see Deployment Pipeline Policies. For more details, see DevOps IAM Policies.

The Helm charts must be located in the OCI Container Registry repository for deployment. See Adding a Helm Chart. For running Helm commands, you must specify the Helm commands as an inline artifact. See Helm Command Specification.

Helm charts contain templates of Kubernetes YAML manifest files and a values.yaml file to supply the default template values. The values.yaml is a generic file that's located in the OCI Artifact Registry. You must create a reference to this file. See Adding an Artifact Registry Artifact.

Note

The deployment doesn't support parameter substitution in the Helm chart tarball. However, it's supported in the values.yaml file.

For accessing DevOps using the Oracle Cloud Console, REST API, and CLI, see Accessing DevOps.

Was this article helpful?