hi-folks / ghygen
Laravel框架的骨架应用程序。
Requires
- php: ^8.2
- composer/semver: ^3.4
- danharrin/livewire-rate-limiting: ^1.3
- hi-folks/lara-lens: ^1.0
- laravel/framework: ^11.0
- laravel/tinker: ^2.9
- livewire/livewire: ^3.4
- swaggest/json-schema: ^0.12.42
- symfony/yaml: ^7.0
Requires (Dev)
- fakerphp/faker: ^1.23
- larastan/larastan: ^2.0
- laravel/pint: ^1.14
- laravel/sail: ^1.26
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-laravel: ^2.3
- pestphp/pest-plugin-livewire: ^2.1
- spatie/laravel-ignition: ^2.4
This package is auto-updated.
Last update: 2024-09-25 22:53:22 UTC
README
Ghygen
Ghygen 是一个用于您的 PHP / Laravel 项目的 GitHub Actions 配置器。
Ghygen 允许您创建用于 Laravel/PHP 网络应用程序的 Yaml 文件,以便您
- 选择触发事件:手动或自动,当开发者将代码推送到特定的分支时,或者开发者创建一个新的 拉取请求;
- 选择分支;
- 为所有供应商启用缓存;
- 启用 PHP 包的 缓存;
- 选择 多个 PHP 版本(8.3,8.2,8.1,8.0,7.4);
- 选择 多个 Laravel 版本(11,10,9,8,7,6),如果您正在开发 Laravel 包并且想用多个 Laravel 版本进行测试,这非常有用;
- 选择 NPM 的 Node 版本(通过
npm run
执行脚本); - 缓存 node 包;
- 设置 Mysql 数据库服务;
- 设置 PostgreSQL 数据库服务;
- 设置 Sqlite 内存数据库;
- 运行迁移;
- 通过 phpunit 执行测试;
- 通过 PestPHP 执行测试;
- 使用 phpstan 或 psalm 进行静态 代码分析;
- 为 GitHub 与代码扫描集成 创建 Sarif 报告(与 Psalm);
- 通过 phpcs 进行代码嗅探(用于 PSR12 兼容性);
- 验证 Yaml 文件;
- 通过 Laravel Dusk 执行浏览器测试。
- 使用 Ploi Deploy Action 通过 Ploi 运行部署。
如果您想快速测试和使用此工具,我已将代码库(develop
分支)部署到 Digital Ocean 平台
如果您想本地开始使用它,可以克隆存储库并按照以下说明进行安装。
命令行
Ghygen 还是一个用于自动生成 GitHub Actions 工作流 Yaml 文件的命令行工具。您可以使用 composer 将 Gygen 安装为项目
composer create-project hi-folks/ghygen
cd ghygen
安装 Ghygen 后,您可以执行
php artisan ghygen:generate --projectdir=../otherproject
其中 ../otherproject
是您的 Laravel 项目(应用程序或包)所在的目录(绝对或相对路径名),您希望自动生成 GitHub Actions 工作流 Yaml 文件。
此命令将从一些项目文件中提取信息,例如
composer.json
package.json
(如果存在).env
文件- ... 以及其他资产
以便猜测 GitHub Actions 工作流的配置。
默认情况下,命令执行将显示 Yaml 工作流文件到标准输出。如果您想将其保存到文件中,例如 "my-workflow.yml" 文件,您可以使用 --save
选项
php artisan ghygen:generate --save=my-workflow.yml
如果您想自动在 .github/workflows
目录中生成 Yaml 文件,请使用 --save=auto
php artisan ghygen:generate --save=auto
文件名将使用在 composer.json
中找到的 name
值创建。
因此,如果您想为 ../myproject
目录中的项目生成工作流,您可以使用 --projectdir
和 --save
选项执行命令
php artisan ghygen:generate --projectdir=../myproject/ --save=auto
Ghygen 网络版本
安装网络版本
要运行 Ghygen 的网络版本,您可以克隆源代码,进入新目录并执行几个指令
git clone https://github.com/Hi-Folks/gh-actions-yaml-generator.git
cd gh-actions-yaml-generator
make install
然后创建数据库,并更新 .env 文件以使用 DB_* 的正确值。
一旦数据库配置完成,您就可以执行迁移
php artisan migrate
启动开发服务器
php artisan serve
打开浏览器到以下URL:http://127.0.0.1:8000
使用方法
按照以下步骤操作
- 访问表单(默认URL为 http://127.0.0.1:8000,如果运行php artisan serve);
- 填写表单;
- 点击“生成Yaml文件”按钮。
接下来,将生成的Yaml文件内容复制到您的Laravel项目中新的文件 .github/workflows/laravel_workflow.yaml 中。
提交并推送新文件。
如果您已配置“推送时触发”,您将在GitHub项目的操作部分看到正在运行的操作。
致谢
感谢所有提供反馈、提出问题、创建Pull Requests的人。感谢所有贡献者!您可以在此部分查看贡献者列表。
在PHP生态系统中,我们有许多工具可以帮助开发者以高生产力、可靠性和效率进行工作。其中一个这样的工具是JetBrains PHP Storm。JetBrains通过为开源项目提供许可证来支持开源社区。您可以在JetBrains网站的开源部分找到更多信息。
JetBrains为Ghygen项目提供许可证,这让我感到非常高兴,因为Ghygen被认为是一款值得开源的软件。谢谢。