关于 wp-ci-cd-and-release-engineering
面向 WordPress 交付流水线的 CI/CD 与发布审查技能,覆盖构建、打包和部署流程。它关注发布产物、环境与凭据边界、验证步骤及回滚准备。
主要功能
- 01识别流水线与发布入口
- 02检查交付产物边界
- 03审查环境和密钥处理
- 04验证构建与测试流程
- 05检查部署门禁和回滚计划
适用场景
- 01审查 GitHub Actions 工作流
- 02检查插件或主题打包发布
- 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.mdpackaging-and-artifacts.mdwordpress-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)
代码审查工作流
-
识别交付范围
- GitHub Actions/CI 配置文件
- 发布脚本、Shell 辅助工具、Composer/npm 构建命令
- 用于创建插件/主题 ZIP 包的打包步骤
- 部署文档、发布检查清单或 WordPress.org 发布自动化
-
首先检查产物边界
- 哪些确切文件会部署到生产环境或发布到 WordPress.org?
- 部署产物是只构建一次再逐步推广,还是针对每个环境以不同方式重新构建?
- 开发专用文件、测试、源映射、密钥或本地配置是否混入发布产物?
-
审查环境和密钥处理
- 密钥是否仅提供给实际需要它们的作业?
- 生产部署是否受分支/标签/环境保护规则约束?
- 预览/预发布作业是否使用单独的凭据和目标位置?
-
审查验证和可复现性
- 是否在打包或部署前执行 lint/测试/构建步骤?
- 依赖安装是否已充分固定/锁定,以确保发布可复现?
- 是否验证生成的产物,而不是假定代码仓库目录树就等同于已交付的代码?
-
审查回滚和发布操作
- 是否记录了回滚路径?
- 操作人员能否确认当前线上运行的是哪个版本/产物?
- 发布是否具备幂等性,还是在重新运行时可能只完成部分部署?
-
归类问题
- **严重:**生产部署没有保护措施、密钥泄露、产物不匹配、未经审查便直接发布到生产环境,或不可复现的重新构建可能交付与通过 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)
对于每项发现,请包含:
- 严重性:
CRITICAL、WARNING或INFO - 文件和行号
- CI/CD 或发布风险概要
- 该问题为何会影响已发布的构建产物、部署安全或操作人员的信心
- 更安全的模式建议
如果未发现问题,请明确说明,并提及任何尚存的缺口,例如缺少回滚说明、构建产物检查薄弱,或环境晋级规则不明确。
评论
支持 Markdown