mcpField
W
wp-ci-cd-and-release-engineering

wp-ci-cd-and-release-engineering

github.com/jorgerosal云与 DevOps11160 次安装21 周前更新
代码仓库

关于 wp-ci-cd-and-release-engineering

面向 WordPress 交付流水线的 CI/CD 与发布审查技能,覆盖构建、打包和部署流程。它关注发布产物、环境与凭据边界、验证步骤及回滚准备。

主要功能

  1. 01识别流水线与发布入口
  2. 02检查交付产物边界
  3. 03审查环境和密钥处理
  4. 04验证构建与测试流程
  5. 05检查部署门禁和回滚计划

适用场景

  1. 01审查 GitHub Actions 工作流
  2. 02检查插件或主题打包发布
  3. 03评估 WordPress.org SVN 部署

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jorgerosal/wordpress-skills --skill wp-ci-cd-and-release-engineering

安装后在 Claude Code 中输入/wp-ci-cd-and-release-engineering确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
github-actions-and-gating.md
packaging-and-artifacts.md
wordpress-org-and-rollbacks.md

详细介绍

WordPress CI/CD 与发布工程技能

概述

为 WordPress 交付流水线提供系统化审查指导。**核心原则:**发布应可复现,范围应与实际交付的产物一致,并明确说明在内容触达用户或生产基础设施之前涉及的环境、凭据和验证门槛。

适用场景

适用于:

  • 审查 WordPress 插件、主题或无头项目的 GitHub Actions 或其他 CI/CD 工作流
  • 审计打包/发布脚本和部署作业
  • 检查 WordPress.org SVN 部署流程、产物生成或发布打标签
  • 审查部署、构建步骤或预览环境中的环境密钥处理
  • 规划分阶段推出、回滚或发布前验证工作流

不适用于:

  • 不涉及流水线/发布问题的纯代码级插件架构(使用 wp-plugin-development)
  • 仅涉及静态分析设置的场景(使用 wp-phpstan-review)
  • 以 WP-CLI 为中心的运维运行时维护任务(使用 wp-wpcli-and-ops)
  • 不关注部署流水线的无头缓存/重新验证架构(使用 wp-headless-and-wpgraphql)

代码审查工作流

  1. 识别交付范围

    • GitHub Actions/CI 配置文件
    • 发布脚本、Shell 辅助工具、Composer/npm 构建命令
    • 用于创建插件/主题 ZIP 包的打包步骤
    • 部署文档、发布检查清单或 WordPress.org 发布自动化
  2. 首先检查产物边界

    • 哪些确切文件会部署到生产环境或发布到 WordPress.org?
    • 部署产物是只构建一次再逐步推广,还是针对每个环境以不同方式重新构建?
    • 开发专用文件、测试、源映射、密钥或本地配置是否混入发布产物?
  3. 审查环境和密钥处理

    • 密钥是否仅提供给实际需要它们的作业?
    • 生产部署是否受分支/标签/环境保护规则约束?
    • 预览/预发布作业是否使用单独的凭据和目标位置?
  4. 审查验证和可复现性

    • 是否在打包或部署前执行 lint/测试/构建步骤?
    • 依赖安装是否已充分固定/锁定,以确保发布可复现?
    • 是否验证生成的产物,而不是假定代码仓库目录树就等同于已交付的代码?
  5. 审查回滚和发布操作

    • 是否记录了回滚路径?
    • 操作人员能否确认当前线上运行的是哪个版本/产物?
    • 发布是否具备幂等性,还是在重新运行时可能只完成部分部署?
  6. 归类问题

    • **严重:**生产部署没有保护措施、密钥泄露、产物不匹配、未经审查便直接发布到生产环境,或不可复现的重新构建可能交付与通过 CI 的代码不同的内容
    • **警告:**门槛薄弱、缺少产物验证、标签/版本同步脆弱、没有回滚说明、部署步骤依赖本地环境假设
    • **提示:**可改进缓存、矩阵策略、变更日志自动化或发布可观测性

特定文件类型检查

GitHub Actions/CI 工作流
  • 严重:部署作业在每次向未受保护的分支推送时运行
  • 严重:密钥被回显、写入产物或暴露给不必要的作业
  • 警告:构建/测试/打包/部署被合并为一个不透明的作业
  • 警告:工作流在安全敏感路径中不谨慎地使用浮动版本的工具/操作
  • 提示:可将验证、打包和发布拆分为更清晰的阶段
打包和构建脚本
  • 严重:发布 ZIP 包基于有未提交更改的工作树构建,或包含与已审查提交不同的文件
  • 警告:意外包含 node_modules、测试、屏幕截图或本地配置
  • 警告:CI 验证与发布打包采用不同的 Composer/npm 安装模式,导致产物发生变化
  • 提示:可添加明确的产物检查或校验和报告
WordPress.org / SVN 发布流程
  • 严重:标签和 stable-tag 不一致可能会发布错误版本
  • 警告:部署脚本假设本地 SVN 状态符合预期,或依赖未经验证的手动复制步骤
  • 警告:发布前未验证 readme/版本元数据
  • 信息:可记录将变更推送到 SVN 前的试运行或预检步骤
环境晋级与回滚
  • 严重:暂存环境和生产环境使用相同的凭据或目标,且缺少明确的防护措施
  • 警告:没有回滚脚本/操作手册,或没有保留构建产物
  • 警告:部署后未验证生产环境的健康状态
  • 信息:可在通知/日志中显示发布 ID、git SHA 或构建产物名称

用于快速检测的搜索模式(RELEASE-21)

使用以下 rg 命令快速定位流水线和发布逻辑。

工作流发现
rg -n "name:|on:|jobs:" .github/workflows -g '*.yml'
rg -n "deploy|release|publish|svn|wp.org|artifact|zip" . -g '*.{yml,yaml,sh,js,ts,json,md}'
密钥和环境风险
rg -n "secrets\.|GITHUB_TOKEN|SVN_PASSWORD|SSH_PRIVATE_KEY|rsync|scp|ssh " . -g '*.{yml,yaml,sh,js,ts,md}'
rg -n "environment:|production|staging|preview|workflow_dispatch|tags:" .github/workflows -g '*.yml'
打包和版本管理
rg -n "zip |tar |composer install|npm ci|npm run build|svn cp|svn commit|Stable tag|Version:" . -g '*.{yml,yaml,sh,php,txt,md,json}'
rg -n "readme.txt|plugin.php|style.css|package.json|composer.lock|package-lock.json|pnpm-lock.yaml|yarn.lock" . -g '*'

参考文件

  • references/github-actions-and-gating.md - 工作流结构、部署防护、环境边界和操作规范
  • references/packaging-and-artifacts.md - 插件/主题构建产物设计、构建输出、排除项和验证
  • references/wordpress-org-and-rollbacks.md - WordPress.org SVN 发布模式、稳定标签/版本同步、回滚考量和部署后检查

输出格式(RELEASE-23)

对于每项发现,请包含:

  1. 严重性:CRITICAL、WARNING 或 INFO
  2. 文件和行号
  3. CI/CD 或发布风险概要
  4. 该问题为何会影响已发布的构建产物、部署安全或操作人员的信心
  5. 更安全的模式建议

如果未发现问题,请明确说明,并提及任何尚存的缺口,例如缺少回滚说明、构建产物检查薄弱,或环境晋级规则不明确。

评论

支持 Markdown