Skip to main content
The DevHelm CLI runs anywhere Node.js is available. Use it in any CI/CD system that can install npm packages and set environment variables.

Requirements

  • Node.js 18+ installed on the CI runner
  • DEVHELM_API_TOKEN environment variable set with a valid API token
  • A devhelm.yml configuration file in your repository

Install the CLI

npm install -g devhelm
To pin a specific version:
npm install -g devhelm@0.2.0

Deploy workflow

The standard workflow is: validate → plan → deploy.
# Validate syntax (offline, no API calls)
devhelm validate devhelm.yml

# Preview changes
devhelm plan -f devhelm.yml

# Apply changes (non-interactive)
devhelm deploy -f devhelm.yml --yes
The --yes flag skips interactive confirmation — required in CI environments.

GitLab CI

deploy-monitoring:
  image: node:20
  stage: deploy
  only:
    changes:
      - devhelm.yml
  script:
    - npm install -g devhelm
    - devhelm validate devhelm.yml
    - devhelm deploy -f devhelm.yml --yes
  variables:
    DEVHELM_API_TOKEN: $DEVHELM_API_TOKEN

Jenkins

pipeline {
    agent { docker { image 'node:20' } }
    environment {
        DEVHELM_API_TOKEN = credentials('devhelm-api-token')
    }
    stages {
        stage('Deploy Monitoring') {
            when { changeset 'devhelm.yml' }
            steps {
                sh 'npm install -g devhelm'
                sh 'devhelm validate devhelm.yml'
                sh 'devhelm deploy -f devhelm.yml --yes'
            }
        }
    }
}

CircleCI

version: 2.1
jobs:
  deploy-monitoring:
    docker:
      - image: cimg/node:20.0
    steps:
      - checkout
      - run: npm install -g devhelm
      - run: devhelm validate devhelm.yml
      - run: devhelm deploy -f devhelm.yml --yes

workflows:
  deploy:
    jobs:
      - deploy-monitoring:
          filters:
            branches:
              only: main

Bitbucket Pipelines

pipelines:
  branches:
    main:
      - step:
          name: Deploy monitoring config
          image: node:20
          script:
            - npm install -g devhelm
            - devhelm validate devhelm.yml
            - devhelm deploy -f devhelm.yml --yes

Dry-run for PR checks

Use --dry-run --detailed-exitcode to gate merges:
devhelm deploy -f devhelm.yml --dry-run --detailed-exitcode
Exit codeMeaning
0No changes needed
10Changes pending
1Error

Environment variables

VariableRequiredDescription
DEVHELM_API_TOKENYesAPI token for authentication
DEVHELM_API_URLNoAPI base URL (default: https://api.devhelm.io)
DEVHELM_ORG_IDNoOrganization ID for multi-org accounts

Next steps

GitHub Actions

Use the official setup-devhelm action for GitHub.

CI/CD pipeline guide

End-to-end CI/CD setup with plan previews.

Monitoring as Code

Full YAML format and deploy workflow.