SkillAgentSearch skills...

kubesphere-devops-overview

Use when working with KubeSphere DevOps extension, CI/CD pipelines, Jenkins integration, or pipeline troubleshooting

Install / Use

npx skills add kubesphere/kubesphere --skill kubesphere-devops-overview

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

95/100

Category

Automation

Supported Platforms

Universal

Our assessment of kubesphere-devops-overview

kubesphere-devops-overview scores 95/100 on our quality scale, 174th of 1,333 Automation skills we index (top 14%).

Its SKILL.md is 12 KB long, well organised into 39 sections with 14 code examples: a thorough specification that gives an agent plenty to work with.

With 17,059 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
20/20
Description
12/15
Adoption
18/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated about 2 months ago, so kubesphere-devops-overview is actively maintained.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

kubesphere-devops-overview compared with similar skills

All 4 of these similar skills score higher than kubesphere-devops-overview; compare them before choosing.

SkillScoreStarsUpdatedFormat
kubesphere-devops-overview (this skill)by kubesphere9517.1k2mo agoSKILL.md
Agent-Reachby Panniantong10085.5k10d agoCLAUDE.md
rufloby ruvnet10073.3k1d agoCLAUDE.md
Scraplingby D4Vinci10083.8ktodayMCP Server
algorithmic-artby anthropics100177.9k3d agoSKILL.md

Frequently asked questions

How do I install kubesphere-devops-overview?
Run npx skills add kubesphere/kubesphere --skill kubesphere-devops-overview. The install tabs above show the steps for each supported agent.
Which AI agents does kubesphere-devops-overview work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is kubesphere-devops-overview safe to use?
It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is kubesphere-devops-overview still maintained?
The repository was last updated about 2 months ago, so kubesphere-devops-overview is actively maintained.

name: kubesphere-devops-overview description: Use when working with KubeSphere DevOps extension, CI/CD pipelines, Jenkins integration, or pipeline troubleshooting

KubeSphere DevOps Overview

Overview

KubeSphere DevOps provides CI/CD capabilities through Jenkins integration, supporting both graphical pipeline editing and Jenkinsfile-based pipelines. It enables automated builds, testing, and deployments across multi-cluster environments with ArgoCD integration for GitOps continuous deployment.

When to Use

  • Setting up CI/CD pipelines in KubeSphere
  • Configuring Jenkins integration
  • Managing DevOps projects and pipelines
  • Troubleshooting pipeline execution issues
  • Integrating with GitHub, GitLab, or SVN repositories
  • Configuring SonarQube for code quality

Core Concepts

Resource Mapping

KubeSphere DevOps maps resources across three layers:

KubeSphere          Kubernetes                    Jenkins
─────────────────────────────────────────────────────────────
Workspace           Workspace CR                  (authorization)
└── DevOpsProject   ├── DevOpsProject CR          └── Folder
    (Namespace)     └── Namespace (with label)
    └── Pipeline    ├── Pipeline CR               └── WorkflowJob
        └── Run     ├── PipelineRun CR            └── Build #N

Key Concept: A "DevOps Project" in KubeSphere is fundamentally a Kubernetes namespace with the devops.kubesphere.io/managed=true label. The DevOpsProject CR exists as a wrapper resource, but when querying for accessible DevOps projects, you interact with namespaces, not the DevOpsProject CRs directly.

For tenants: Use the /kapis/devops.kubesphere.io/v1alpha3/workspaces/{workspace}/namespaces endpoint to list accessible DevOps projects (returns namespace resources). The /apis/devops.kubesphere.io/v1alpha3/devopsprojects endpoint requires cluster-scoped permissions and returns 403 for tenants.

DevOps Project Naming Convention

DevOps projects have two forms of names:

| Name Type | Example | Source | Usage | |-----------|---------|--------|-------| | Shortname | devopstest | .metadata.generateName in DevOpsProject CR | Display/user-friendly name | | Fullname | devopstestc2nj7 | .metadata.name in DevOpsProject CR and Namespace | Actual resource identifier |

Important:

  • The fullname is the actual Kubernetes namespace name (e.g., devopstestc2nj7)
  • When creating a DevOps project with shortname devopstest, KubeSphere generates a unique fullname by appending random characters
  • All API operations use the fullname (namespace name), not the shortname
  • When a user refers to a project by shortname and multiple projects match, ask for confirmation before proceeding

Workspace Association

DevOpsProjects belong to a Workspace via label:

