Jenkins Shared Platform

2026-07-13T01:57:50.394Z

《Jenkins Shared Platform》页面正文配图 — STARBUCKET BLOG

Overview

The enterprise Jenkins Shared Platform (Phase 1) serves 10+ R&D teams with a unified Controller + multi-Agent pool CI/CD stack deployed on VMs. Build, image, and release responsibilities are split across dedicated execution nodes and centrally scheduled by the Jenkins Controller—avoiding resource contention and environment pollution from a single overloaded node.

  • Stable, reusable pipeline environments (Java / Docker / Qt / Deploy)
  • Webhook integration with Git platforms for automatic Push / Merge / Tag triggers
  • End-to-end delivery via Nexus, Harbor, and Test/Production environments

1. User Access Layer

Component Role
R&D Teams (10+) Developers access Jenkins via browser
Browser / Client View pipelines, manual triggers, approvals
Nginx Reverse Proxy HTTPS, SSL certificates, internal domain

2. Code Source & Triggers

Component Role
Git Platforms GitLab, Codeup, and other Git repos (branches, MR, tags)
Webhook Triggers Push, Merge, Tag events callback to Jenkins

Webhook requests enter Jenkins through Nginx; the Controller parses events and matches the corresponding Job / Pipeline. Each team configures webhooks in its own repository—no per-project Jenkins deployment required.

3. Jenkins Core Layer

The Jenkins Controller is the platform control plane—responsible for scheduling and governance, not actual build execution.

Core capabilities

  • User & permission management (isolated by team / project)
  • Credential management (Git, Harbor, deploy keys, etc.)
  • Pipeline definition & versioning
  • Job scheduling & queue
  • Plugin management & audit logging

4. Agent Resource Pool

1. Linux Java Agent Pool — linux-java

  • Purpose: Java / Maven / Gradle / JDK compile, unit tests, artifact packaging
  • Notes: On-demand scaling; carries most backend and middleware build load

2. Docker Build Agent Pool — docker-build

  • Purpose: Docker / BuildKit image builds
  • Notes: Isolated from Java agents to avoid Docker daemon and build cache polluting compile environments

3. Windows Qt Agent Pool — windows-qt

  • Purpose: Qt / MSVC native builds, installers, code signing
  • Notes: For PC Qt desktop apps; retains Windows native toolchain

4. Deploy Agent Pool — deploy

  • Purpose: Test / production releases, ops scripts
  • Notes: Separate permissions; deploy operations isolated from build environments

5. Supporting Infrastructure

Facility Role
Nexus Private Repository Maven / npm / generic artifacts; dependency cache & internal packages
Harbor Image Registry Docker image registry for build outputs
Code Repository GitLab, Codeup, etc.
Environments Test and Production as Deploy Agent targets

Build stages pull dependencies from Nexus; image stages push to Harbor; deploy stages publish artifacts to target environments—forming a closed loop.

6. Typical Pipeline Flow

Stage Executor Description
1. Pull Code Any Agent Fetch branch or tag from Git
2. Compile / Test / Package linux-java Compile, unit test, package JAR/WAR artifacts
3. Build Image docker-build Build image from Dockerfile
4. Push Image → Harbor docker-build Push image with version tag
5. Deploy to Test deploy Release to test env; smoke / integration checks
6. Deploy to Production deploy Production release after approval (optional manual gate)

Summary

The Jenkins shared platform is built around light Controller + specialized Agent pools + standard pipelines, covering the full DevOps path from code commit to Test/Production release. Teams focus on Pipeline definitions and business scripts; scheduling, environment isolation, and artifact flow are handled by the platform—laying the groundwork for cloud-native and multi-platform builds.

  1. Control vs. execution separation: zero executors on Controller for better stability and maintainability
  2. Environment isolation: Java, Docker, Windows, and Deploy pools stay independent
  3. Label-based routing: declarative Agent labels in Pipelines; teams need not manage underlying machines
  4. Unified entry: Nginx + internal domain + shared credentials reduce per-team CI overhead
  5. Extensibility: K8s dynamic agents and Mac pools reserved for elastic scaling and mobile scenarios