How Baidu’s Tekes Platform Transforms Mobile Development with DevOps
This article examines Baidu's Tekes platform—its evolution from automated component publishing to a full‑stack mobile DevOps service—detailing its architecture, workflow engine, event‑driven pipeline, and how it boosts development efficiency across hundreds of repositories and product lines.
Overview
Since 2018 Baidu APP has grown rapidly in team size and business scope, creating challenges for development efficiency, component reuse, and app performance. To address these, Baidu built a component‑centric toolchain (MGIT, EasyBox) and later created the Tekes platform to manage components, accelerate builds, and improve the overall mobile development workflow.
Tekes – Baidu Mobile Development Platform
Tekes is a one‑stop service platform for Baidu’s mobile development, providing three core capabilities:
Automated development processes (automatic publishing, admission, SDK onboarding) with constraints to ensure efficiency, reuse, quality, performance, and security.
Component and app degradation prevention, covering reuse capacity, overall quality, startup speed, and binary size.
A global knowledge base (documentation, service accounts, support systems, exam platforms).
Tekes now manages six product lines, over 800 Android/iOS repositories, and more than 1,500 components, triggering over 200 automated pipeline runs daily.
Architecture Evolution
Stage 1 – Automation
Tekes initially acted as a scheduler for component binary publishing and admission. It introduced “Topic Merge” (code combination) to handle simultaneous changes across multiple repositories, triggering a dedicated release pipeline that builds the app, compiles modified components, and publishes binaries. After publishing, Tekes updates the main (shell) project configuration, completing the admission process. This reduced component onboarding time from hours to minutes.
Stage 2 – Platformization
In 2019 Tekes expanded into three axes:
Automation Process Construction : Extending pipelines (packaging, unit tests, size checks, static analysis) and adding constraints (version checks, degradation reviews, size control).
Mobile Component Management Platform : A UI for reusable component data, supporting component/SDK publishing, manual uploads, and enabling product‑line owners to trigger component admission.
Multi‑Product‑Line Output : Integration with the internal APP Center and various product teams to provide automated publishing and degradation control for diverse product lines.
Stage 3 – Mobile DevOps
Starting in 2021 Tekes embraced DevOps principles, visualizing the value stream (requirement → development → test → integration → delivery), identifying manual bottlenecks, and linking them to automated CI/CD pipelines. The backend was refactored into micro‑services with cloud‑native practices to improve scalability and stability.
Tekes DevOps Implementation
Core DevOps Services
Management of release and test workflows with visualized services.
Triggering CI/CD pipelines and handling pipeline notifications.
General workflow service that starts, advances, and stops processes.
Business Process Definition
Business processes are described using a DSL; in practice, diagrams illustrate the flow. Processes are registered with the workflow service, which manages lifecycle and decouples business logic from execution.
CI/CD Service and Event Model
The CI/CD service receives pipeline messages, wraps them as events, filters them, and forwards them to the workflow service. Events are categorized as:
Basic events (Change Event, Merge Event) from code changes.
Extended events (NewCommit, TopicMerge, TekesMerge) handling special cases such as combined merges.
Custom events generated by pipeline tasks (e.g., component checks).
Filter Chain
Events pass through a chain of filters implemented via the responsibility‑chain pattern, providing decoupling, flexibility, and adherence to the open‑closed principle. Example filters for a TopicMerge event include:
TekesIgnoreFilter – decides whether Tekes should handle the event.
TopicMergeValidator – validates that all commits in the topic have been merged.
MatchAppJudge – determines the target product‑line based on the merged repositories.
Workflow Service
The workflow service encapsulates a workflow engine and consists of four modules:
Process Control Service Adapter – abstracts engine operations (deploy, start, stop, advance).
Process Executor – parses events and invokes the adapter to drive processes.
Process Registry – registers business process definitions and resources.
Process Scheduler – monitors running processes and dispatches callbacks.
These modules interact to manage the lifecycle of all registered business processes.
References
MGit open‑source repository: https://github.com/baidu/m-git
Baidu APP iOS engineering practice – EasyBox: https://mp.weixin.qq.com/s/Oa52PvsHw8wS-OvYb3ArZg
Baidu APP componentization journey: https://mp.weixin.qq.com/s/P-vREnrw4xGyhiugpzB-1Q
Gerrit set‑topic documentation: https://gerrit-review.googlesource.com/Documentation/cmd-set-topic.html
Azure DevOps – What is DevOps?: https://docs.microsoft.com/zh-cn/devops/what-is-devops
DevOps Wikipedia entry: https://zh.wikipedia.org/wiki/DevOps
Responsibility Chain pattern: https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern
Workflow technology overview: https://zh.wikipedia.org/wiki/%E5%B7%A5%E4%BD%9C%E6%B5%81%E6%8A%80%E6%9C%AF
Workflow reference model: https://zh.wikipedia.org/wiki/%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%8F%82%E8%80%83%E6%A8%A1%E5%9E%8B
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
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.
