{"id":"a27f0ca8-a7c9-4a02-9c68-81def252e72b","shortId":"qGfVNW","kind":"skill","title":"kubesphere-devops-overview","tagline":"Use when working with KubeSphere DevOps extension, CI/CD pipelines, Jenkins integration, or pipeline troubleshooting","description":"# KubeSphere DevOps Overview\n\n## Overview\n\nKubeSphere 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.\n\n## When to Use\n\n- Setting up CI/CD pipelines in KubeSphere\n- Configuring Jenkins integration\n- Managing DevOps projects and pipelines\n- Troubleshooting pipeline execution issues\n- Integrating with GitHub, GitLab, or SVN repositories\n- Configuring SonarQube for code quality\n\n## Core Concepts\n\n### Resource Mapping\n\nKubeSphere DevOps maps resources across three layers:\n\n```\nKubeSphere          Kubernetes                    Jenkins\n─────────────────────────────────────────────────────────────\nWorkspace           Workspace CR                  (authorization)\n└── DevOpsProject   ├── DevOpsProject CR          └── Folder\n    (Namespace)     └── Namespace (with label)\n    └── Pipeline    ├── Pipeline CR               └── WorkflowJob\n        └── Run     ├── PipelineRun CR            └── Build #N\n```\n\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.\n\n**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.\n\n### DevOps Project Naming Convention\n\nDevOps projects have two forms of names:\n\n| Name Type | Example | Source | Usage |\n|-----------|---------|--------|-------|\n| **Shortname** | `devopstest` | `.metadata.generateName` in DevOpsProject CR | Display/user-friendly name |\n| **Fullname** | `devopstestc2nj7` | `.metadata.name` in DevOpsProject CR and Namespace | Actual resource identifier |\n\n**Important:**\n- The **fullname** is the actual Kubernetes namespace name (e.g., `devopstestc2nj7`)\n- When creating a DevOps project with shortname `devopstest`, KubeSphere generates a unique fullname by appending random characters\n- All API operations use the **fullname** (namespace name), not the shortname\n- When a user refers to a project by shortname and multiple projects match, **ask for confirmation** before proceeding\n\n### Workspace Association\n\nDevOpsProjects belong to a Workspace via label:\n\n```yaml\napiVersion: devops.kubesphere.io/v1alpha3\nkind: DevOpsProject\nmetadata:\n  name: my-project\n  labels:\n    kubesphere.io/workspace: demo   # Associates with Workspace 'demo'\n```\n\nTo create and associate:\n\n```bash\n# 1. Create Workspace\nkubectl apply -f - <<EOF\napiVersion: tenant.kubesphere.io/v1beta1\nkind: Workspace\nmetadata:\n  name: demo\nEOF\n\n# 2. Create DevOpsProject with label\nkubectl apply -f - <<EOF\napiVersion: devops.kubesphere.io/v1alpha3\nkind: DevOpsProject\nmetadata:\n  name: my-project\n  labels:\n    kubesphere.io/workspace: demo\nEOF\n```\n\n### Project Components\n\n```\n┌──────────────────────────────────────────────────────────────┐\n│                     DevOps Project                            │\n│  (Namespace with devops.kubesphere.io/managed=true label)    │\n└──────────────────────┬───────────────────────────────────────┘\n                       │\n        ┌──────────────┼──────────────┐\n        │              │              │\n┌───────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐\n│  Pipelines   │ │Credentials│ │   Webhooks  │\n│              │ │           │ │             │\n│ - Graphical  │ │ - SSH     │ │ - GitHub    │\n│ - Jenkinsfile│ │ - Basic   │ │ - GitLab    │\n│ - Multi-branch│ │ - Token  │ │ - Generic   │\n└──────────────┘ └───────────┘ └─────────────┘\n```\n\n## Installation\n\n### Using InstallPlan (Recommended for Production)\n\n**Minimal Installation (Default Config) - RECOMMENDED:**\n\n```yaml\napiVersion: kubesphere.io/v1alpha1\nkind: InstallPlan\nmetadata:\n  name: devops\n  namespace: kubesphere-system\nspec:\n  extension:\n    name: devops\n    version: 1.2.4\n  enabled: true\n  upgradeStrategy: Manual   # Required for production\n  # Note: spec.config is omitted to use extension default values\n```\n\n**When to use minimal installation:**\n- First-time installation to test default configuration\n- Standard deployments without special resource requirements\n- When you want to use the extension's tested defaults\n\n**Custom Configuration (Only When Needed):**\n\n```yaml\napiVersion: kubesphere.io/v1alpha1\nkind: InstallPlan\nmetadata:\n  name: devops\n  namespace: kubesphere-system\nspec:\n  extension:\n    name: devops\n    version: 1.2.4\n  enabled: true\n  upgradeStrategy: Manual   # Required for production\n  # config: leave empty to use default values\n```\n\n**Custom Configuration (Override Defaults):**\n\n```yaml\napiVersion: kubesphere.io/v1alpha1\nkind: InstallPlan\nmetadata:\n  name: devops\n  namespace: kubesphere-system\nspec:\n  extension:\n    name: devops\n    version: 1.2.4\n  enabled: true\n  upgradeStrategy: Manual   # Required for production\n  config: |\n    # Overrides values from DevOps chart's values.yaml\n    agent:\n      jenkins:\n        Master:\n          NodeSelector: {}\n          resources:\n            requests:\n              cpu: \"500m\"\n              memory: \"4Gi\"\n            limits:\n              cpu: \"2000m\"\n              memory: \"8Gi\"\n        Agent:\n          Image: \"jenkins/inbound-agent\"\n          Tag: \"3309.v27b_9314fd1a_4-1-jdk21\"\n          Privileged: false\n```\n\n**Important:**\n- Always use `upgradeStrategy: Manual` for production\n- `config` is optional - omit or leave empty to use extension defaults\n- Config values override the extension's `values.yaml` settings\n- DevOps is a critical infrastructure component - plan upgrades carefully\n\n### Multi-Cluster Installation\n\nTo install DevOps agent on member clusters, add `clusterScheduling`:\n\n```yaml\napiVersion: kubesphere.io/v1alpha1\nkind: InstallPlan\nmetadata:\n  name: devops\n  namespace: kubesphere-system\nspec:\n  extension:\n    name: devops\n    version: 1.2.4\n  enabled: true\n  upgradeStrategy: Manual\n  config: |\n    # Base config for all clusters\n    agent:\n      jenkins:\n        Master:\n          resources:\n            requests:\n              cpu: \"500m\"\n              memory: \"4Gi\"\n  clusterScheduling:\n    placement:\n      clusters:\n        - host      # Install on host cluster\n        - member1   # Install on member1\n        - member2   # Install on member2\n    # Optional: per-cluster overrides\n    overrides:\n      member1: |\n        agent:\n          jenkins:\n            Master:\n              resources:\n                limits:\n                  memory: \"8Gi\"   # Larger master for member1\n      member2: |\n        agent:\n          jenkins:\n            Agent:\n              NodeSelector:\n                zone: west\n```\n\n**Key Points:**\n- `clusterScheduling.placement.clusters`: List clusters where DevOps agent runs\n- `clusterScheduling.overrides`: Cluster-specific config overrides\n- Without `clusterScheduling`, DevOps only runs on the host cluster\n- Overrides merge with base config, override values take precedence\n\n### Using Helm (Alternative)\n\n```bash\nhelm upgrade --install devops kse-extensions/devops \\\n  -n kubesphere-devops-system \\\n  --create-namespace\n```\n\n### Post-Installation Verification\n\nVerify the DevOps installation:\n\n```bash\n# Check DevOps pods\nkubectl get pods -n kubesphere-devops-system\n\n# Check InstallPlan status\nkubectl get installplan devops -n kubesphere-system\n\n# For multi-cluster: check agent status on each cluster\nkubectl get installplan devops -n kubesphere-system -o jsonpath='{.status.clusterSchedulingStatuses}'\n```\n\n## Architecture\n\n| Component | Purpose | Namespace |\n|-----------|---------|-----------|\n| devops-jenkins | Jenkins master | kubesphere-devops-system |\n| devops-apiserver | DevOps API service | kubesphere-devops-system |\n| devops-controller | Resource controllers | kubesphere-devops-system |\n| devops-argocd-* | ArgoCD (GitOps) | argocd |\n| Jenkins Agent | Pipeline executors | Dynamic (per pipeline) |\n|-----------|---------|-----------|\n| devops-jenkins | Jenkins master | kubesphere-devops-system |\n| devops-apiserver | DevOps API service | kubesphere-devops-system |\n| devops-controller | Resource controllers | kubesphere-devops-system |\n| Jenkins Agent | Pipeline executors | Dynamic (per pipeline) |\n### Jenkins Integration\n\nKubeSphere DevOps integrates with Jenkins for CI/CD execution. The secret `devops-jenkins` contains the admin token for direct Jenkins access:\n\n```bash\n# Get Jenkins admin token\nTOKEN=$(kubectl -n kubesphere-devops-system get secret devops-jenkins -o jsonpath='{.data.jenkins-admin-token}' | base64 -d)\n\n# Access Jenkins API\nkubectl run curl-jenkins --rm -i --restart=Never --image=curlimages/curl \\\n  -- \"http://admin:${TOKEN}@devops-jenkins.kubesphere-devops-system:80/api/json\"\n```\n\n**Jenkins NodePort:**\n```bash\nkubectl get svc devops-jenkins -n kubesphere-devops-system\n# Default: 30180\n```\n\n**Access Jenkins Console:**\n- URL: `http://<node-ip>:30180`\n- Username: `admin`\n- Password: Get from secret above\n\n### ArgoCD Integration\n\nKubeSphere DevOps includes **ArgoCD v2.11.7** for GitOps continuous deployment:\n\n**ArgoCD Components:**\n| Component | Purpose |\n|-----------|---------|\n| application-controller | Manages Application state |\n| applicationset-controller | Manages ApplicationSet resources |\n| dex-server | SSO authentication |\n| notifications-controller | Event notifications |\n| repo-server | Repository operations |\n| argocd-server | API/UI server |\n| redis | Cache layer |\n\n**Access ArgoCD:**\n```bash\n# Get ArgoCD server URL\nkubectl get svc devops-agent-argocd-server -n argocd\n\n# Get admin password\nkubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d\n```\n\n**Key Features:**\n- Declarative GitOps deployment\n- Multi-source application support\n- Automated sync policies\n- SSO integration via Dex\n- Notification webhooks\n\n## Key Resources\n## Key Resources\n\n| Resource | API Version | Purpose |\n|----------|-------------|---------|\n| Pipeline | devops.kubesphere.io/v1alpha3 | CI/CD pipeline definition |\n| DevOpsProject | devops.kubesphere.io/v1alpha3 | DevOps project (namespace wrapper) |\n| Credential | v1/Secret | Repository and deployment credentials |\n\n## Quick Commands\n\n```bash\n# List DevOps projects\nkubectl get devopsprojects\n\n# List pipelines in a project\nkubectl get pipelines -n <devops-project-namespace>\n\n# Get pipeline runs\nkubectl get pipelineruns -n <devops-project-namespace>\n\n# Check Jenkins status\nkubectl -n kubesphere-devops-system get pods -l app=devops-jenkins\n\n# View Jenkins logs\nkubectl -n kubesphere-devops-system logs -l app=devops-jenkins\n\n# Get Jenkins admin password\nkubectl -n kubesphere-devops-system get secret devops-jenkins -o jsonpath='{.data.jenkins-admin-password}' | base64 -d\n```\n\n## Pipeline Types\n\n| Type | Description | Use Case |\n|------|-------------|----------|\n| **Graphical** | Visual pipeline editor | Simple pipelines, no code |\n| **Jenkinsfile (SCM)** | Pipeline defined in repository | Version-controlled pipelines |\n| **Jenkinsfile (Inline)** | Pipeline defined in KubeSphere | Quick testing |\n| **Multi-branch** | Auto-discovers branches | GitFlow, feature branches |\n\n## Common Mistakes\n\n| Mistake | Fix |\n|---------|-----|\n| Pipeline fails with \"No agent\" | Check Jenkins agent configuration |\n| Cannot access Git repository | Verify credentials and webhook setup |\n| kubeconfig credentials fail | Use `string` type instead of `kubeconfigContent` (v1.2+) |\n| Jenkins out of memory | Increase Jenkins master resources |\n| Pipeline hangs | Check agent pod status and resource limits |\n\n## Version Compatibility\n\n| DevOps | Jenkins | Notes |\n|--------|---------|-------|\n| v1.2.x | 2.504.1 LTS | kubernetes-cd plugin removed |\n| v1.1.x | 2.346.3 LTS | Legacy kubeconfigContent supported |\n\n## References\n\n- [DevOps Documentation](https://docs.kubesphere.io/v4.1/11-use-extensions/02-devops/)\n- [Pipeline Syntax](https://www.jenkins.io/doc/book/pipeline/syntax/)\n- [Extension README](/root/go/src/github.com/kubesphere/kse-extensions/devops/README.md)","tags":["kubesphere","devops","overview","agent-skills","cloud-native","cncf","ebpf","hacktoberfest","kubernetes","llm","multi-cluster","multi-tenancy"],"capabilities":["skill","source-kubesphere","skill-kubesphere-devops-overview","topic-agent-skills","topic-cloud-native","topic-cncf","topic-devops","topic-ebpf","topic-hacktoberfest","topic-kubernetes","topic-kubesphere","topic-llm","topic-multi-cluster","topic-multi-tenancy","topic-observability"],"categories":["kubesphere"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/kubesphere/kubesphere/kubesphere-devops-overview","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add kubesphere/kubesphere","source_repo":"https://github.com/kubesphere/kubesphere","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 16934 github stars · SKILL.md body (12,339 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:39.179Z","embedding":null,"createdAt":"2026-04-18T21:53:14.486Z","updatedAt":"2026-05-18T18:52:39.179Z","lastSeenAt":"2026-05-18T18:52:39.179Z","tsv":"'-1':570 '/apis/devops.kubesphere.io/v1alpha3/devopsprojects':187 '/devops':746 '/doc/book/pipeline/syntax/)':1316 '/kapis/devops.kubesphere.io/v1alpha3/workspaces':174 '/managed=true':144,377 '/namespaces':176 '/root/go/src/github.com/kubesphere/kse-extensions/devops/readme.md':1319 '/v1alpha1':408,478,516,626 '/v1alpha3':304,355,1099,1106 '/v1beta1':336 '/v4.1/11-use-extensions/02-devops/)':1311 '/workspace:':315,366 '1':326 '1.2.4':423,493,531,641 '2':343 '2.346.3':1301 '2.504.1':1293 '2000m':559 '30180':971,976 '3309':566 '4':569 '403':196 '4gi':556,660 '500m':554,658 '80/api/json':955 '8gi':561,690 '9314fd1a':568 'access':158,180,909,935,972,1034,1252 'across':48,101 'actual':231,239 'add':620 'admin':904,913,931,949,978,1052,1062,1175,1192 'admin-password':1191 'admin-token':930 'agent':547,562,616,652,684,696,698,709,791,846,881,1046,1246,1249,1281 'altern':737 'alway':575 'api':263,824,865,937,1093 'api/ui':1029 'apiserv':822,863 'apivers':301,333,352,405,475,513,623 'app':1154,1169 'append':259 'appli':330,349 'applic':1000,1003,1077 'application-control':999 'applicationset':1006,1009 'applicationset-control':1005 'architectur':807 'argocd':54,841,842,844,984,989,995,1027,1035,1038,1047,1050,1056,1060 'argocd-initial-admin-secret':1059 'argocd-serv':1026 'ask':286 'associ':292,317,324 'authent':1015 'author':110 'auto':1232 'auto-discov':1231 'autom':43,1079 'base':39,647,729 'base64':933,1067,1194 'bash':325,738,763,910,958,1036,1119 'basic':386 'belong':294 'branch':390,1230,1234,1237 'build':44,126 'cach':1032 'cannot':1251 'capabl':27 'care':608 'case':1201 'cd':1297 'charact':261 'chart':544 'check':764,775,790,1142,1247,1280 'ci/cd':12,26,65,895,1100 'cluster':51,191,611,619,651,663,668,680,706,713,725,789,795 'cluster-scop':190 'cluster-specif':712 'clusterschedul':621,661,718 'clusterscheduling.overrides':711 'clusterscheduling.placement.clusters':704 'code':91,1209 'command':1118 'common':1238 'compat':1288 'compon':370,605,808,996,997 'concept':94,129 'config':402,501,539,581,592,646,648,715,730 'configur':69,88,452,470,509,1250 'confirm':288 'consol':974 'contain':902 'continu':58,993 'control':832,834,873,875,1001,1007,1018,1218 'convent':202 'core':93 'cpu':553,558,657 'cr':109,113,121,125,148,220,228 'creat':246,322,327,344,753 'create-namespac':752 'credenti':380,1111,1116,1256,1261 'critic':603 'crs':168 'curl':941 'curl-jenkin':940 'curlimages/curl':948 'custom':469,508 'd':934,1068,1195 'data.jenkins':929,1190 'data.password':1066 'declar':1071 'default':401,438,451,468,506,511,591,970 'defin':1213,1223 'definit':1102 'demo':316,320,341,367 'deploy':47,59,454,994,1073,1115 'descript':1199 'devop':3,10,20,24,73,98,131,159,181,199,203,248,371,413,421,483,491,521,529,543,600,615,631,639,708,719,742,750,761,765,773,781,799,812,818,821,823,828,831,837,840,853,859,862,864,869,872,878,890,900,920,925,953,963,968,987,1045,1107,1121,1149,1156,1165,1171,1181,1186,1289,1307 'devops-agent-argocd-serv':1044 'devops-apiserv':820,861 'devops-argocd':839 'devops-control':830,871 'devops-jenkin':811,852,899,924,962,1155,1170,1185 'devops-jenkins.kubesphere':951 'devops-system':952 'devops.kubesphere.io':143,303,354,376,1098,1105 'devops.kubesphere.io/managed=true':142,375 'devops.kubesphere.io/v1alpha3':302,353,1097,1104 'devopsproject':111,112,147,167,219,227,293,306,345,357,1103,1125 'devopstest':216,252 'devopstestc2nj7':224,244 'dex':1012,1085 'dex-serv':1011 'direct':169,907 'discov':1233 'display/user-friendly':221 'docs.kubesphere.io':1310 'docs.kubesphere.io/v4.1/11-use-extensions/02-devops/)':1309 'document':1308 'dynam':849,884 'e.g':243 'edit':35 'editor':1205 'empti':503,587 'enabl':42,424,494,532,642 'endpoint':177,188 'environ':52 'eof':332,342,351,368 'event':1019 'exampl':212 'execut':79,896 'executor':848,883 'exist':149 'extens':11,419,437,465,489,527,590,596,637,745,1317 'f':331,350 'fail':1243,1262 'fals':573 'featur':1070,1236 'first':446 'first-tim':445 'fix':1241 'folder':114 'form':207 'fullnam':223,236,257,267 'fundament':136 'generat':254 'generic':392 'get':768,779,797,911,922,960,980,1037,1042,1051,1057,1124,1132,1135,1139,1151,1173,1183 'git':1253 'gitflow':1235 'github':83,384 'gitlab':84,387 'gitop':57,843,992,1072 'graphic':33,382,1202 'hang':1279 'helm':736,739 'host':664,667,724 'identifi':233 'imag':563,947 'import':234,574 'includ':988 'increas':1274 'infrastructur':604 'initi':1061 'inlin':1221 'instal':393,400,444,448,612,614,665,670,674,741,757,762 'installplan':395,410,480,518,628,776,780,798 'instead':1266 'integr':15,30,55,71,81,888,891,985,1083 'interact':162 'issu':80 'jdk21':571 'jenkin':14,29,70,106,548,653,685,697,813,814,845,854,855,880,887,893,901,908,912,926,936,942,956,964,973,1143,1157,1159,1172,1174,1187,1248,1270,1275,1290 'jenkins/inbound-agent':564 'jenkinsfil':38,385,1210,1220 'jenkinsfile-bas':37 'jsonpath':805,928,1065,1189 'key':128,702,1069,1088,1090 'kind':305,337,356,409,479,517,627 'kse':744 'kse-extens':743 'kubeconfig':1260 'kubeconfigcont':1268,1304 'kubectl':329,348,767,778,796,916,938,959,1041,1054,1123,1131,1138,1145,1161,1177 'kubernet':105,138,240,1296 'kubernetes-cd':1295 'kubespher':2,9,19,23,68,97,104,134,253,416,486,524,634,749,772,784,802,817,827,836,858,868,877,889,919,967,986,1148,1164,1180,1225 'kubesphere-devops-overview':1 'kubesphere-devops-system':748,771,816,826,835,857,867,876,918,966,1147,1163,1179 'kubesphere-system':415,485,523,633,783,801 'kubesphere.io':314,365,407,477,515,625 'kubesphere.io/v1alpha1':406,476,514,624 'kubesphere.io/workspace:':313,364 'l':1153,1168 'label':118,145,299,312,347,363,378 'larger':691 'layer':103,1033 'leav':502,586 'legaci':1303 'limit':557,688,1286 'list':179,705,1120,1126 'log':1160,1167 'lts':1294,1302 'manag':72,1002,1008 'manual':427,497,535,578,645 'map':96,99 'master':549,654,686,692,815,856,1276 'match':285 'member':618 'member1':669,672,683,694 'member2':673,676,695 'memori':555,560,659,689,1273 'merg':727 'metadata':307,339,358,411,481,519,629 'metadata.generatename':217 'metadata.name':225 'minim':399,443 'mistak':1239,1240 'multi':50,389,610,788,1075,1229 'multi-branch':388,1228 'multi-clust':49,609,787 'multi-sourc':1074 'multipl':283 'my-project':309,360 'n':127,747,770,782,800,917,965,1049,1055,1134,1141,1146,1162,1178 'name':201,209,210,222,242,269,308,340,359,412,420,482,490,520,528,630,638 'namespac':115,116,139,164,184,230,241,268,373,414,484,522,632,754,810,1109 'need':473 'never':946 'nodeport':957 'nodeselector':550,699 'note':431,1291 'notif':1017,1020,1086 'notifications-control':1016 'o':804,927,1064,1188 'omit':434,584 'oper':264,1025 'option':583,677 'overrid':510,540,594,681,682,716,726,731 'overview':4,21,22 'password':979,1053,1176,1193 'per':679,850,885 'per-clust':678 'permiss':193 'pipelin':13,17,34,40,66,76,78,119,120,379,847,851,882,886,1096,1101,1127,1133,1136,1196,1204,1207,1212,1219,1222,1242,1278,1312 'pipelinerun':124,1140 'placement':662 'plan':606 'plugin':1298 'pod':766,769,1152,1282 'point':703 'polici':1081 'post':756 'post-instal':755 'preced':734 'privileg':572 'proceed':290 'product':398,430,500,538,580 'project':74,132,160,182,200,204,249,279,284,311,362,369,372,1108,1122,1130 'provid':25 'purpos':809,998,1095 'qualiti':92 'queri':156 'quick':1117,1226 'random':260 'readm':1318 'recommend':396,403 'redi':1031 'refer':276,1306 'remov':1299 'repo':1022 'repo-serv':1021 'repositori':87,1024,1113,1215,1254 'request':552,656 'requir':189,428,458,498,536 'resourc':95,100,153,185,232,457,551,655,687,833,874,1010,1089,1091,1092,1277,1285 'restart':945 'return':183,195 'rm':943 'run':123,710,721,939,1137 'scm':1211 'scope':192 'secret':898,923,982,1058,1063,1184 'server':1013,1023,1028,1030,1039,1048 'servic':825,866 'set':63,599 'setup':1259 'shortnam':215,251,272,281 'simpl':1206 'skill' 'skill-kubesphere-devops-overview' 'sonarqub':89 'sourc':213,1076 'source-kubesphere' 'spec':418,488,526,636 'spec.config':432 'special':456 'specif':714 'ssh':383 'sso':1014,1082 'standard':453 'state':1004 'status':777,792,1144,1283 'status.clusterschedulingstatuses':806 'string':1264 'support':31,1078,1305 'svc':961,1043 'svn':86 'sync':1080 'syntax':1313 'system':417,487,525,635,751,774,785,803,819,829,838,860,870,879,921,954,969,1150,1166,1182 'tag':565 'take':733 'tenant':171,198 'tenant.kubesphere.io':335 'tenant.kubesphere.io/v1beta1':334 'test':45,450,467,1227 'three':102 'time':447 'token':391,905,914,915,932,950 'topic-agent-skills' 'topic-cloud-native' 'topic-cncf' 'topic-devops' 'topic-ebpf' 'topic-hacktoberfest' 'topic-kubernetes' 'topic-kubesphere' 'topic-llm' 'topic-multi-cluster' 'topic-multi-tenancy' 'topic-observability' 'troubleshoot':18,77 'true':425,495,533,643 'two':206 'type':211,1197,1198,1265 'uniqu':256 'upgrad':607,740 'upgradestrategi':426,496,534,577,644 'url':975,1040 'usag':214 'use':5,62,172,265,394,436,442,463,505,576,589,735,1200,1263 'user':275 'usernam':977 'v1.1.x':1300 'v1.2':1269 'v1.2.x':1292 'v1/secret':1112 'v2.11.7':990 'v27b':567 'valu':439,507,541,593,732 'values.yaml':546,598 'verif':758 'verifi':759,1255 'version':422,492,530,640,1094,1217,1287 'version-control':1216 'via':298,1084 'view':1158 'visual':1203 'want':461 'webhook':381,1087,1258 'west':701 'without':455,717 'work':7 'workflowjob':122 'workspac':107,108,175,291,297,319,328,338 'wrapper':152,1110 'www.jenkins.io':1315 'www.jenkins.io/doc/book/pipeline/syntax/)':1314 'yaml':300,404,474,512,622 'zone':700","prices":[{"id":"b68659db-2b4e-4194-b2dc-64367094f498","listingId":"a27f0ca8-a7c9-4a02-9c68-81def252e72b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"kubesphere","category":"kubesphere","install_from":"skills.sh"},"createdAt":"2026-04-18T21:53:14.486Z"}],"sources":[{"listingId":"a27f0ca8-a7c9-4a02-9c68-81def252e72b","source":"github","sourceId":"kubesphere/kubesphere/kubesphere-devops-overview","sourceUrl":"https://github.com/kubesphere/kubesphere/tree/master/skills/kubesphere-devops-overview","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:14.486Z","lastSeenAt":"2026-05-18T18:52:39.179Z"}],"details":{"listingId":"a27f0ca8-a7c9-4a02-9c68-81def252e72b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"kubesphere","slug":"kubesphere-devops-overview","github":{"repo":"kubesphere/kubesphere","stars":16934,"topics":["agent-skills","ai","cloud-native","cncf","devops","ebpf","hacktoberfest","kubernetes","kubesphere","llm","multi-cluster","multi-tenancy","observability","servicemesh","skills","skills-sh","skillsmp"],"license":"other","html_url":"https://github.com/kubesphere/kubesphere","pushed_at":"2026-05-06T07:16:53Z","description":"The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️","skill_md_sha":"a5b4fcfb48924b69e16ed37ac000c0ba5c8d66ea","skill_md_path":"skills/kubesphere-devops-overview/SKILL.md","default_branch":"master","skill_tree_url":"https://github.com/kubesphere/kubesphere/tree/master/skills/kubesphere-devops-overview"},"layout":"multi","source":"github","category":"kubesphere","frontmatter":{"name":"kubesphere-devops-overview","description":"Use when working with KubeSphere DevOps extension, CI/CD pipelines, Jenkins integration, or pipeline troubleshooting"},"skills_sh_url":"https://skills.sh/kubesphere/kubesphere/kubesphere-devops-overview"},"updatedAt":"2026-05-18T18:52:39.179Z"}}