</>

Jenkins Cheat Sheet

Practical Jenkins cheat sheet with setup steps, core workflows, debugging, and copy-paste examples.

jenkins automation infrastructure operations

Jenkins cheat sheet with real commands and snippets for setup, core workflows, debugging, and production-safe automation patterns. If you are working across tools, pair this with the GitLab CI Cheat Sheet and Make Cheat Sheet.

Setup and Installation

Goal: Verify installation and CLI metadata

# Resolve command path from current shell
command -v jenkins

# Print installed version to confirm runtime
jenkins --version

# Read top-level help before using subcommands
jenkins --help

Goal: Install or upgrade the tool on a workstation

# Run Jenkins locally with Docker instead of host install
docker run --rm -p 8080:8080 jenkins/jenkins:lts-jdk21

# Check Jenkins logs from local Docker container
docker logs -f $(docker ps -q --filter ancestor=jenkins/jenkins:lts-jdk21)

Goal: Run day-to-day commands

# Run Jenkins LTS locally with Docker
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

# Tail Jenkins container logs
docker logs -f jenkins

# Validate Jenkinsfile syntax with lint endpoint
curl -X POST -F "jenkinsfile=<Jenkinsfile" http://localhost:8080/pipeline-model-converter/validate

# Stop and remove local Jenkins container
docker rm -f jenkins

Core Workflows

Goal: Capture command help for quick offline lookup

# Create docs folder for generated command references
mkdir -p docs/cli

# Write help output to a timestamped file
jenkins --help > docs/cli/jenkins-help.txt

# Search help output for a keyword
rg "config|auth|deploy" docs/cli/jenkins-help.txt

Goal: Wrap repetitive commands in a script

# Create scripts directory for local automation
mkdir -p scripts

# Write repeatable health-check script
cat > scripts/check-jenkins.sh <<'SH'
#!/usr/bin/env bash
set -euo pipefail
jenkins --version
jenkins --help >/dev/null
SH

# Make script executable and run it
chmod +x scripts/check-jenkins.sh && ./scripts/check-jenkins.sh

Configuration and Environment

Goal: Pin environment variables for predictable runs

# Define environment profile for local commands
export JENKINS_PROFILE=dev

# Persist profile in local shell configuration
echo 'export JENKINS_PROFILE=dev' >> ~/.zshrc

# Reload shell profile changes
source ~/.zshrc

Automation and CI

Goal: Define a working CI pipeline file

pipeline {
  agent any
  stages {
    stage('Install') {
      steps { sh 'npm ci' }
    }
    stage('Check') {
      steps { sh 'npm run check' }
    }
    stage('Build') {
      steps { sh 'npm run build' }
    }
  }
}

Goal: Add tool checks to CI pipeline

# Run lint/test/build in strict mode
set -euo pipefail

# Verify CLI exists before invoking workflow
command -v jenkins

# Exit quickly if command is unavailable
jenkins --version

Debugging and Troubleshooting

Goal: Collect diagnostics when commands fail

# Capture command output and exit code
jenkins --help > /tmp/jenkins-debug.log 2>&1; echo $?

# Inspect captured diagnostics
tail -n 80 /tmp/jenkins-debug.log

# Check current shell PATH entries
echo $PATH | tr ':' '\n'

Common Gotchas

  • Pin Jenkins versions in CI so local and pipeline behavior match.
  • Check tool authentication context before running write or deploy commands.
  • Prefer non-interactive flags in scripts to avoid stalled jobs.
  • Capture stderr logs in CI artifacts for faster incident triage.
  • Keep secrets in environment variables, not committed scripts.

Related Cheat Sheets