UModel DevOps reference implementation for GitLab and Codeup (Alibaba Cloud DevOps).
Ingest developer, repository, release, image, and topology data from your git provider into UModel entities — switch providers by changing one config field.
┌─────────────┐ ┌─────────────┐
│ GitLab │ │ Codeup │
│ (self/SaaS)│ │ (China SaaS)│
└──────┬──────┘ └──────┬──────┘
│ python-gitlab │ alibabacloud SDK
└────────┬───────────┘
│ IGitAdapter
▼
┌──────────────────────┐
│ devops_data_generator│
│ ├─ 15 tasks │
│ ├─ SLS sender │
│ └─ orchestrator │
└──────────┬───────────┘
│ SLS / CMS write
▼
┌──────────────────────┐
│ UModel Explorer │
│ 17 EntitySet │
│ 36 EntitySetLink │
└──────────────────────┘
cp devops_data_generator/config/app_config.gitlab.yaml.sample \
devops_data_generator/config/app_config.yaml
# Edit app_config.yaml — fill in url, access_token, project_id, SLS/ACR/CMS credentials
docker compose up --buildcp devops_data_generator/config/app_config.codeup.yaml.sample \
devops_data_generator/config/app_config.yaml
# Edit app_config.yaml — fill in organization_id, access_key, SLS/ACR/CMS credentials
docker compose up --buildSame container, same command — which provider runs is determined by git_provider.type in app_config.yaml.
17 EntitySets span the full DevOps lifecycle (org → project → code → CI/CD → release → deployment).
Producer-backed entities (git + ACR derived): devops.user, devops.repository, devops.release,
devops.pull_request, devops.artifact, devops.docker_image. The remaining 11
(organization, project, work_item, milestone, pipeline, pipeline_run, helm_chart, binary,
npm_package, unit_testcase, deployment) are schema-only pending their data-source adapters
(Jira/CI/appstack/artifact-registry/org) — see docs/umodel-entity-field-contract.md.
| Domain | EntitySet | Producer-backed |
|---|---|---|
| devops | devops.user |
✓ (git) |
| devops | devops.repository |
✓ (git) |
| devops | devops.release |
✓ (git) |
| devops | devops.pull_request |
✓ (git) |
| devops | devops.artifact |
✓ (derived, ACR) |
| devops | devops.docker_image |
✓ (ACR) |
| devops | + 11 schema-only | pending adapters |
36 EntitySetLinks connect these entities (29 design-doc relations + cross-domain links to
apm.service and k8s.{pod,deployment,daemonset,statefulset}).
Six provider-aware verification skills validate the full pipeline:
verification-resource-readiness— config and credentials checkverification-workspace-alignment— SLS project / logstore alignmentverification-workspace-refresh— run the data ingestion cycleverification-cms-visibility— confirm entities appear in CMSverification-cms-field-check— validate field values per providerverification-cms-sls-diagnose— failure-only diagnostics
Entry points: .claude/skills/<name>/SKILL.md and .codex/skills/<name>/SKILL.md.
python3 umodel_uploader/umodel_batch_uploader.py umodel \
--endpoint metrics.<REGION>.aliyuncs.com \
--workspace <YOUR_WORKSPACE>umodel-devops-reference/
├── umodel/ # 17 EntitySet + 36 EntitySetLink
├── umodel_uploader/ # Batch upload tool
├── devops_data_generator/
│ ├── adapters/{gitlab,codeup}/ # IGitAdapter implementations
│ ├── tasks/ # 15 data ingestion tasks
│ ├── config/ # Sample configs per provider
│ ├── orchestrator.py # Task scheduling + structured results
│ └── scripts/ # Verification + deployment scripts
├── tools/ # gen_umodel_yaml.py (schema generator)
├── .claude/skills/ # 6 Claude verification skills
├── .codex/skills/ # 6 Codex verification skills
├── shared/verification/ # Verification contracts
├── docker-compose.yml # Data generator (provider selected by config)
└── docs/ # Design + deployment + provider guides
- Provider Matrix | 中文
- UModel Design | English Summary
- Deployment Guide | English Summary
- Implementation Guide | English Summary
- Scenario Overview | English Summary
- Verification Skills | English
Internal use.