GitHub Actions 工作流生成器
一个未配置持续集成(CI)的新 GitHub 仓库,距离下一次部署失败只差一个 git push。该生成器会为 Node、PHP 或 Laravel 生成初始的 .github/workflows/ci.yml,把代码检出、正确的运行时 action、依赖安装以及标准测试命令连接起来,点亮绿色/红色状态点所需的一切都已齐备。
如何生成工作流
-
1
选择技术栈
Node(使用 `actions/setup-node`)、PHP(使用 `shivammathur/setup-php`)或 Laravel(PHP + `php artisan test`)。
-
2
设置主分支
`main` 为默认值;若您的仓库仍使用 `master` 或自定义名称,请覆盖该设置。
-
3
生成
该工具会生成一个 YAML 文件,其中包含该分支上的 `push` 和 `pull_request` 触发器。
-
4
提交到 .github/workflows/
在 `.github/workflows/ci.yml` 处创建文件并 push,下一次提交时 Actions 选项卡便会亮起。
工作流是什么样子
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
- run: composer install --no-interaction
- run: php artisan test
由生成器固定的操作
| Action | 用途 |
|---|---|
actions/checkout@v4 |
将仓库克隆到 Runner 中 |
actions/setup-node@v4 |
安装 Node 工具链 |
shivammathur/setup-php@v2 |
安装带扩展的 PHP 版本 |
接下来可以添加什么
- 在测试步骤之前加入 Lint 步骤(
npm run lint、./vendor/bin/phpstan analyse)。 - 矩阵构建:使用
strategy.matrix在多个 Node/PHP 版本上运行。 - 覆盖率上传:测试步骤之后运行
codecov-action或coveralls-action。 - 密钥:切勿硬编码令牌,请使用
secrets.XXX并在 Settings → Actions 中进行配置。
常见陷阱
- 忘记获取标签:当发布逻辑需要读取标签时,请在
checkout上加上with: { fetch-depth: 0 }。 - 使用
latestDocker 镜像:固定版本号,以确保数月后的运行结果仍可复现。 - 每次 push 都运行 30 分钟的测试套件:用
needs:拆分耗时较长的任务以实现并行。
常见问题
放在仓库根目录下的 .github/workflows/ci.yml。GitHub 会识别该目录下的所有 YAML 文件,并在 Actions 标签页中将每个文件显示为独立的工作流。
从 fork 发起的拉取请求会执行工作流,但 GITHUB_TOKEN 会设置为只读模式。除非您明确授权,否则外部贡献者无法访问您的密钥。
在setup-php步骤中添加strategy.matrix.php: [8.2, 8.3, 8.4]模块,并引用${{ matrix.php }}。运行器将并行为每个版本生成一个作业。
不。生成的 YAML 仅显示在页面上,不会上传或保存到任何地方,您只需自行复制即可。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
邮箱验证器
验证邮箱地址:RFC 5322 语法检查、实时 MX 记录查询,并显示本地部分、域名和长度详情。不会发送任何邮件。
编辑器配置生成器
根据你的缩进样式与大小、行尾、字符集和空格规则生成 .editorconfig 文件,让不同集成开发环境(IDE)和编辑器的格式保持一致。
证书解码器
粘贴一张 X.509 PEM 证书,并查看解码后的字段:主体、颁发者、序列号、签名算法、有效期及主体备用名称(SAN)。
此工具还提供其他语言版本
- Générateur de Workflow GitHub Actions [FR]
- مولّد سير عمل GitHub Actions [AR]
- GitHub Actions Workflow-generator [SV]
- GitHub-Actions-Workflow-Generator [DE]
- Bộ công cụ tạo luồng công việc cho GitHub Actions [VI]
- เครื่องมือสร้างลำดับขั้นตอนการทำงานสำหรับ GitHub Actions [TH]
- Generador de Flujos de Trabajo de GitHub Actions [ES]
- GitHub Actions ワークフロージェネレーター [JA]
- GitHub Actions 워크플로우 생성기 [KO]
- Generator Alur Kerja untuk GitHub Actions [ID]
- Generator workflow GitHub Actions [PL]
- Gerador de Workflow do GitHub Actions [PT]
- GitHub Actions Werkstroomgenerator [NL]
- GitHub Actions Workflow Generator [EN]
- Generatore di Workflow di GitHub Actions [IT]
- Генератор рабочих процессов для GitHub Actions [RU]
- GitHub Actions İş Akışı Üreteci [TR]