来源快照|CI/CD与DevSecOps

本页是原图的只读导入快照,不是已核验文档。原有历史命令、版本标记与疑点保留;已识别口令替换为占位符。图片只保留引用。

  • CI/CD与DevSecOps ^xm-1149fab5e3bd47e8bd2d2be15b
    • ◆ 2026 深度扩展|CI/CD 与 DevSecOps

      • Git 分支、评审与制品追溯 ^xm-1b789547427c4f89936d29eb63
        • 🎯 目标 ^xm-38b79c29a36d43d38151f8b922
          • 让每个生产制品可追溯到代码、评审、依赖和构建。
        • 🧠 知识拆解 ^xm-e4311f82d222493fb0d2e07557
          • trunk-based vs GitFlow
          • protected branch
          • CODEOWNERS
          • semantic version
          • changelog
          • artifact immutability
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-2a886aee408b44ed8d54a48f8e
          • signed commit/tag
          • PR checks
          • release/tag
          • SBOM/provenance
        • 🔥 高频故障与风险 ^xm-5e5d00456b77432691f6134f3b
          • 直接推生产分支
          • 同 tag 覆盖
          • 构建不可重现
          • 制品与 commit 不匹配
        • 🔎 排障路径 ^xm-da2319458f124ef5beb72f4371
          • 从部署反查 image digest
          • 核对 build metadata
          • 检查依赖锁与 runner
        • 🧪 实战练习 ^xm-2bcb6992d5d14e1c98c45268d6
          • 建立保护规则与 release pipeline
          • 从线上 Pod 追到 commit
        • ✅ 验收标准 ^xm-fb85d83b8e1446efb690e22c33
          • 使用 digest 部署
          • 制品不可变
          • 审批和测试证据完整
      • CI Pipeline 设计 ^xm-04b112276db94edb81cf5f6233
        • 🎯 目标 ^xm-85cf23a207704bc096285d68f1
          • 构建快速、稳定、安全且可维护的持续集成。
        • 🧠 知识拆解 ^xm-b3662a1e010c4675bb976095c8
          • stage/job/runner/agent
          • cache vs artifact
          • parallelism
          • test pyramid
          • secret isolation
          • reusable pipeline
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-a6a9f4ae04384261ace3051fc9
          • Jenkinsfile/GitHub Actions/GitLab CI
          • shared library
          • matrix
          • timeout/retry
          • artifact retention
        • 🔥 高频故障与风险 ^xm-14a87e124b014099acee26fe11
          • flaky tests
          • 缓存污染
          • runner 权限过大
          • 流水线过慢
          • secret 泄露
        • 🔎 排障路径 ^xm-e8e56e6e54654b4891ca58d474
          • 按阶段分解时间
          • 重跑与隔离 flaky
          • 检查 cache key
          • 审计凭据访问
        • 🧪 实战练习 ^xm-4813eb3a18a5476892b154dc7d
          • 15 分钟内完成 build/test/scan
          • 弹性隔离 runner
        • ✅ 验收标准 ^xm-6e6a7c1442f0416d92cae3a41f
          • 失败可定位
          • 最小权限 token
          • 关键测试阻止合并
        • 🔗 对应优秀开源项目 ^xm-3c52d821be0940dd95f37b5713
          • jenkinsci/jenkins

            备注(源图文本,未作运行验证):

            定位:通用自动化与 CI 服务器
            源码阅读:queue→executor→agent→pipeline
            实战:共享库、凭据隔离、弹性 Agent
            注意:控制插件数量并维护升级/备份策略
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/jenkinsci/jenkins
      • 制品、镜像、SBOM 与供应链 ^xm-578ae2bd12ca4737b97d4a339c
        • 🎯 目标 ^xm-980335b8aea74971843d4807f6
          • 保护从源码到镜像再到部署的完整供应链。
        • 🧠 知识拆解 ^xm-4e9f899ec77e4fd0b2820e91fc
          • artifact repository
          • image layers/tag/digest
          • SBOM
          • SLSA/provenance
          • signature/attestation
          • dependency pinning
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-af4fb384204d468bbfd690cd78
          • docker/buildkit
          • syft/SPDX/CycloneDX
          • trivy
          • cosign sign/verify
          • registry retention
        • 🔥 高频故障与风险 ^xm-75f90dff710d4245bf14fe11a7
          • 基础镜像过期
          • tag 漂移
          • 依赖投毒
          • 签名未验证
          • 私库容量爆满
        • 🔎 排障路径 ^xm-50ba5bea75bb4261a25112323b
          • 从 digest 展开 SBOM
          • 核对 provenance/identity
          • 扫描漏洞与 secret
          • 验证准入记录
        • 🧪 实战练习 ^xm-faa052085d134d2788eacdecf9
          • 多阶段构建最小镜像
          • 签名+准入验证
        • ✅ 验收标准 ^xm-8d8aabf98cfb403a8ad76705fc
          • 生产只允许可信来源
          • SBOM 可查询
          • 漏洞例外有期限
        • 🔗 对应优秀开源项目 ^xm-a0523b2470d04fab80afac44da
          • aquasecurity/trivy

            备注(源图文本,未作运行验证):

            定位:镜像、仓库、IaC、K8s、SBOM 扫描
            源码阅读:target→analyzer→DB→report/policy
            实战:CI 中扫描并上传 SARIF
            注意:处理误报、例外期限和修复责任人
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/aquasecurity/trivy
          • sigstore/cosign

            备注(源图文本,未作运行验证):

            定位:制品签名与供应链验证
            源码阅读:keyless identity→sign→transparency→verify
            实战:签名镜像并在准入阶段验证
            注意:签名证明来源,不自动证明制品安全
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/sigstore/cosign
      • 部署策略与数据库变更 ^xm-8e62164fa5f44e0197343d0558
        • 🎯 目标 ^xm-4b03f3b62bb64c4baf0b02ca53
          • 在应用与数据兼容约束下安全发布。
        • 🧠 知识拆解 ^xm-974a2241f6ca457db5c561f202
          • rolling/blue-green/canary
          • feature flag
          • expand-migrate-contract
          • backward/forward compatibility
          • shadow traffic
          • rollback vs roll-forward
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-954dc5a6e436404b81e7d7cdcc
          • deployment strategy
          • traffic split
          • migration job
          • readiness gate
          • automated analysis
        • 🔥 高频故障与风险 ^xm-ea6b140be5624a4abae787c603
          • 新旧版本不兼容
          • 不可逆 schema
          • 回滚后读不了新数据
          • 金丝雀样本不足
        • 🔎 排障路径 ^xm-56c812397d5740fc8bb3012a50
          • 应用/DB/消息 schema 分开核对
          • 比较 cohort 指标
          • 检查数据迁移进度
        • 🧪 实战练习 ^xm-6a253735db93442c87cb5e7e05
          • 双版本兼容发布
          • 可回滚数据库迁移
        • ✅ 验收标准 ^xm-e7723980db66404e80329ed493
          • 回滚触发明确
          • 数据变更有备份/校验
          • 金丝雀覆盖关键用户路径
      • GitOps ^xm-431ee4159f2042ce8e7c086b20
        • 🎯 目标 ^xm-cd7211b7a024495d8bffb4d90f
          • 以 Git 为期望状态,持续发现并修复集群漂移。
        • 🧠 知识拆解 ^xm-02ff41486837421cb9ed127962
          • pull reconciliation
          • desired/live state
          • sync/health
          • multi-env repo
          • secret encryption
          • progressive delivery
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-16aa2c5d7c0642108d8d6b7b9b
          • argocd app diff/sync/history/rollback
          • flux reconcile/get
          • Kustomize/Helm source
          • SOPS
        • 🔥 高频故障与风险 ^xm-88aae4985baa4e93acda958ee5
          • OutOfSync 风暴
          • 手工热修复被回滚
          • CRD 顺序
          • repo 凭据/租户越权
        • 🔎 排障路径 ^xm-74d44f859338471fa9f527b3d8
          • Git revision→render→diff→controller events
          • 检查 health/sync waves
          • 核对 ignoreDifferences
        • 🧪 实战练习 ^xm-0118c72f1e2c4801839dc758e2
          • Argo CD 多环境
          • Flux image automation
        • ✅ 验收标准 ^xm-de2be523c87348f0ac9c26d33c
          • 集群手工变更可发现
          • secret 不明文
          • 紧急变更能回写 Git
        • 🔗 对应优秀开源项目 ^xm-49019a2452434c06b855c1f424
          • argoproj/argo-cd

            备注(源图文本,未作运行验证):

            定位:声明式 Kubernetes 持续交付
            源码阅读:repo-server→application-controller→diff/sync
            实战:实现多环境、sync wave、回滚
            注意:自动同步前先治理 secret 和变更审批
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/argoproj/argo-cd
          • fluxcd/flux2

            备注(源图文本,未作运行验证):

            定位:可组合 GitOps Toolkit
            源码阅读:Source→Kustomize/Helm Controller→Notification
            实战:Git/OCI source、镜像自动更新与 SOPS
            注意:多租户时明确 source 与 namespace 权限
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/fluxcd/flux2
      • Policy as Code 与 DevSecOps 门禁 ^xm-d0b7d68c145341da907ecf6de0
        • 🎯 目标 ^xm-904fd189eb97424b9843ac3d93
          • 把组织安全和合规要求变成可测试策略。
        • 🧠 知识拆解 ^xm-2ffbe17c77f14cebbd2975ca61
          • shift-left 与 runtime
          • admission control
          • audit/enforce
          • exception lifecycle
          • policy tests
          • false positive governance
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-9491b61968864288a6c233ddc7
          • Trivy config/image/k8s
          • Kyverno test/report
          • Gatekeeper constraints
          • SARIF
          • CI quality gate
        • 🔥 高频故障与风险 ^xm-1b8b101e4521457ea7651f8403
          • 门禁一刀切
          • 大量永久 ignore
          • 策略拖慢 API
          • 规则无人维护
        • 🔎 排障路径 ^xm-597aef4dd05a41e8a1df449ed6
          • 先 audit 命中分布
          • 验证规则覆盖与误报
          • 测 admission latency
          • 追踪例外 owner
        • 🧪 实战练习 ^xm-b31287e8a8084fcf9ea857b4a4
          • 禁止 latest/privileged
          • 扫描 IaC 与镜像并形成修复闭环
        • ✅ 验收标准 ^xm-7a4379b7fcde40a1ac432363e9
          • 策略代码有测试
          • 例外有到期时间
          • 阻断规则有业务批准
        • 🔗 对应优秀开源项目 ^xm-1132c4c0266a46ce943e938505
          • aquasecurity/trivy

            备注(源图文本,未作运行验证):

            定位:镜像、仓库、IaC、K8s、SBOM 扫描
            源码阅读:target→analyzer→DB→report/policy
            实战:CI 中扫描并上传 SARIF
            注意:处理误报、例外期限和修复责任人
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/aquasecurity/trivy
          • kyverno/kyverno

            备注(源图文本,未作运行验证):

            定位:Kubernetes Policy as Code
            源码阅读:policy→admission/background→report
            实战:强制镜像来源、资源限制与标签
            注意:先 audit 后 enforce,避免阻断生产
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/kyverno/kyverno
          • open-policy-agent/gatekeeper

            备注(源图文本,未作运行验证):

            定位:OPA 驱动的 K8s 准入治理
            源码阅读:ConstraintTemplate→Constraint→admission
            实战:编写并测试一条组织策略
            注意:策略性能与例外治理同样重要
            整理日期:2026-07-09
            • 原链接(未复核):https://github.com/open-policy-agent/gatekeeper
      • 平台工程与开发者自服务 ^xm-eb8dfc4e61c5478eb99847f9eb
        • 🎯 目标 ^xm-726a1f40b6984bdcbe2c71ce3f
          • 把重复运维能力产品化为安全的 golden path。
        • 🧠 知识拆解 ^xm-791abb4c393241c18472b147a7
          • internal developer platform
          • service template
          • self-service API
          • scorecard
          • paved road
          • platform as product
        • ⌨️ 命令 / 配置 / 关键对象 ^xm-5ba3b458b19546e692f252513f
          • catalog/template
          • workflow/API
          • policy/guardrail
          • telemetry by default
          • cost ownership
        • 🔥 高频故障与风险 ^xm-5d2379e051bd410492c922d55f
          • 平台成为工单门户
          • 抽象泄漏
          • 强制标准阻碍团队
          • 无人衡量开发者体验
        • 🔎 排障路径 ^xm-8fc1083bab274a37bb4851f1fb
          • 访谈用户旅程
          • 测量 lead time/失败率
          • 区分平台与底层工具问题
        • 🧪 实战练习 ^xm-11bcc031554542b799d4bc43f9
          • 一键创建带 CI/监控/Runbook 的服务
          • 建立服务成熟度 scorecard
        • ✅ 验收标准 ^xm-e2cdce47bcbc499b8345e35c85
          • 自服务无需平台人工介入
          • 默认安全可观测
          • 采用率与满意度可衡量
    • ★ [新增] 现代交付流水线

      • 持续集成 ^xm-240e9ccf449d490f97a92bd87b
        • 构建与单元测试
        • 依赖缓存
        • 并行与矩阵任务
        • 质量门禁
        • 可复现构建
      • 制品治理 ^xm-b0d868bfce104d3c838df4bebf
        • 镜像/包仓库
        • 版本策略
        • 制品晋级
        • 保留策略
        • 不可变制品
      • 发布策略 ^xm-17249295524347718a5cc8f676
        • 滚动发布
        • 蓝绿发布
        • 金丝雀发布
        • 灰度与特性开关
        • 自动/人工回滚
      • GitOps ^xm-6e47de19fd82434f919be363b5
        • 声明式期望状态
        • Argo CD/Flux
        • 环境分层
        • 漂移检测
        • 回滚与审计
      • DevSecOps ^xm-b124d7a39528460294073857ce
        • SAST/DAST/SCA
        • Secret 扫描
        • SBOM
        • 镜像签名与验证
        • 策略即代码
    • jenkins

      • 安装部署

        • docker部署 ^xm-047cg7pkvdk39ji8cnh7m29ggs
          • docker run -it -p 18080:8080 -v /data/jenkins:/var/jenkins_home(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            docker run -it -p 18080:8080 -v /data/jenkins:/var/jenkins_home ccr.ccs.tencentyun.com/devopsvip/jenkins:2.415-jdk11
        • 二进制部署
        • yaml部署
      • 安装Jenkins所需插件

      • ⚑ [纠错] Pipeline 流水线

        备注(源图文本,未作运行验证):

        原节点名称:pipline流水线。已统一为标准拼写。
        • 声明式pipline(官方推荐) ^xm-10vo9fquet2nn645ijtua9n3r8
          • jenkinsfile.txt ^xm-6b1te718jbla70j270l7c345ke
            • 原链接(未复核):xap:resources/c242a509307d6f3f51684cd0ecc9c5f9b34952273fab1608a391931d8fa14dd6.txt
          • jenkinsfile2.txt ^xm-2iofb1mcng32jm7s5ccul80b0a
            • 原链接(未复核):xap:resources/524148815dafafec6390dc4fc7d44c1ad932c82467245e4de61f5370264e2fa9.txt
          • https://www.jenkins.io/doc/book/pipeline/syntax/#declarative-pipeline ^xm-0tc7muosphv8nuj4hrgnniqf53
            • 原链接(未复核):https://www.jenkins.io/doc/book/pipeline/syntax/#declarative-pipeline
        • 脚本式pipline ^xm-42ouu4ecfjr99e4t922960igea
          • node { timestamps { ansiColor(“xterm”) { stage(“Build”) { timeou(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            node {
                timestamps {
                    ansiColor("xterm") {
                        stage("Build") {
                            timeout(time: 1, unit: "MINUTES") {
                                sh 'printf "\\e[31mSome code compilation here...\\e[0m\\n"'
                            }
                        }
                        if (env.FOO == "bar") {
                            stage("Test") {
                                timeout(time: 2, unit: "MINUTES") {
                                    sh 'printf "\\e[31mSome tests execution here...\\e[0m\\n"'
                                }
                            }
                        }
                    }
                }
            }
          • node { stage(‘Example’) { if (env.BRANCH_NAME == ‘master’) { ech(详见备注)

            备注(源图文本,未作运行验证):

            原节点完整内容:
            node {
                stage('Example') {
                    if (env.BRANCH_NAME == 'master') {
                        echo 'I only execute on the master branch'
                    } else {
                        echo 'I execute elsewhere'
                    }
                }
            }
          • https://www.jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline

            • 原链接(未复核):https://www.jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline
        • 共享库 ^xm-4jk18ng04cjqd9142ff1k9pdlk
          • 原有图示(16622829)

            备注(源图文本,未作运行验证):

            原节点未设置标题,为避免清理空节点时丢失图片,已补充占位标题。
            图片来源:https://cdn.nlark.com/yuque/0/2022/png/2584012/1662282986619-ec2d8e5c-0467-43a9-83c9-8e9671b8f678.png
            • 图片引用(本次未导出图片字节):https://cdn.nlark.com/yuque/0/2022/png/2584012/1662282986619-ec2d8e5c-0467-43a9-83c9-8e9671b8f678.png

            • 库结构: ● src: 类似于java的源码目录,执行流水线时会加载到class路径中(详见备注)

              备注(源图文本,未作运行验证):

              原节点完整内容:
              库结构:
              ● src: 类似于java的源码目录,执行流水线时会加载到class路径中。
              ● vars:  存放全局变量脚本,小的功能函数。
              ● resources: 存放资源文件,类似于配置信息文件。
          • 在Jenkins中使用Groovy语法,共享库中存储的每个文件都是一个groovy的类,每个文件(类)中包含一个或多个方法。每个方法包含groovy语句块。

          • 共享库的使用

            • Jenkinsfile_sharelib.txt ^xm-4s9gp47mqd36kftbr4h3qjsle5
              • 原链接(未复核):xap:resources/5be1d817acb749fbe15e9501e79cc2bfd0dbc04beb34740d2718a39e75a3ce8c.txt

              • 原有图示(17172128)

                备注(源图文本,未作运行验证):

                原节点未设置标题,为避免清理空节点时丢失图片,已补充占位标题。
                图片来源:https://cdn.nlark.com/yuque/0/2024/png/2584012/1717212882953-21ea8335-c4fa-4ba2-b169-9b5ab1950b65.png
                • 图片引用(本次未导出图片字节):https://cdn.nlark.com/yuque/0/2024/png/2584012/1717212882953-21ea8335-c4fa-4ba2-b169-9b5ab1950b65.png
              • 原有图示(16622829)

                备注(源图文本,未作运行验证):

                原节点未设置标题,为避免清理空节点时丢失图片,已补充占位标题。
                图片来源:https://cdn.nlark.com/yuque/0/2022/png/2584012/1662282986645-4fe1471d-4417-45b3-8591-55c237806c2c.png
                • 图片引用(本次未导出图片字节):https://cdn.nlark.com/yuque/0/2022/png/2584012/1662282986645-4fe1471d-4417-45b3-8591-55c237806c2c.png
              • 原有图示(17172129)

                备注(源图文本,未作运行验证):

                原节点未设置标题,为避免清理空节点时丢失图片,已补充占位标题。
                图片来源:https://cdn.nlark.com/yuque/0/2024/png/2584012/1717212962771-005a6f59-d559-4b15-a20b-68ebb7ec2547.png
                • 图片引用(本次未导出图片字节):https://cdn.nlark.com/yuque/0/2024/png/2584012/1717212962771-005a6f59-d559-4b15-a20b-68ebb7ec2547.png
            • https://www.yuque.com/devopsgroup/vu6t5s/nu57x4bx4tyh139b ^xm-6r43k81j40qnb80huahlvo5p9r
              • 原链接(未复核):https://www.yuque.com/devopsgroup/vu6t5s/nu57x4bx4tyh139b
      • 按项目需求Dockerfile-私有化自定义镜像

      • 用户权限范围

      • groovy语法

    • gitee/gitlab

      • 安装部署 ^xm-2obucrvgp6kkpg80a3t7lftp65
        • docker部署
        • 容器部署
      • 代码合并管理 ^xm-3v9k8acd109cjugoa1naj2b4qu
        • gitflow分支模型(常用)
        • 发布分支模型
        • 蓝绿发布模型
      • gitlab-runner
      • webhook配置
      • 用户管理
    • maven/npm/pypi

    • sonarqube

    • docker/docker-compose

    • harbor

    • ⚑ [纠错] Kubernetes

      备注(源图文本,未作运行验证):

      原节点名称:kubenetes。已统一为标准拼写。
      • argocd