Didi’s “Jianmu” Build System: Architecture, Advantages, and Future Enhancements
Didi’s self‑developed “Jianmu” build system replaces Jenkins with a master‑slave architecture that colocates build scripts with source code, offering stable, high‑performance, permission‑controlled builds across multiple OSes via lightweight scheduling, workspace reuse, two‑level caching, Docker image management, and an “Env As Code” approach, while roadmap plans auto‑upgrades, elastic scaling, and further 30% efficiency gains.
Didi’s research efficiency platform includes a build system that enables developers to place build scripts alongside source code, allowing a cloud‑based build service to perform efficient, stable packaging across multiple operating systems, service registration, dependency analysis, and automatic artifact publishing.
The system evolved from using Jenkins to a self‑developed solution. Jenkins offered simplicity, a rich plugin ecosystem, and active community support, but Didi encountered stability (single‑master SPOF), performance (inefficient scheduling and environment setup), and security/usability issues (lack of permission controls and environment drift).
To address these challenges, Didi built its own system called “Jianmu” (named after a mythological bridge). Jianmu serves as a critical link between code and deployment, handling tens of thousands of builds per month.
Advantages of Jianmu:
Stability: Master‑slave architecture eliminates single points of failure and supports dynamic addition/removal of build agents.
Efficiency: Lightweight scheduler, workspace reuse, and two‑level cache dramatically reduce build times; intelligent Docker scheduling reuses existing images and cleans up resources after tasks.
Security & Convenience: Simple client usage, workspace isolation, permission‑controlled debug accounts, and integrated service discovery and security scanning.
The system also supports containerized builds (custom images) and an “Env As Code” mechanism, allowing build environments to be defined and versioned as code.
Performance tests show that Jianmu can more than double build speed, achieving average build times under one minute.
Future roadmap includes seamless auto‑upgrades with elastic scaling, intelligent pre‑allocation of resources (e.g., pre‑pulling Docker images based on task frequency), and further improvements to stability and performance to boost efficiency by another 30%.
Didi Tech
Official Didi technology account
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.