apiVersion: devops.kubesphere.io/v1alpha3
kind: DevOpsProject
metadata:
  name: my-project
  labels:
    kubesphere.io/workspace: demo   # Associates with Workspace 'demo'

To create and associate:

# 1. Create Workspace
kubectl apply -f - <<EOF
apiVersion: tenant.kubesphere.io/v1beta1
kind: Workspace
metadata:
  name: demo
EOF

# 2. Create DevOpsProject with label
kubectl apply -f - <<EOF
apiVersion: devops.kubesphere.io/v1alpha3
kind: DevOpsProject
metadata:
  name: my-project
  labels:
    kubesphere.io/workspace: demo
EOF

Project Components

┌──────────────────────────────────────────────────────────────┐
│                     DevOps Project                            │
│  (Namespace with devops.kubesphere.io/managed=true label)    │
└──────────────────────┬───────────────────────────────────────┘
                       │
        ┌──────────────┼──────────────┐
        │              │              │
┌───────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐
│  Pipelines   │ │Credentials│ │   Webhooks  │
│              │ │           │ │             │
│ - Graphical  │ │ - SSH     │ │ - GitHub    │
│ - Jenkinsfile│ │ - Basic   │ │ - GitLab    │
│ - Multi-branch│ │ - Token  │ │ - Generic   │
└──────────────┘ └───────────┘ └─────────────┘

Installation

Using InstallPlan (Recommended for Production)

Minimal Installation (Default Config) - RECOMMENDED:

apiVersion: kubesphere.io/v1alpha1
kind: InstallPlan
metadata:
  name: devops
  namespace: kubesphere-system
spec:
  extension:
    name: devops
    version: 1.2.4
  enabled: true
  upgradeStrategy: Manual   # Required for production
  # Note: spec.config is omitted to use extension default values

When to use minimal installation:

  • First-time installation to test default configuration
  • Standard deployments without special resource requirements
  • When you want to use the extension's tested defaults

Custom Configuration (Only When Needed):

apiVersion: kubesphere.io/v1alpha1
kind: InstallPlan
metadata:
  name: devops
  namespace: kubesphere-system
spec:
  extension:
    name: devops
    version: 1.2.4
  enabled: true
  upgradeStrategy: Manual   # Required for production
  # config: leave empty to use default values

Custom Configuration (Override Defaults):

apiVersion: kubesphere.io/v1alpha1
kind: InstallPlan
metadata:
  name: devops
  namespace: kubesphere-system
spec:
  extension:
    name: devops
    version: 1.2.4
  enabled: true
  upgradeStrategy: Manual   # Required for production
  config: |
    # Overrides values from DevOps chart's values.yaml
    agent:
      jenkins:
        Master:
          NodeSelector: {}
          resources:
            requests:
              cpu: "500m"
              memory: "4Gi"
            limits:
              cpu: "2000m"
              memory: "8Gi"
        Agent:
          Image: "jenkins/inbound-agent"
          Tag: "3309.v27b_9314fd1a_4-1-jdk21"
          Privileged: false

Important:

  • Always use upgradeStrategy: Manual for production
  • config is optional - omit or leave empty to use extension defaults
  • Config values override the extension's values.yaml settings
  • DevOps is a critical infrastructure component - plan upgrades carefully

Multi-Cluster Installation

To install DevOps agent on member clusters, add clusterScheduling:

apiVersion: kubesphere.io/v1alpha1
kind: InstallPlan
metadata:
  name: devops
  namespace: kubesphere-system
spec:
  extension:
    name: devops
    version: 1.2.4
  enabled: true
  upgradeStrategy: Manual
  config: |
    # Base config for all clusters
    agent:
      jenkins:
        Master:
          resources:
            requests:
              cpu: "500m"
              memory: "4Gi"
  clusterScheduling:
    placement:
      clusters:
        - host      # Install on host cluster
        - member1   # Install on member1
        - member2   # Install on member2
    # Optional: per-cluster overrides
    overrides:
      member1: |
        agent:
          jenkins:
            Master:
              resources:
                limits:
                  memory: "8Gi"   # Larger master for member1
      member2: |
        agent:
          jenkins:
            Agent:
              NodeSelector:
                zone: west

Key Points:

  • clusterScheduling.placement.clusters: List clusters where DevOps agent runs
  • clusterScheduling.overrides: Cluster-specific config overrides
  • Without clusterScheduling, DevOps only runs on the host cluster
  • Overrides merge with base config, override values take precedence

Using Helm (Alternative)

helm upgrade --install devops kse-extensions/devops \
  -n kubesphere-devops-system \
  --create-namespace

