hi-folks/ghygen

Laravel框架的骨架应用程序。

1.0.0 2024-03-17 13:44 UTC

README

GitHub Workflow Status (develop branch) GitHub release (latest by date) Website

Ghygen

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文件”按钮。

github-actions-generator-laravel

接下来,将生成的Yaml文件内容复制到您的Laravel项目中新的文件 .github/workflows/laravel_workflow.yaml 中。

提交并推送新文件。

如果您已配置“推送时触发”,您将在GitHub项目的操作部分看到正在运行的操作。

致谢

感谢所有提供反馈、提出问题、创建Pull Requests的人。感谢所有贡献者!您可以在此部分查看贡献者列表。

在PHP生态系统中,我们有许多工具可以帮助开发者以高生产力、可靠性和效率进行工作。其中一个这样的工具是JetBrains PHP Storm。JetBrains通过为开源项目提供许可证来支持开源社区。您可以在JetBrains网站的开源部分找到更多信息。

PhpStorm logo

JetBrains为Ghygen项目提供许可证,这让我感到非常高兴,因为Ghygen被认为是一款值得开源的软件。谢谢。