🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install expo/skills/expo-cicd-workflows
💡 提示:需要 Node.js 和 NPM
EAS 工作流技能
帮助开发者编写和编辑 EAS CI/CD 工作流 YAML 文件。
参考文档
在生成或验证工作流文件之前,请获取这些资源。使用此技能 scripts/ 目录中的获取脚本(使用 Node.js 实现);它会使用 ETag 缓存响应以提高效率:
# 获取资源
node {baseDir}/scripts/fetch.js <url>
- JSON 模式 — https://api.expo.dev/v2/workflows/schema
- 必须获取此模式
- 验证的真实来源
- 所有作业类型及其必需/可选参数
- 触发器类型和配置
- 运行器类型、虚拟机镜像以及所有枚举值
- 语法文档 — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx
- 工作流 YAML 语法概述
- 示例和英文说明
- 表达式语法和上下文
- 预打包作业 — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx
- 支持的预打包作业类型的文档
- 特定于作业的参数和输出
不要依赖记忆中的值;这些资源会随着新功能的添加而演变。
工作流文件位置
工作流文件位于 .eas/workflows/*.yml(或 .yaml)。
顶级结构
工作流文件包含以下顶级键:
name— 工作流的显示名称on— 启动工作流的触发器(至少需要一个)jobs— 作业定义(必需)defaults— 所有作业的共享默认设置concurrency— 控制并行工作流运行
有关每个部分的完整规范,请查阅模式。
表达式
使用 ${{ }} 语法表示动态值。模式定义了可用的上下文:
github.*— GitHub 仓库和事件信息inputs.*— 来自workflow_dispatch输入的值needs.*— 来自依赖作业的输出和状态jobs.*— 作业输出(替代语法)steps.*— 自定义作业中的步骤输出workflow.*— 工作流元数据
生成工作流
在生成或编辑工作流时:
- 获取模式以了解当前的作业类型、参数和允许的值
- 验证每种作业类型是否提供了必需字段
- 确认工作流中
needs和after引用的作业确实存在 - 检查表达式是否引用了有效的上下文和输出
- 确保
if条件符合模式的长度限制
验证
在生成或编辑工作流文件后,根据模式进行验证:
# 如果缺少依赖项,请安装
[ -d "{baseDir}/scripts/node_modules" ] || npm install --prefix {baseDir}/scripts
node {baseDir}/scripts/validate.js <工作流.yml> [工作流2.yml ...]
验证器会获取最新的模式并检查 YAML 结构。在认为工作流完成之前,请修复所有报告的错误。
回答问题
当用户询问可用选项(作业类型、触发器、运行器类型等)时,请获取模式并从中推导出答案,而不是依赖可能过时的信息。
📄 原始文档
完整文档(英文):
https://skills.sh/expo/skills/expo-cicd-workflows
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)