Post-Installation Verification

Verify the DevOps installation:

# Check DevOps pods
kubectl get pods -n kubesphere-devops-system

# Check InstallPlan status
kubectl get installplan devops -n kubesphere-system

# For multi-cluster: check agent status on each cluster
kubectl get installplan devops -n kubesphere-system -o jsonpath='{.status.clusterSchedulingStatuses}'

Architecture

| Component | Purpose | Namespace | |-----------|---------|-----------| | devops-jenkins | Jenkins master | kubesphere-devops-system | | devops-apiserver | DevOps API service | kubesphere-devops-system | | devops-controller | Resource controllers | kubesphere-devops-system | | devops-argocd-* | ArgoCD (GitOps) | argocd | | Jenkins Agent | Pipeline executors | Dynamic (per pipeline) | |-----------|---------|-----------| | devops-jenkins | Jenkins master | kubesphere-devops-system | | devops-apiserver | DevOps API service | kubesphere-devops-system | | devops-controller | Resource controllers | kubesphere-devops-system | | Jenkins Agent | Pipeline executors | Dynamic (per pipeline) |

Jenkins Integration

KubeSphere DevOps integrates with Jenkins for CI/CD execution. The secret devops-jenkins contains the admin token for direct Jenkins access:

# Get Jenkins admin token
TOKEN=$(kubectl -n kubesphere-devops-system get secret devops-jenkins -o jsonpath='{.data.jenkins-admin-token}' | base64 -d)

# Access Jenkins API
kubectl run curl-jenkins --rm -i --restart=Never --image=curlimages/curl \
  -- "http://admin:${TOKEN}@devops-jenkins.kubesphere-devops-system:80/api/json"

Jenkins NodePort:

kubectl get svc devops-jenkins -n kubesphere-devops-system
# Default: 30180

Access Jenkins Console:

  • URL: http://<node-ip>:30180
  • Username: admin
  • Password: Get from secret above

ArgoCD Integration

KubeSphere DevOps includes ArgoCD v2.11.7 for GitOps continuous deployment:

ArgoCD Components: | Component | Purpose | |-----------|---------| | application-controller | Manages Application state | | applicationset-controller | Manages ApplicationSet resources | | dex-server | SSO authentication | | notifications-controller | Event notifications | | repo-server | Repository operations | | argocd-server | API/UI server | | redis | Cache layer |

Access ArgoCD:

# Get ArgoCD server URL
kubectl get svc devops-agent-argocd-server -n argocd

# Get admin password
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d

Key Features:

  • Declarative GitOps deployment
  • Multi-source application support
  • Automated sync policies
  • SSO integration via Dex
  • Notification webhooks

Key Resources

Key Resources

| Resource | API Version | Purpose | |----------|-------------|---------| | Pipeline | devops.kubesphere.io/v1alpha3 | CI/CD pipeline definition | | DevOpsProject | devops.kubesphere.io/v1alpha3 | DevOps project (namespace wrapper) | | Credential | v1/Secret | Repository and deployment credentials |

Quick Commands

# List DevOps projects
kubectl get devopsprojects

# List pipelines in a project
kubectl get pipelines -n <devops-project-namespace>

# Get pipeline runs
kubectl get pipelineruns -n <devops-project-namespace>

# Check Jenkins status
kubectl -n kubesphere-devops-system get pods -l app=devops-jenkins

# View Jenkins logs
kubectl -n kubesphere-devops-system logs -l app=devops-jenkins

# Get Jenkins admin password
kubectl -n kubesphere-devops-system get secret devops-jenkins -o jsonpath='{.data.jenkins-admin-password}' | base64 -d

Pipeline Types

| Type | Description | Use Case | |------|-------------|----------| | Graphical | Visual pipeline editor | Simple pipelines, no code | | Jenkinsfile (SCM) | Pipeline defined in repository | Version-controlled pipelines | | Jenkinsfile (Inline) | Pipeline defined in KubeSphere | Quick testing | | Multi-branch | Auto-discovers branches | GitFlow, feature branches |

Common Mistakes

| Mistake | Fix | |---------|-----| | Pipeline fails with "No agent" | Check Jenkins agent configuration | | Cannot access Git repository | Verify credentials and webhook setup | | kubeconfig credentials fail | Use string type instead of kubeconfigContent (v1.2+) | | Jenkins out of memory | Increase Jenkins master resources | | Pipeline hangs

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars17.1k
CategoryAutomation
Updated2mo ago
Forks2.8k

Languages

Go

Trust signals

88/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium