@umacloud/knowledge 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/00-governance/governance-capabilities.md +557 -0
- package/00-governance/knowledge-map.md +39 -0
- package/00-governance/maintenance-policy.md +76 -0
- package/00-governance/review-checklist.md +81 -0
- package/README.md +13 -0
- package/ai/01-standards/agent-development-complete.md +691 -0
- package/ai/01-standards/llm-application-complete.md +488 -0
- package/ai/01-standards/mlops-complete.md +798 -0
- package/ai/01-standards/prompt-engineering-complete.md +646 -0
- package/ai/01-standards/rag-architecture-complete.md +649 -0
- package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
- package/ai/03-checklists/ai-project-checklist.md +215 -0
- package/ai/04-antipatterns/ai-antipatterns.md +661 -0
- package/ai/05-cases/case-rag-production.md +147 -0
- package/ai/06-glossary/ai-glossary.md +162 -0
- package/ai/agent-evaluation-benchmark.md +53 -0
- package/ai/ai-agent-memory-context-management.md +41 -0
- package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
- package/ai/ai-data-security-and-compliance-playbook.md +37 -0
- package/ai/ai-domain-index-and-checklist.md +40 -0
- package/ai/ai-governance-maturity-model.md +50 -0
- package/ai/ai-model-selection-and-routing-strategy.md +47 -0
- package/ai/ai-observability-and-oncall-runbook.md +52 -0
- package/ai/ai-rag-engineering-playbook.md +42 -0
- package/ai/ai-red-team-and-safety-evaluation.md +42 -0
- package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
- package/ai/llm-agent-engineering-deep-dive.md +57 -0
- package/ai/prompt-and-tool-guardrails.md +52 -0
- package/api/01-standards/enterprise-api-standards.md +198 -0
- package/api/01-standards/rest-api-design-guide.md +63 -0
- package/api/02-playbooks/api-pagination-playbook.md +93 -0
- package/api/02-playbooks/graphql-production-playbook.md +176 -0
- package/api/03-checklists/api-review-checklist.md +55 -0
- package/api/04-antipatterns/api-antipatterns.md +112 -0
- package/architecture/01-standards/api-gateway-patterns.md +496 -0
- package/architecture/01-standards/cloud-native-patterns.md +644 -0
- package/architecture/01-standards/distributed-systems-patterns.md +591 -0
- package/architecture/01-standards/event-driven-architecture.md +595 -0
- package/architecture/01-standards/microservices-patterns-complete.md +968 -0
- package/architecture/01-standards/microservices-patterns.md +495 -0
- package/architecture/01-standards/system-design-interview.md +664 -0
- package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
- package/architecture/02-playbooks/migration-playbook.md +780 -0
- package/architecture/02-playbooks/system-design-playbook.md +779 -0
- package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
- package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
- package/architecture/05-cases/case-netflix-microservices.md +413 -0
- package/architecture/06-glossary/architecture-glossary.md +164 -0
- package/architecture/adr-template-and-examples.md +38 -0
- package/architecture/api-gateway-deep-dive.md +1291 -0
- package/architecture/configuration-management.md +1162 -0
- package/architecture/distributed-transactions.md +1220 -0
- package/architecture/microservices-complete.md +735 -0
- package/architecture/resilience-and-disaster-patterns.md +37 -0
- package/architecture/service-governance.md +1198 -0
- package/architecture/system-architecture-deep-dive.md +37 -0
- package/backend/01-standards/analytics-and-growth.md +65 -0
- package/backend/01-standards/api-and-error-conventions.md +120 -0
- package/backend/01-standards/application-layering-and-packaging.md +160 -0
- package/backend/01-standards/auth-implementation.md +104 -0
- package/backend/01-standards/backend-framework-idioms.md +74 -0
- package/backend/01-standards/background-jobs-and-async.md +66 -0
- package/backend/01-standards/caching-strategies-complete.md +390 -0
- package/backend/01-standards/config-and-observability.md +77 -0
- package/backend/01-standards/data-modeling-and-persistence.md +94 -0
- package/backend/01-standards/django-complete.md +1765 -0
- package/backend/01-standards/email-and-notifications.md +64 -0
- package/backend/01-standards/fastapi-complete.md +925 -0
- package/backend/01-standards/file-upload-and-storage.md +66 -0
- package/backend/01-standards/graphql-api-complete.md +416 -0
- package/backend/01-standards/llm-application-standard.md +78 -0
- package/backend/01-standards/message-queue-patterns.md +379 -0
- package/backend/01-standards/microservices-and-distributed.md +78 -0
- package/backend/01-standards/nestjs-complete.md +2167 -0
- package/backend/01-standards/payment-integration.md +80 -0
- package/backend/01-standards/rate-limiting-complete.md +451 -0
- package/backend/01-standards/realtime-and-websocket.md +65 -0
- package/backend/01-standards/search-and-filtering.md +64 -0
- package/backend/01-standards/spring-boot-complete.md +445 -0
- package/backend/02-playbooks/api-design-playbook.md +718 -0
- package/backend/02-playbooks/email-send-playbook.md +130 -0
- package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
- package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
- package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
- package/backend/03-checklists/api-launch-checklist.md +189 -0
- package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
- package/blockchain/01-standards/blockchain-basics.md +557 -0
- package/blockchain/01-standards/smart-contract-development.md +1315 -0
- package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
- package/cicd/01-standards/github-actions-complete.md +473 -0
- package/cicd/01-standards/release-and-store-submission.md +75 -0
- package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
- package/cicd/02-playbooks/release-management-playbook.md +605 -0
- package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
- package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
- package/cicd/05-cases/case-deployment-automation.md +221 -0
- package/cicd/05-cases/case-gitops-transformation.md +212 -0
- package/cicd/06-glossary/cicd-glossary.md +114 -0
- package/cicd/cicd-blueprint-deep-dive.md +38 -0
- package/cicd/release-readiness-gate.md +37 -0
- package/cloud-native/01-standards/container-security.md +741 -0
- package/cloud-native/01-standards/kubernetes-complete.md +812 -0
- package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
- package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
- package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
- package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
- package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
- package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
- package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
- package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
- package/cloud-native/03-checklists/container-security-checklist.md +431 -0
- package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
- package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
- package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
- package/cloud-native/05-cases/case-k8s-migration.md +478 -0
- package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
- package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
- package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
- package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
- package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
- package/data/01-standards/elasticsearch-complete.md +2098 -0
- package/data/01-standards/postgresql-complete.md +1613 -0
- package/data/01-standards/redis-complete.md +1527 -0
- package/data/02-playbooks/database-optimization-playbook.md +403 -0
- package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
- package/data/03-checklists/database-launch-checklist.md +187 -0
- package/data/04-antipatterns/database-antipatterns.md +873 -0
- package/data/05-cases/case-database-migration.md +310 -0
- package/data/06-glossary/database-glossary.md +440 -0
- package/data/data-governance-and-modeling-deep-dive.md +39 -0
- package/data-engineering/01-standards/airflow-complete.md +523 -0
- package/data-engineering/01-standards/kafka-complete.md +1521 -0
- package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
- package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
- package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
- package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
- package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
- package/database/01-standards/database-schema-standards.md +147 -0
- package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
- package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
- package/database/02-playbooks/postgresql-production-playbook.md +146 -0
- package/database/02-playbooks/redis-caching-playbook.md +117 -0
- package/database/03-checklists/database-review-checklist.md +50 -0
- package/database/04-antipatterns/database-antipatterns.md +112 -0
- package/design/01-standards/ui-design-system-complete.md +423 -0
- package/design/02-playbooks/design-handoff-playbook.md +254 -0
- package/design/02-playbooks/design-review-playbook.md +388 -0
- package/design/03-checklists/design-review-checklist.md +246 -0
- package/design/04-antipatterns/design-antipatterns.md +378 -0
- package/design/05-cases/case-design-system-adoption.md +328 -0
- package/design/06-glossary/design-glossary.md +329 -0
- package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
- package/design/ux-system-deep-dive.md +38 -0
- package/design-systems/00-craft-rules.md +71 -0
- package/design-systems/aesthetic-families.md +43 -0
- package/design-systems/anti-ai-slop.md +162 -0
- package/design-systems/bold-geometric.md +120 -0
- package/design-systems/brutalist-bold.md +103 -0
- package/design-systems/editorial-clean.md +109 -0
- package/design-systems/glass-aurora.md +108 -0
- package/design-systems/modern-minimal.md +145 -0
- package/design-systems/premium-luxury.md +106 -0
- package/design-systems/product-type-design-map.md +48 -0
- package/design-systems/soft-warm.md +123 -0
- package/design-systems/tech-utility.md +113 -0
- package/desktop/01-standards/desktop-app-standard.md +72 -0
- package/desktop/01-standards/desktop-design.md +71 -0
- package/development/00-governance/document-template.md +41 -0
- package/development/01-standards/api-versioning-strategies.md +432 -0
- package/development/01-standards/authentication-patterns-complete.md +479 -0
- package/development/01-standards/css-architecture-complete.md +550 -0
- package/development/01-standards/database-migration-strategies.md +484 -0
- package/development/01-standards/elasticsearch-complete.md +347 -0
- package/development/01-standards/git-complete.md +371 -0
- package/development/01-standards/golang-complete.md +1565 -0
- package/development/01-standards/graphql-complete.md +298 -0
- package/development/01-standards/javascript-bundlers-complete.md +469 -0
- package/development/01-standards/javascript-typescript-complete.md +528 -0
- package/development/01-standards/jest-complete.md +275 -0
- package/development/01-standards/linux-complete.md +234 -0
- package/development/01-standards/logging-observability-complete.md +526 -0
- package/development/01-standards/microservices-communication.md +502 -0
- package/development/01-standards/mongodb-complete.md +406 -0
- package/development/01-standards/oauth2-complete.md +285 -0
- package/development/01-standards/performance-optimization-complete.md +289 -0
- package/development/01-standards/playwright-complete.md +247 -0
- package/development/01-standards/postgresql-complete.md +456 -0
- package/development/01-standards/pytest-complete.md +340 -0
- package/development/01-standards/python-async-programming.md +902 -0
- package/development/01-standards/python-complete.md +956 -0
- package/development/01-standards/python-decorators-complete.md +799 -0
- package/development/01-standards/python-design-patterns.md +2854 -0
- package/development/01-standards/python-packaging-distribution.md +420 -0
- package/development/01-standards/python-testing-strategies.md +607 -0
- package/development/01-standards/python-web-frameworks-comparison.md +471 -0
- package/development/01-standards/redis-complete.md +317 -0
- package/development/01-standards/rest-api-complete.md +316 -0
- package/development/01-standards/rust-complete.md +578 -0
- package/development/01-standards/typescript-advanced-types.md +1513 -0
- package/development/01-standards/web-security-complete.md +292 -0
- package/development/02-playbooks/api-design-playbook.md +810 -0
- package/development/02-playbooks/database-migration-playbook.md +580 -0
- package/development/02-playbooks/debugging-playbook.md +692 -0
- package/development/02-playbooks/feature-delivery-playbook.md +430 -0
- package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
- package/development/02-playbooks/performance-optimization-playbook.md +531 -0
- package/development/02-playbooks/performance-tuning-playbook.md +652 -0
- package/development/02-playbooks/refactor-playbook.md +403 -0
- package/development/02-playbooks/release-playbook.md +469 -0
- package/development/03-checklists/architecture-review-checklist.md +168 -0
- package/development/03-checklists/data-migration-checklist.md +157 -0
- package/development/03-checklists/oncall-handover-checklist.md +173 -0
- package/development/03-checklists/pr-checklist.md +158 -0
- package/development/03-checklists/production-readiness-checklist.md +190 -0
- package/development/03-checklists/release-readiness-checklist.md +154 -0
- package/development/03-checklists/security-review-checklist.md +182 -0
- package/development/04-antipatterns/api-antipatterns.md +657 -0
- package/development/04-antipatterns/architecture-antipatterns.md +686 -0
- package/development/04-antipatterns/backend-antipatterns.md +648 -0
- package/development/04-antipatterns/cicd-antipatterns.md +540 -0
- package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
- package/development/04-antipatterns/data-antipatterns.md +658 -0
- package/development/04-antipatterns/database-antipatterns.md +578 -0
- package/development/04-antipatterns/frontend-antipatterns.md +635 -0
- package/development/04-antipatterns/reliability-antipatterns.md +700 -0
- package/development/04-antipatterns/security-antipatterns.md +747 -0
- package/development/05-cases/case-api-version-migration.md +428 -0
- package/development/05-cases/case-authorization-hardening.md +383 -0
- package/development/05-cases/case-bluegreen-rollback.md +466 -0
- package/development/05-cases/case-cache-snowball-protection.md +485 -0
- package/development/05-cases/case-ci-cd-pipeline.md +544 -0
- package/development/05-cases/case-database-scaling.md +500 -0
- package/development/05-cases/case-db-hotspot-optimization.md +487 -0
- package/development/05-cases/case-incident-mttr-reduction.md +563 -0
- package/development/05-cases/case-microservice-migration.md +375 -0
- package/development/05-cases/case-performance-optimization.md +406 -0
- package/development/05-cases/case-security-incident-response.md +345 -0
- package/development/06-glossary/full-stack-glossary.md +166 -0
- package/development/09-maturity/quarterly-audit-template.md +35 -0
- package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
- package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
- package/development/12-scenarios/development-scenarios-guide.md +565 -0
- package/development/13-implementation-assets/implementation-toolkit.md +282 -0
- package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
- package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
- package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
- package/development/api-contract-and-versioning-guide.md +36 -0
- package/development/api-governance-complete.md +43 -0
- package/development/backend-engineering-complete.md +43 -0
- package/development/code-review-quality-complete.md +43 -0
- package/development/concurrency-reliability-complete.md +43 -0
- package/development/database-engineering-complete.md +43 -0
- package/development/engineering-effectiveness-complete.md +43 -0
- package/development/engineering-standards-deep-dive.md +38 -0
- package/development/frontend-engineering-complete.md +43 -0
- package/development/performance-capacity-complete.md +43 -0
- package/development/refactor-migration-complete.md +42 -0
- package/development/refactoring-and-techdebt-playbook.md +37 -0
- package/development/security-in-development-complete.md +43 -0
- package/devops/01-standards/cicd-pipeline-complete.md +262 -0
- package/devops/01-standards/docker-complete.md +1490 -0
- package/devops/01-standards/github-actions-complete.md +337 -0
- package/devops/01-standards/kubernetes-complete.md +638 -0
- package/devops/01-standards/terraform-complete.md +2117 -0
- package/devops/02-playbooks/docker-compose-playbook.md +233 -0
- package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
- package/devops/02-playbooks/docker-production-playbook.md +952 -0
- package/edge-iot/01-standards/edge-iot-complete.md +473 -0
- package/experts/architect/api-design.md +178 -0
- package/experts/architect/methodology.md +124 -0
- package/experts/architect/security.md +75 -0
- package/experts/backend-lead/methodology.md +216 -0
- package/experts/devops/methodology.md +160 -0
- package/experts/frontend-lead/methodology.md +178 -0
- package/experts/product-manager/industry/ecommerce.md +43 -0
- package/experts/product-manager/industry/saas.md +40 -0
- package/experts/product-manager/methodology.md +97 -0
- package/experts/qa-lead/methodology.md +123 -0
- package/experts/qa-lead/test-strategy.md +128 -0
- package/experts/uiux-designer/methodology.md +125 -0
- package/frontend/01-standards/accessibility-complete.md +532 -0
- package/frontend/01-standards/accessibility-standard.md +74 -0
- package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
- package/frontend/01-standards/design-tokens-complete.md +444 -0
- package/frontend/01-standards/forms-and-validation.md +77 -0
- package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
- package/frontend/01-standards/i18n-and-localization.md +65 -0
- package/frontend/01-standards/nextjs-complete.md +451 -0
- package/frontend/01-standards/react-complete.md +713 -0
- package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
- package/frontend/01-standards/react-hooks-complete.md +1171 -0
- package/frontend/01-standards/seo-and-web-vitals.md +77 -0
- package/frontend/01-standards/state-management-complete.md +444 -0
- package/frontend/01-standards/vue-complete.md +499 -0
- package/frontend/01-standards/vue3-complete.md +2002 -0
- package/frontend/01-standards/web-framework-best-practices.md +64 -0
- package/frontend/01-standards/web-performance-complete.md +495 -0
- package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
- package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
- package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
- package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
- package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
- package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
- package/frontend/03-checklists/component-quality-checklist.md +166 -0
- package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
- package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
- package/frontend/05-cases/case-performance-optimization.md +274 -0
- package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
- package/harmony/01-standards/harmonyos-design.md +65 -0
- package/high-quality-engineering-playbook.md +54 -0
- package/incident/01-standards/incident-response-complete.md +303 -0
- package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
- package/incident/02-playbooks/postmortem-playbook.md +398 -0
- package/incident/03-checklists/incident-readiness-checklist.md +181 -0
- package/incident/04-antipatterns/incident-antipatterns.md +490 -0
- package/incident/05-cases/case-cascade-failure.md +176 -0
- package/incident/06-glossary/incident-glossary.md +114 -0
- package/incident/postmortem-and-response-deep-dive.md +39 -0
- package/industries/ecommerce/ecommerce-complete.md +631 -0
- package/industries/education/education-complete.md +555 -0
- package/industries/fintech/fintech-complete.md +501 -0
- package/industries/gaming/gaming-complete.md +587 -0
- package/industries/healthcare/healthcare-complete.md +452 -0
- package/low-code/01-standards/low-code-complete.md +944 -0
- package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
- package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
- package/miniprogram/01-standards/miniprogram-design.md +61 -0
- package/miniprogram/01-standards/miniprogram-standard.md +81 -0
- package/mobile/01-standards/android-material-design.md +70 -0
- package/mobile/01-standards/flutter-complete.md +384 -0
- package/mobile/01-standards/ios-design-hig.md +78 -0
- package/mobile/01-standards/mobile-app-standard.md +85 -0
- package/mobile/01-standards/react-native-complete.md +352 -0
- package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
- package/mobile/02-playbooks/mobile-performance.md +473 -0
- package/mobile/03-checklists/mobile-release-checklist.md +234 -0
- package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
- package/mobile/05-cases/case-app-performance.md +500 -0
- package/mobile/05-cases/case-app-startup-optimization.md +218 -0
- package/mobile/06-glossary/mobile-glossary.md +484 -0
- package/observability/01-standards/observability-standards.md +103 -0
- package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
- package/observability/02-playbooks/structured-logging-playbook.md +73 -0
- package/observability/03-checklists/observability-checklist.md +54 -0
- package/observability/04-antipatterns/observability-antipatterns.md +106 -0
- package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
- package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
- package/operations/03-checklists/production-launch-checklist.md +365 -0
- package/operations/04-antipatterns/operations-antipatterns.md +664 -0
- package/operations/05-cases/case-sre-practices.md +581 -0
- package/operations/06-glossary/operations-glossary.md +120 -0
- package/operations/aiops-anomaly-detection.md +758 -0
- package/operations/capacity-planning.md +1061 -0
- package/operations/chaos-engineering.md +659 -0
- package/operations/incident-command-system.md +38 -0
- package/operations/observability-complete.md +442 -0
- package/operations/slo-sli-playbook.md +517 -0
- package/operations/sre-operations-deep-dive.md +39 -0
- package/package.json +8 -0
- package/performance/01-standards/performance-and-scalability.md +80 -0
- package/performance/01-standards/performance-standards.md +156 -0
- package/performance/02-playbooks/query-optimization-playbook.md +103 -0
- package/performance/03-checklists/performance-checklist.md +56 -0
- package/performance/04-antipatterns/performance-antipatterns.md +146 -0
- package/product/01-standards/product-management-complete.md +285 -0
- package/product/02-playbooks/feature-launch-playbook.md +207 -0
- package/product/02-playbooks/user-research-playbook.md +532 -0
- package/product/03-checklists/feature-launch-checklist.md +275 -0
- package/product/04-antipatterns/product-antipatterns.md +355 -0
- package/product/05-cases/case-mvp-to-scale.md +384 -0
- package/product/06-glossary/product-glossary.md +462 -0
- package/product/feature-prioritization-framework.md +40 -0
- package/product/kpi-and-metric-tree.md +37 -0
- package/product/product-discovery-and-prd-deep-dive.md +41 -0
- package/quantum/01-standards/quantum-complete.md +1186 -0
- package/security/01-standards/api-security-complete.md +511 -0
- package/security/01-standards/container-runtime-security.md +574 -0
- package/security/01-standards/data-protection-gdpr.md +543 -0
- package/security/01-standards/owasp-top10-complete.md +1890 -0
- package/security/01-standards/secure-coding-baseline.md +90 -0
- package/security/01-standards/supply-chain-security.md +441 -0
- package/security/01-standards/web-security-checklist.md +108 -0
- package/security/01-standards/zero-trust-architecture.md +521 -0
- package/security/02-playbooks/auth-sso-playbook.md +166 -0
- package/security/02-playbooks/incident-response-security-playbook.md +588 -0
- package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
- package/security/02-playbooks/payment-integration-playbook.md +119 -0
- package/security/02-playbooks/penetration-testing-playbook.md +517 -0
- package/security/03-checklists/security-audit-checklist.md +356 -0
- package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
- package/security/05-cases/case-log4shell-incident.md +537 -0
- package/security/05-cases/case-major-breaches.md +468 -0
- package/security/06-glossary/security-glossary.md +212 -0
- package/security/compliance-automation.md +993 -0
- package/security/container-security.md +680 -0
- package/security/devsecops-complete.md +426 -0
- package/security/sast-dast-sca.md +775 -0
- package/security/secrets-management.md +594 -0
- package/security/security-architecture-deep-dive.md +37 -0
- package/security/threat-modeling-stride-playbook.md +40 -0
- package/seed-templates/auth-system.md +59 -0
- package/seed-templates/blog-content.md +94 -0
- package/seed-templates/dashboard.md +89 -0
- package/seed-templates/docs-site.md +73 -0
- package/seed-templates/e-commerce.md +50 -0
- package/seed-templates/saas-landing.md +92 -0
- package/seed-templates/settings-page.md +51 -0
- package/testing/01-standards/test-strategy-and-layering.md +83 -0
- package/testing/01-standards/testing-strategy-complete.md +422 -0
- package/testing/01-standards/unit-testing-best-practices.md +118 -0
- package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
- package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
- package/testing/03-checklists/test-strategy-checklist.md +208 -0
- package/testing/04-antipatterns/testing-antipatterns.md +718 -0
- package/testing/05-cases/case-testing-transformation.md +300 -0
- package/testing/06-glossary/testing-glossary.md +110 -0
- package/testing/risk-based-test-matrix.md +36 -0
- package/testing/testing-strategy-deep-dive.md +37 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: case-deployment-automation
|
|
3
|
+
title: 部署自动化案例:从手动部署到 GitOps 的转型
|
|
4
|
+
domain: cicd
|
|
5
|
+
category: 05-cases
|
|
6
|
+
difficulty: intermediate
|
|
7
|
+
tags: [agent, automation, case, checklist, cicd, deployment, 关键决策回顾, 概述]
|
|
8
|
+
quality_score: 70
|
|
9
|
+
last_updated: 2026-06-15
|
|
10
|
+
---
|
|
11
|
+
# 部署自动化案例:从手动部署到 GitOps 的转型
|
|
12
|
+
|
|
13
|
+
## 概述
|
|
14
|
+
|
|
15
|
+
本案例记录一个 50 人研发团队将部署流程从手动 SSH + 脚本模式迁移到 GitOps 模式的
|
|
16
|
+
完整过程。转型历时 3 个月,部署频率从每周 1 次提升到每天 5-8 次,部署失败率从
|
|
17
|
+
15% 降至 2%,平均部署耗时从 45 分钟降至 8 分钟。
|
|
18
|
+
|
|
19
|
+
## 转型前状态
|
|
20
|
+
|
|
21
|
+
### 部署流程(手动模式)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
1. 开发者在 Slack 通知运维"准备部署"
|
|
25
|
+
2. 运维 SSH 登录服务器(3 台应用服务器)
|
|
26
|
+
3. 手动执行 git pull
|
|
27
|
+
4. 手动执行 npm install && npm run build
|
|
28
|
+
5. 手动重启 PM2 进程
|
|
29
|
+
6. 逐台检查日志确认无报错
|
|
30
|
+
7. 在 Slack 回复"部署完成"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 核心痛点
|
|
34
|
+
|
|
35
|
+
| 问题 | 影响 |
|
|
36
|
+
|------|------|
|
|
37
|
+
| 部署耗时 45min+ | 运维被部署占满,无暇做其他工作 |
|
|
38
|
+
| 环境差异 | "我本地可以跑"频繁发生 |
|
|
39
|
+
| 回滚困难 | 需要手动 git revert + 重新构建 |
|
|
40
|
+
| 无法审计 | 不知道谁在什么时候部署了什么版本 |
|
|
41
|
+
| 部署失败率 15% | 漏装依赖、配置遗漏、顺序错误 |
|
|
42
|
+
| 单点依赖运维 | 运维请假时无人可部署 |
|
|
43
|
+
|
|
44
|
+
## 转型路线图
|
|
45
|
+
|
|
46
|
+
### 第一阶段:容器化(第 1-4 周)
|
|
47
|
+
|
|
48
|
+
**目标**: 消除环境差异,构建标准化部署单元
|
|
49
|
+
|
|
50
|
+
```dockerfile
|
|
51
|
+
# 多阶段构建
|
|
52
|
+
FROM node:18-alpine AS builder
|
|
53
|
+
WORKDIR /app
|
|
54
|
+
COPY package*.json ./
|
|
55
|
+
RUN npm ci --only=production
|
|
56
|
+
COPY . .
|
|
57
|
+
RUN npm run build
|
|
58
|
+
|
|
59
|
+
FROM node:18-alpine
|
|
60
|
+
RUN addgroup -S app && adduser -S app -G app
|
|
61
|
+
WORKDIR /app
|
|
62
|
+
COPY --from=builder /app/dist ./dist
|
|
63
|
+
COPY --from=builder /app/node_modules ./node_modules
|
|
64
|
+
USER app
|
|
65
|
+
EXPOSE 3000
|
|
66
|
+
CMD ["node", "dist/server.js"]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**成果**:
|
|
70
|
+
- 所有 12 个微服务完成 Docker 化
|
|
71
|
+
- 本地开发使用 docker-compose 统一环境
|
|
72
|
+
- 构建产物从"代码+依赖"变为"不可变镜像"
|
|
73
|
+
|
|
74
|
+
### 第二阶段:CI 流水线(第 3-6 周)
|
|
75
|
+
|
|
76
|
+
**目标**: 自动化构建、测试、镜像推送
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
# .github/workflows/ci.yml
|
|
80
|
+
name: CI
|
|
81
|
+
on:
|
|
82
|
+
push:
|
|
83
|
+
branches: [main, develop]
|
|
84
|
+
pull_request:
|
|
85
|
+
branches: [main]
|
|
86
|
+
|
|
87
|
+
jobs:
|
|
88
|
+
test:
|
|
89
|
+
runs-on: ubuntu-latest
|
|
90
|
+
steps:
|
|
91
|
+
- uses: actions/checkout@v4
|
|
92
|
+
- run: npm ci
|
|
93
|
+
- run: npm test
|
|
94
|
+
- run: npm run lint
|
|
95
|
+
|
|
96
|
+
build:
|
|
97
|
+
needs: test
|
|
98
|
+
runs-on: ubuntu-latest
|
|
99
|
+
steps:
|
|
100
|
+
- uses: actions/checkout@v4
|
|
101
|
+
- name: Build and push
|
|
102
|
+
run: |
|
|
103
|
+
docker build -t registry.example.com/app:${{ github.sha }} .
|
|
104
|
+
docker push registry.example.com/app:${{ github.sha }}
|
|
105
|
+
|
|
106
|
+
scan:
|
|
107
|
+
needs: build
|
|
108
|
+
runs-on: ubuntu-latest
|
|
109
|
+
steps:
|
|
110
|
+
- name: Trivy scan
|
|
111
|
+
uses: aquasecurity/trivy-action@master
|
|
112
|
+
with:
|
|
113
|
+
image-ref: registry.example.com/app:${{ github.sha }}
|
|
114
|
+
severity: CRITICAL,HIGH
|
|
115
|
+
exit-code: 1
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**成果**:
|
|
119
|
+
- 每次 PR 自动运行测试 + Lint
|
|
120
|
+
- 合并到 main 自动构建镜像并推送
|
|
121
|
+
- 镜像漏洞扫描集成到流水线
|
|
122
|
+
|
|
123
|
+
### 第三阶段:GitOps 部署(第 5-10 周)
|
|
124
|
+
|
|
125
|
+
**目标**: 声明式部署,Git 仓库作为唯一真实来源
|
|
126
|
+
|
|
127
|
+
**工具选型**: ArgoCD + Kustomize
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
代码仓库(app-repo) 配置仓库(deploy-repo)
|
|
131
|
+
├── src/ ├── base/
|
|
132
|
+
├── Dockerfile │ ├── deployment.yaml
|
|
133
|
+
└── .github/workflows/ │ ├── service.yaml
|
|
134
|
+
└── ci.yml │ └── kustomization.yaml
|
|
135
|
+
├── overlays/
|
|
136
|
+
│ ├── dev/
|
|
137
|
+
│ ├── staging/
|
|
138
|
+
│ └── prod/
|
|
139
|
+
└── argocd/
|
|
140
|
+
└── application.yaml
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**部署流程(GitOps 模式)**:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
1. CI 构建新镜像 → 推送到 Registry
|
|
147
|
+
2. CI 自动更新 deploy-repo 中的镜像 tag
|
|
148
|
+
3. ArgoCD 检测到 deploy-repo 变更
|
|
149
|
+
4. ArgoCD 对比集群当前状态与期望状态
|
|
150
|
+
5. ArgoCD 自动同步(dev/staging)或等待审批(prod)
|
|
151
|
+
6. 健康检查通过后标记部署成功
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 第四阶段:渐进式发布(第 9-12 周)
|
|
155
|
+
|
|
156
|
+
**目标**: 灰度发布,降低部署风险
|
|
157
|
+
|
|
158
|
+
- **Canary 发布**: 新版本先接收 10% 流量,监控 5 分钟无异常后逐步提升
|
|
159
|
+
- **自动回滚**: 错误率 > 1% 或 P99 延迟 > 500ms 自动回滚
|
|
160
|
+
- **Feature Flag**: LaunchDarkly 集成,功能开关与部署解耦
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
# Argo Rollouts canary 策略
|
|
164
|
+
spec:
|
|
165
|
+
strategy:
|
|
166
|
+
canary:
|
|
167
|
+
steps:
|
|
168
|
+
- setWeight: 10
|
|
169
|
+
- pause: { duration: 5m }
|
|
170
|
+
- setWeight: 30
|
|
171
|
+
- pause: { duration: 5m }
|
|
172
|
+
- setWeight: 60
|
|
173
|
+
- pause: { duration: 5m }
|
|
174
|
+
- setWeight: 100
|
|
175
|
+
analysis:
|
|
176
|
+
templates:
|
|
177
|
+
- templateName: error-rate
|
|
178
|
+
startingStep: 1
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 转型效果
|
|
182
|
+
|
|
183
|
+
| 指标 | 转型前 | 转型后 | 提升 |
|
|
184
|
+
|------|--------|--------|------|
|
|
185
|
+
| 部署频率 | 1 次/周 | 5-8 次/天 | 35x-56x |
|
|
186
|
+
| 部署耗时 | 45 分钟 | 8 分钟 | 5.6x |
|
|
187
|
+
| 部署失败率 | 15% | 2% | 7.5x |
|
|
188
|
+
| 回滚耗时 | 30 分钟 | 2 分钟 | 15x |
|
|
189
|
+
| MTTR | 60 分钟 | 12 分钟 | 5x |
|
|
190
|
+
| 运维人力占比 | 40% 时间做部署 | 5% | 8x |
|
|
191
|
+
|
|
192
|
+
## 踩过的坑
|
|
193
|
+
|
|
194
|
+
1. **镜像体积过大**: 初始镜像 1.2GB,多阶段构建后降至 180MB,部署速度提升明显
|
|
195
|
+
2. **配置管理混乱**: 初期把配置硬编码在 Kubernetes YAML 中,后改用 ConfigMap + Sealed Secrets
|
|
196
|
+
3. **ArgoCD 权限过大**: 初期给了 cluster-admin,后收缩到 namespace 级别
|
|
197
|
+
4. **缺少 staging 验证**: 直接从 dev 到 prod 出过事故,补充 staging 环境后稳定
|
|
198
|
+
5. **团队抵触**: 部分开发者不适应 PR 驱动的部署流程,通过结对演示和文档逐步解决
|
|
199
|
+
|
|
200
|
+
## 关键决策回顾
|
|
201
|
+
|
|
202
|
+
| 决策 | 选择 | 理由 |
|
|
203
|
+
|------|------|------|
|
|
204
|
+
| 编排工具 | Kubernetes | 团队已有容器基础,K8s 生态最完善 |
|
|
205
|
+
| GitOps 工具 | ArgoCD | 社区活跃,UI 直观,声明式管理 |
|
|
206
|
+
| 配置管理 | Kustomize | 比 Helm 轻量,适合团队规模 |
|
|
207
|
+
| 密钥管理 | Sealed Secrets | 可存入 Git,运维成本低 |
|
|
208
|
+
| 渐进式发布 | Argo Rollouts | 与 ArgoCD 集成好 |
|
|
209
|
+
|
|
210
|
+
## Agent Checklist
|
|
211
|
+
|
|
212
|
+
- [ ] 应用是否已完成容器化(Dockerfile + 多阶段构建)
|
|
213
|
+
- [ ] CI 流水线是否覆盖测试/构建/扫描
|
|
214
|
+
- [ ] 配置仓库是否与代码仓库分离
|
|
215
|
+
- [ ] GitOps 工具是否配置环境差异化(dev/staging/prod)
|
|
216
|
+
- [ ] 生产部署是否有审批机制
|
|
217
|
+
- [ ] 渐进式发布(Canary/Blue-Green)是否已实施
|
|
218
|
+
- [ ] 自动回滚策略是否基于业务指标
|
|
219
|
+
- [ ] 密钥管理是否使用 Sealed Secrets 或外部 Vault
|
|
220
|
+
- [ ] 部署审计日志是否完整可追溯
|
|
221
|
+
- [ ] 团队是否完成 GitOps 工作流培训
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: case-gitops-transformation
|
|
3
|
+
title: GitOps 转型实战案例
|
|
4
|
+
domain: cicd
|
|
5
|
+
category: 05-cases
|
|
6
|
+
difficulty: intermediate
|
|
7
|
+
tags: [agent, case, checklist, cicd, gitops, transformation, 实施步骤, 技术选型]
|
|
8
|
+
quality_score: 70
|
|
9
|
+
last_updated: 2026-06-15
|
|
10
|
+
---
|
|
11
|
+
# GitOps 转型实战案例
|
|
12
|
+
|
|
13
|
+
## 概述
|
|
14
|
+
|
|
15
|
+
本案例记录一个 50 人研发团队从传统手动部署迁移到 GitOps 全自动化交付的完整过程。历时 3 个月,部署频率从每周 1 次提升到每天 10+ 次,MTTR 从 2 小时降至 8 分钟。
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 背景
|
|
20
|
+
|
|
21
|
+
### 团队现状(转型前)
|
|
22
|
+
- **团队规模**: 50 人,6 个微服务
|
|
23
|
+
- **部署方式**: SSH 登录服务器手动执行脚本
|
|
24
|
+
- **发布频率**: 每周三下午统一发布
|
|
25
|
+
- **部署耗时**: 每次 2-3 小时(含协调时间)
|
|
26
|
+
- **回滚方式**: 手动替换 JAR 包,重启服务
|
|
27
|
+
- **问题**: 周三下午全员待命,频繁出错,回滚慢,无法追溯变更
|
|
28
|
+
|
|
29
|
+
### 目标
|
|
30
|
+
- 每个 PR 合并后自动部署到 staging
|
|
31
|
+
- 生产部署通过 Git tag 触发,全自动
|
|
32
|
+
- 回滚时间 < 5 分钟
|
|
33
|
+
- 完整的变更审计追踪
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 技术选型
|
|
38
|
+
|
|
39
|
+
| 工具 | 用途 | 选型理由 |
|
|
40
|
+
|------|------|----------|
|
|
41
|
+
| **GitHub Actions** | CI Pipeline | 团队已用 GitHub,无需额外工具 |
|
|
42
|
+
| **ArgoCD** | CD (GitOps) | K8s 原生,声明式,自动同步 |
|
|
43
|
+
| **Kubernetes** | 运行时 | 已有 K8s 集群 |
|
|
44
|
+
| **Helm** | 包管理 | 模板化 K8s 配置 |
|
|
45
|
+
| **Kustomize** | 环境差异 | Overlay 方式管理多环境 |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 实施步骤
|
|
50
|
+
|
|
51
|
+
### Phase 1: CI 标准化(第 1-2 周)
|
|
52
|
+
|
|
53
|
+
```yaml
|
|
54
|
+
# .github/workflows/ci.yml
|
|
55
|
+
name: CI
|
|
56
|
+
on:
|
|
57
|
+
push:
|
|
58
|
+
branches: [main]
|
|
59
|
+
pull_request:
|
|
60
|
+
branches: [main]
|
|
61
|
+
|
|
62
|
+
jobs:
|
|
63
|
+
test:
|
|
64
|
+
runs-on: ubuntu-latest
|
|
65
|
+
steps:
|
|
66
|
+
- uses: actions/checkout@v4
|
|
67
|
+
- run: npm ci
|
|
68
|
+
- run: npm run lint
|
|
69
|
+
- run: npm test -- --coverage
|
|
70
|
+
- run: npm run build
|
|
71
|
+
|
|
72
|
+
docker:
|
|
73
|
+
needs: test
|
|
74
|
+
if: github.ref == 'refs/heads/main'
|
|
75
|
+
runs-on: ubuntu-latest
|
|
76
|
+
steps:
|
|
77
|
+
- uses: docker/build-push-action@v5
|
|
78
|
+
with:
|
|
79
|
+
push: true
|
|
80
|
+
tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Phase 2: GitOps 仓库搭建(第 3-4 周)
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
deploy-manifests/ # 独立仓库
|
|
87
|
+
├── base/ # 基础配置
|
|
88
|
+
│ ├── deployment.yaml
|
|
89
|
+
│ ├── service.yaml
|
|
90
|
+
│ └── kustomization.yaml
|
|
91
|
+
├── overlays/
|
|
92
|
+
│ ├── staging/
|
|
93
|
+
│ │ ├── kustomization.yaml
|
|
94
|
+
│ │ └── replicas-patch.yaml
|
|
95
|
+
│ └── production/
|
|
96
|
+
│ ├── kustomization.yaml
|
|
97
|
+
│ ├── replicas-patch.yaml
|
|
98
|
+
│ └── resources-patch.yaml
|
|
99
|
+
└── argocd/
|
|
100
|
+
├── staging-app.yaml
|
|
101
|
+
└── production-app.yaml
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Phase 3: ArgoCD 部署(第 5-6 周)
|
|
105
|
+
|
|
106
|
+
```yaml
|
|
107
|
+
# argocd/production-app.yaml
|
|
108
|
+
apiVersion: argoproj.io/v1alpha1
|
|
109
|
+
kind: Application
|
|
110
|
+
metadata:
|
|
111
|
+
name: myapp-production
|
|
112
|
+
spec:
|
|
113
|
+
project: default
|
|
114
|
+
source:
|
|
115
|
+
repoURL: https://github.com/org/deploy-manifests
|
|
116
|
+
path: overlays/production
|
|
117
|
+
targetRevision: main
|
|
118
|
+
destination:
|
|
119
|
+
server: https://kubernetes.default.svc
|
|
120
|
+
namespace: production
|
|
121
|
+
syncPolicy:
|
|
122
|
+
automated:
|
|
123
|
+
prune: true
|
|
124
|
+
selfHeal: true
|
|
125
|
+
syncOptions:
|
|
126
|
+
- CreateNamespace=true
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Phase 4: 自动化镜像更新(第 7-8 周)
|
|
130
|
+
|
|
131
|
+
CI 构建完成后,自动更新 GitOps 仓库中的镜像标签:
|
|
132
|
+
|
|
133
|
+
```yaml
|
|
134
|
+
# CI workflow 中的最后一步
|
|
135
|
+
- name: Update GitOps repo
|
|
136
|
+
run: |
|
|
137
|
+
git clone https://github.com/org/deploy-manifests
|
|
138
|
+
cd deploy-manifests
|
|
139
|
+
kustomize edit set image myapp=ghcr.io/org/myapp:${{ github.sha }}
|
|
140
|
+
git commit -am "chore: update myapp to ${{ github.sha }}"
|
|
141
|
+
git push
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Phase 5: 金丝雀发布(第 9-12 周)
|
|
145
|
+
|
|
146
|
+
```yaml
|
|
147
|
+
# Argo Rollouts 金丝雀策略
|
|
148
|
+
apiVersion: argoproj.io/v1alpha1
|
|
149
|
+
kind: Rollout
|
|
150
|
+
spec:
|
|
151
|
+
strategy:
|
|
152
|
+
canary:
|
|
153
|
+
steps:
|
|
154
|
+
- setWeight: 10
|
|
155
|
+
- pause: { duration: 5m }
|
|
156
|
+
- setWeight: 30
|
|
157
|
+
- pause: { duration: 5m }
|
|
158
|
+
- setWeight: 60
|
|
159
|
+
- pause: { duration: 5m }
|
|
160
|
+
- setWeight: 100
|
|
161
|
+
canaryMetadata:
|
|
162
|
+
labels:
|
|
163
|
+
role: canary
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 结果数据
|
|
169
|
+
|
|
170
|
+
| 指标 | 转型前 | 转型后 | 改善 |
|
|
171
|
+
|------|--------|--------|------|
|
|
172
|
+
| 部署频率 | 1次/周 | 10+次/天 | **70x** |
|
|
173
|
+
| 部署耗时 | 2-3小时 | 3分钟 | **40x** |
|
|
174
|
+
| 回滚时间 | 30-60分钟 | 3分钟 (git revert) | **15x** |
|
|
175
|
+
| MTTR | 2小时 | 8分钟 | **15x** |
|
|
176
|
+
| 部署失败率 | 15% | 2% | **87%↓** |
|
|
177
|
+
| 变更可追溯性 | 无 | 100% Git 审计 | ✅ |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 经验教训
|
|
182
|
+
|
|
183
|
+
### 做得好的
|
|
184
|
+
1. **先 CI 后 CD** — 没有好的 CI,GitOps 毫无意义
|
|
185
|
+
2. **独立部署仓库** — 应用代码和部署配置分离,权限清晰
|
|
186
|
+
3. **渐进式推进** — staging 先行,production 跟进
|
|
187
|
+
|
|
188
|
+
### 踩过的坑
|
|
189
|
+
1. **Secret 管理** — 初期把 Secret 放在 Git 仓库(错误!),后改用 Sealed Secrets
|
|
190
|
+
2. **ArgoCD 权限** — 初期所有人都有 production sync 权限,后收紧为 RBAC
|
|
191
|
+
3. **镜像标签** — 初期用 `latest` 标签(错误!),后改用 Git SHA
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Agent Checklist
|
|
196
|
+
|
|
197
|
+
Agent 在设计 CI/CD 流程时必须检查:
|
|
198
|
+
|
|
199
|
+
- [ ] CI 是否覆盖 lint/test/build/scan 全流程?
|
|
200
|
+
- [ ] 镜像标签是否使用 Git SHA(非 latest)?
|
|
201
|
+
- [ ] 部署配置是否与应用代码分离?
|
|
202
|
+
- [ ] Secret 是否加密存储(Sealed Secrets/Vault)?
|
|
203
|
+
- [ ] 是否有金丝雀/蓝绿发布策略?
|
|
204
|
+
- [ ] 回滚是否可以通过 git revert 完成?
|
|
205
|
+
- [ ] 是否有变更审计追踪?
|
|
206
|
+
- [ ] 生产部署是否需要审批?
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
**文档版本**: v1.0
|
|
211
|
+
**最后更新**: 2026-03-28
|
|
212
|
+
**质量评分**: 88/100
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: cicd-glossary
|
|
3
|
+
title: CI/CD 术语表 (CI/CD Glossary)
|
|
4
|
+
domain: cicd
|
|
5
|
+
category: 06-glossary
|
|
6
|
+
difficulty: intermediate
|
|
7
|
+
tags: [agent, checklist, cicd, glossary, 分支模型, 构建策略, 流水线基础, 版本管理]
|
|
8
|
+
quality_score: 70
|
|
9
|
+
last_updated: 2026-06-15
|
|
10
|
+
---
|
|
11
|
+
# CI/CD 术语表 (CI/CD Glossary)
|
|
12
|
+
|
|
13
|
+
> 收录 40+ 核心 CI/CD 术语,覆盖流水线基础、构建策略、部署策略、分支模型和版本管理等领域。
|
|
14
|
+
> 适用于 DevOps 评审、Pipeline 设计、团队培训等场景。
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 流水线基础
|
|
19
|
+
|
|
20
|
+
| 术语 | 英文全称 | 定义 |
|
|
21
|
+
|------|---------|------|
|
|
22
|
+
| Pipeline | Pipeline / 流水线 | 将代码从提交到部署的完整自动化流程。由多个 Stage 组成,按顺序或并行执行。Pipeline 的设计质量直接决定团队交付效率和发布可靠性。 |
|
|
23
|
+
| Stage | Stage / 阶段 | Pipeline 中的逻辑分组,如 build、test、deploy。同一 Stage 内的 Job 可并行执行,Stage 之间按顺序执行。典型 Stage 链:lint → build → test → security → deploy。 |
|
|
24
|
+
| Job | Job / 任务 | Pipeline 中最小的可执行单元,在一个 Runner 上运行。每个 Job 包含一组 Step/Script。Job 可以设置依赖关系、条件触发和超时策略。 |
|
|
25
|
+
| Step | Step / 步骤 | Job 内部的单个命令或 Action。Step 按顺序执行,任一 Step 失败会导致 Job 失败(除非标记为 `continue-on-error`)。 |
|
|
26
|
+
| Runner | Runner / 执行器 | 执行 Pipeline Job 的计算环境。可以是 CI 平台提供的云端 Runner,也可以是用户自建的 Self-Hosted Runner。Runner 的性能直接影响构建速度。 |
|
|
27
|
+
| Trigger | Trigger / 触发器 | 启动 Pipeline 的事件源。常见触发器:push、pull_request、schedule(定时)、manual(手动)、API 调用、上游 Pipeline 完成。 |
|
|
28
|
+
| Artifact | Artifact / 制品 | 构建过程产生的输出文件(二进制包、Docker 镜像、测试报告等)。制品可在 Job 之间传递,也可上传到制品仓库供部署使用。 |
|
|
29
|
+
| Cache | Cache / 缓存 | 在 Pipeline 运行之间持久化的文件(如 `node_modules`、`.m2` 目录),用于加速后续构建。与 Artifact 的区别:Cache 用于加速,Artifact 用于传递产出物。 |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 构建策略
|
|
34
|
+
|
|
35
|
+
| 术语 | 英文全称 | 定义 |
|
|
36
|
+
|------|---------|------|
|
|
37
|
+
| Matrix Build | Matrix Build / 矩阵构建 | 使用参数组合自动生成多个 Job 实例的构建策略。例如:`os: [ubuntu, macos]` × `node: [18, 20]` 生成 4 个 Job,确保在多种环境下通过测试。 |
|
|
38
|
+
| Incremental Build | Incremental Build / 增量构建 | 仅编译和测试受代码变更影响的部分,而非全量构建。通过依赖图分析(如 Nx、Turborepo、Bazel)实现,可将构建时间减少 50-90%。 |
|
|
39
|
+
| Reusable Workflow | Reusable Workflow / 可复用工作流 | 可被其他 Pipeline 调用的模板化工作流(GitHub Actions 的 `workflow_call`、GitLab 的 `include`)。避免在多个仓库中重复相同的 CI 配置。 |
|
|
40
|
+
| Composite Action | Composite Action / 组合 Action | GitHub Actions 中将多个 Step 封装为一个可复用 Action 的方式。比 Reusable Workflow 更轻量,适合封装常见的构建/测试/部署片段。 |
|
|
41
|
+
| Self-Hosted Runner | Self-Hosted Runner / 自建执行器 | 用户自行部署和管理的 Pipeline 执行器。优势:可访问内网资源、更大的计算资源、持久化缓存。劣势:需自行维护安全性和可用性。 |
|
|
42
|
+
| Build Cache | Build Cache / 构建缓存 | 存储构建中间产物(编译结果、依赖包)以加速后续构建的技术。包括 Docker Layer Cache、npm/pip 缓存、编译器增量编译缓存等。 |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 部署策略
|
|
47
|
+
|
|
48
|
+
| 术语 | 英文全称 | 定义 |
|
|
49
|
+
|------|---------|------|
|
|
50
|
+
| Blue-Green Deployment | Blue-Green Deployment / 蓝绿部署 | 维护两套完全相同的生产环境(Blue 和 Green),新版本部署到非活跃环境,验证通过后通过流量切换(如负载均衡器)将用户导向新环境。优势:零停机、秒级回滚。劣势:资源成本翻倍。 |
|
|
51
|
+
| Canary Deployment | Canary Deployment / 金丝雀部署 | 先将新版本部署到一小部分实例(如 5%),观察关键指标(错误率、延迟、业务指标)无异常后逐步扩大比例(5% → 25% → 50% → 100%)。比蓝绿部署更节省资源,但实现更复杂。 |
|
|
52
|
+
| Rolling Update | Rolling Update / 滚动更新 | 逐步用新版本实例替换旧版本实例,过程中新旧版本共存。Kubernetes 的默认部署策略。通过 `maxSurge` 和 `maxUnavailable` 参数控制更新速度和可用性。 |
|
|
53
|
+
| A/B Testing Deployment | A/B Testing / A/B 测试部署 | 基于用户特征(地区、设备、用户分群)将流量路由到不同版本,用于验证功能效果。与 Canary 的区别:A/B 是按用户特征分流,Canary 是按比例随机分流。 |
|
|
54
|
+
| Feature Flag | Feature Flag / 功能开关 | 通过配置(非代码部署)控制功能的开启和关闭。允许代码已部署但功能未对用户可见,实现部署与发布解耦。常用平台:LaunchDarkly、Unleash、Flagsmith。 |
|
|
55
|
+
| GitOps | GitOps | 以 Git 仓库为单一可信源管理基础设施和应用部署的实践。变更通过 PR 提交到 Git,自动化工具(ArgoCD、Flux)监听并同步到集群。核心原则:声明式、版本化、自动化、自愈。 |
|
|
56
|
+
| Immutable Deployment | Immutable Deployment / 不可变部署 | 每次部署创建全新的基础设施实例而非原地更新。部署后的实例不可修改,需要变更时创建新实例并销毁旧实例。消除配置漂移和"雪花服务器"问题。 |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 分支模型
|
|
61
|
+
|
|
62
|
+
| 术语 | 英文全称 | 定义 |
|
|
63
|
+
|------|---------|------|
|
|
64
|
+
| Trunk-Based Development | Trunk-Based Development / 主干开发 | 所有开发者直接在 main/trunk 分支提交(或使用极短生命周期的 feature 分支),保持主干始终可发布。要求高质量的自动化测试和 Feature Flag 支持。适合持续部署场景。 |
|
|
65
|
+
| Git Flow | Git Flow | Vincent Driessen 提出的分支模型:`main`(生产)、`develop`(开发主线)、`feature/*`(功能分支)、`release/*`(发布准备)、`hotfix/*`(紧急修复)。适合有固定发布周期的项目,但分支管理复杂度较高。 |
|
|
66
|
+
| GitHub Flow | GitHub Flow | 简化的分支模型:只有 `main` 分支和 feature 分支。开发在 feature 分支进行,通过 PR 合并到 main,合并后立即部署。比 Git Flow 简单,适合持续交付团队。 |
|
|
67
|
+
| Release Branch | Release Branch / 发布分支 | 从主干切出的专用分支,用于发布前的最终测试和 Bug 修复。发布完成后合并回主干并打 Tag。在需要支持多版本并行维护的场景中使用。 |
|
|
68
|
+
| Hotfix Branch | Hotfix Branch / 热修复分支 | 从生产分支直接切出的紧急修复分支,用于快速修复生产事故。修复完成后同时合并到生产分支和开发主线,确保修复不丢失。 |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 版本管理
|
|
73
|
+
|
|
74
|
+
| 术语 | 英文全称 | 定义 |
|
|
75
|
+
|------|---------|------|
|
|
76
|
+
| SemVer | Semantic Versioning / 语义化版本 | 版本号格式:`MAJOR.MINOR.PATCH`。MAJOR = 不兼容的 API 变更,MINOR = 向后兼容的功能新增,PATCH = 向后兼容的 Bug 修复。预发布版本附加 `-alpha.1`、`-beta.2` 等后缀。 |
|
|
77
|
+
| CalVer | Calendar Versioning / 日历版本 | 基于日期的版本号格式,如 `2024.03.15` 或 `24.3`。适合发布周期固定、不需要表达 API 兼容性的项目(如 Ubuntu: 24.04)。 |
|
|
78
|
+
| Changelog | Changelog / 变更日志 | 记录每个版本的变更内容,按版本号倒序排列。遵循 Keep a Changelog 格式:Added / Changed / Deprecated / Removed / Fixed / Security。自动化工具:Conventional Commits + standard-version。 |
|
|
79
|
+
| Tag | Tag / 标签 | Git 中标记特定提交的引用,通常用于标记发布版本(如 `v1.2.3`)。分为轻量标签(仅指针)和注释标签(包含作者、日期、消息)。发布版本应使用注释标签。 |
|
|
80
|
+
| Conventional Commits | Conventional Commits / 约定式提交 | 提交信息格式规范:`type(scope): description`。type 包括 feat、fix、docs、style、refactor、test、chore 等。支持自动生成 Changelog 和版本号。 |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 质量与安全
|
|
85
|
+
|
|
86
|
+
| 术语 | 英文全称 | 定义 |
|
|
87
|
+
|------|---------|------|
|
|
88
|
+
| Quality Gate | Quality Gate / 质量门禁 | Pipeline 中的自动化检查点,代码必须通过指定阈值才能继续。常见门禁:测试覆盖率 ≥ 80%、零 Critical 漏洞、Lint 零错误、代码 Review 至少一人 Approve。 |
|
|
89
|
+
| SAST | Static Application Security Testing | 在不运行程序的情况下分析源代码中的安全漏洞。工具:CodeQL、Semgrep、SonarQube。优势:覆盖面广,开发阶段即可发现。劣势:误报率较高。 |
|
|
90
|
+
| SCA | Software Composition Analysis | 分析项目依赖中的已知漏洞。工具:Snyk、Trivy、Dependabot。检查范围包括直接依赖和传递依赖,对照 CVE 数据库匹配漏洞。 |
|
|
91
|
+
| DAST | Dynamic Application Security Testing | 在运行状态下通过模拟攻击检测应用漏洞。工具:OWASP ZAP、Burp Suite。需要可访问的部署环境,通常在 staging 阶段执行。 |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 运行时与环境
|
|
96
|
+
|
|
97
|
+
| 术语 | 英文全称 | 定义 |
|
|
98
|
+
|------|---------|------|
|
|
99
|
+
| Environment Promotion | Environment Promotion / 环境晋级 | 制品从低环境逐步推进到高环境的过程:dev → staging → production。每次晋级前需通过对应环境的质量门禁。核心原则:同一制品跨环境部署,仅配置不同。 |
|
|
100
|
+
| Infrastructure as Code | IaC / 基础设施即代码 | 用代码(Terraform、Pulumi、CloudFormation)定义和管理基础设施的实践。IaC 确保环境配置可版本化、可审计、可复现。是 CI/CD 中环境一致性的基础保障。 |
|
|
101
|
+
| Container Registry | Container Registry / 容器镜像仓库 | 存储和分发 Docker/OCI 镜像的服务。常用方案:Docker Hub、GitHub Container Registry(ghcr.io)、Harbor(自建)、AWS ECR、Google GCR。CI 构建的镜像推送到 Registry,部署时从 Registry 拉取。 |
|
|
102
|
+
| Deployment Slot | Deployment Slot / 部署槽 | Azure App Service 提供的零停机部署机制。新版本部署到预热槽(Staging Slot),验证通过后与生产槽(Production Slot)交换流量。概念类似蓝绿部署但由平台原生支持。 |
|
|
103
|
+
| Pipeline as Code | Pipeline as Code / 流水线即代码 | 将 CI/CD Pipeline 定义为代码文件(如 `.github/workflows/*.yml`、`Jenkinsfile`、`.gitlab-ci.yml`)并纳入版本控制的实践。确保 Pipeline 变更可审计、可回滚、可测试。 |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Agent Checklist
|
|
108
|
+
|
|
109
|
+
- [ ] 术语覆盖所有要求的关键词:Pipeline/Stage/Job/Runner/Artifact/Cache/Matrix Build/Reusable Workflow/Self-Hosted Runner/Blue-Green/Canary/Rolling Update/Feature Flag/Trunk-Based/Git Flow/SemVer/Changelog
|
|
110
|
+
- [ ] 每个术语包含英文全称和中文定义
|
|
111
|
+
- [ ] 术语按领域分组(流水线基础、构建策略、部署策略、分支模型、版本管理、质量与安全)
|
|
112
|
+
- [ ] 使用统一的表格格式
|
|
113
|
+
- [ ] 定义准确、专业,包含使用场景和工具推荐
|
|
114
|
+
- [ ] 文件超过 100 行
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: cicd-blueprint-deep-dive
|
|
3
|
+
title: cicd-blueprint-deep-dive
|
|
4
|
+
domain: cicd
|
|
5
|
+
category: cicd-blueprint-deep-dive.md
|
|
6
|
+
difficulty: intermediate
|
|
7
|
+
tags: [blueprint, cicd, deep, dive, 环节深度知识库]
|
|
8
|
+
quality_score: 70
|
|
9
|
+
last_updated: 2026-06-15
|
|
10
|
+
---
|
|
11
|
+
# 开发:Excellent(11964948@qq.com)
|
|
12
|
+
|
|
13
|
+
## CI/CD 环节深度知识库
|
|
14
|
+
|
|
15
|
+
### 目标
|
|
16
|
+
- 让每次发布都具备可重复、可审计、可回滚能力。
|
|
17
|
+
|
|
18
|
+
### 流水线蓝图
|
|
19
|
+
- 代码阶段:格式、静态检查、类型检查。
|
|
20
|
+
- 测试阶段:单元、集成、关键链路回归。
|
|
21
|
+
- 安全阶段:依赖漏洞、镜像扫描、配置风险检测。
|
|
22
|
+
- 交付阶段:构建制品、签名验签、版本追踪。
|
|
23
|
+
- 发布阶段:灰度放量、健康检查、自动回滚。
|
|
24
|
+
|
|
25
|
+
### 发布策略
|
|
26
|
+
- 标准发布:小步快跑,单次变更控制。
|
|
27
|
+
- 金丝雀发布:核心指标稳定后再扩容。
|
|
28
|
+
- 蓝绿发布:高风险版本优先采用。
|
|
29
|
+
- 失败回退:明确回滚触发条件与自动化脚本。
|
|
30
|
+
|
|
31
|
+
### 门禁规则
|
|
32
|
+
- 未通过任何关键门禁不得进入发布阶段。
|
|
33
|
+
- 发布后必须自动检查错误率、延迟、关键交易成功率。
|
|
34
|
+
- 失败自动回滚并通知责任人。
|
|
35
|
+
|
|
36
|
+
### 常见失败模式
|
|
37
|
+
- 把 CI 当构建工具,不把 CI 当质量门禁系统。
|
|
38
|
+
- 发布成功但缺少可观测验证步骤。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: release-readiness-gate
|
|
3
|
+
title: release-readiness-gate
|
|
4
|
+
domain: cicd
|
|
5
|
+
category: release-readiness-gate.md
|
|
6
|
+
difficulty: intermediate
|
|
7
|
+
tags: [cicd, gate, readiness, release, 发布就绪门禁清单]
|
|
8
|
+
quality_score: 70
|
|
9
|
+
last_updated: 2026-06-15
|
|
10
|
+
---
|
|
11
|
+
# 开发:Excellent(11964948@qq.com)
|
|
12
|
+
|
|
13
|
+
## 发布就绪门禁清单
|
|
14
|
+
|
|
15
|
+
### 目标
|
|
16
|
+
- 用统一发布门禁阻断高风险变更,保证发布可控。
|
|
17
|
+
|
|
18
|
+
### 必过门禁
|
|
19
|
+
- 代码质量:lint、类型检查、静态分析通过。
|
|
20
|
+
- 测试质量:核心回归通过、阻断缺陷清零。
|
|
21
|
+
- 安全质量:高危漏洞清零,密钥泄露检查通过。
|
|
22
|
+
- 构建质量:制品可追溯、版本标签一致。
|
|
23
|
+
- 运维质量:发布与回滚脚本可执行。
|
|
24
|
+
|
|
25
|
+
### 发布前检查
|
|
26
|
+
- 是否完成变更影响评估与回滚预案。
|
|
27
|
+
- 是否完成灰度策略与阈值配置。
|
|
28
|
+
- 是否完成关键指标基线确认。
|
|
29
|
+
|
|
30
|
+
### 发布后检查
|
|
31
|
+
- 错误率、时延、成功率是否在阈值内。
|
|
32
|
+
- 告警是否异常增加。
|
|
33
|
+
- 关键业务链路是否连续成功。
|
|
34
|
+
|
|
35
|
+
### 常见失败模式
|
|
36
|
+
- 只检查构建成功,不检查运行质量。
|
|
37
|
+
- 门禁定义存在但未强制执行。
|