如何创建权限适当的 GitHub Actions 工作流。
CI 工作流需要实际触发器、运行环境和测试命令。限制权限,不要向不可信拉取请求代码暴露密钥。
按任务需求调整流程。
根据项目确定触发器、运行环境和测试命令,再只授予这些步骤所需权限。将不可信拉取请求执行与特权发布操作分开,并验证运行器兼容性。
- 你需要提供什么
- 仓库技术栈和 CI 要求。
- 你会得到什么
- 权限范围受限的工作流 YAML 草案。
查看输入和结果。
演示用输入和输出 · 教学示例,并非 WebAct 实时运行结果
示例 个输入项
Create a GitHub Actions workflow for a Node 24 project with committed package-lock.json and npm test. Trigger on push and pull request. No publishing or secrets required.
完整示例
name: Tests
on: [push, pull_request]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 24
package-manager-cache: false
- run: npm ci
- run: npm test
Action major versions follow their official examples at editorial review. Confirm runner compatibility and pin reviewed commit SHAs if required by your repository policy.将这份输入载入提示词,再复制到 WebAct 中尝试任务。实际结果可能与示例不同。
决策与问题排查。
测试工作流应默认获得写权限吗?
测试任务不需要写入时使用只读权限。仅为明确必需的操作增加权限。
为什么工作流在测试命令运行前就失败?
检查锁文件、运行时版本、工作目录及 action 的运行器要求。环境准备失败与测试失败不同。
此工作流程的参考资料。
使用自己的资料试一试。
将任务提示词中的示例换成你的材料。保留所需条件,再把任务复制到 WebAct。
自定义并复制任务 ↑