- Home
- Skills
- Tencentblueking
- Bk Ci
- Supporting Modules Architecture
supporting-modules-architecture_skill
- Kotlin
2.5k
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill tencentblueking/bk-ci --skill supporting-modules-architecture- SKILL.md9.7 KB
Overview
This skill documents the supporting modules architecture for BK-CI, covering Ticket (credentials), Environment (build nodes), Notify (notifications), Log (build logs), Quality (quality gates), and OpenAPI (external APIs). It explains responsibilities, collaboration patterns with core pipeline services, and practical guidance for implementing or integrating these support services. Use this as a concise reference to design, extend, or integrate supporting modules in a CI/CD platform.
How this skill works
The guide describes each support module's responsibilities, key capabilities, and typical interaction flows with core modules like Process, Dispatch, Worker, and Agent. It outlines service boundaries, common data paths (e.g., credential lookup, node discovery, log ingestion, quality checks), and the OpenAPI gateway that exposes capabilities to third-party systems. Diagrams and scenario sequences demonstrate end-to-end behavior during pipeline execution and external integrations.
When to use it
- You need to design or extend credential storage and authorization for pipelines or agents.
- You are integrating or managing build nodes, environment variables, and agent registration.
- You must add or customize notification channels and templates for pipeline events.
- You want to implement centralized build log ingestion, storage, and search.
- You need to enforce quality gates and automatic interception during builds.
- You plan to expose internal CI capabilities to third-party systems via APIs.
Best practices
- Keep support modules loosely coupled and expose clear, versioned APIs to core services.
- Encrypt credentials at rest and record fine-grained usage and access audit logs.
- Design Environment services for autoscaling and health monitoring of node pools.
- Support multiple notification channels with templating and subscription management.
- Store logs in a searchable backend and provide streaming for real-time troubleshooting.
- Implement quality rules as pluggable checks with well-defined pass/fail semantics.
Example use cases
- Pipeline triggers Process which fetches Git credentials from Ticket, then Dispatch and Environment select a build node.
- A third-party system calls OpenAPI to start a pipeline; OpenAPI authenticates and forwards to Process while support modules handle credentials, logs, and notifications.
- A build runs tests and reports metrics to Quality; failing rules stop the pipeline and Notify sends alerts to stakeholders.
- Workers stream build logs to Log for real-time viewing and later search/archival.
- Operations register self-hosted agents in Environment and use Ticket to provision SSH keys securely.
FAQ
Support modules provide single-purpose, loosely coupled services (credentials, environment, notifications, logs, quality, API gateway) that core pipeline modules call during execution rather than participating in orchestration.
Should logs and quality checks be synchronous during pipeline runs?
Stream critical logs synchronously for real-time debugging; perform many quality metric collections asynchronously but enforce redline decisions at defined checkpoints.
How to expose capabilities safely to third parties?
Use the OpenAPI gateway with authenticated routes, rate limiting, and per-app authorization to protect internal services while providing necessary APIs.