jasonmccallister/laravel-preset

Laravel应用程序的预设,包括Docker、PHPCS、PHPUnit等。

v1.0.2 2019-05-19 19:25 UTC

This package is auto-updated.

Last update: 2024-09-16 01:30:55 UTC


README

Latest Version on Packagist Total Downloads

此预设将安装并提示您安装Laravel官方包,如Horizon和Telescope。它还包括一个用于本地开发和持续集成的Makefile

总体目标是使用Docker、CI/CD和PHPUnit测试尽可能简化使用Laravel发布项目的流程。

Docker

结合了多年使用Docker发布PHP应用程序(Craft CMS和Laravel)的经验,这是一个将所学知识整合到一个包中的结果。

安装

您可以通过composer安装此包

composer require --dev jasonmccallister/laravel-preset

用法

php artisan preset jasonmccallister

按照提示选择要使用的数据库以及项目中的包。

现在剩下的就是运行以下命令

make up

Docker

运行预设命令(php artisan preset jasonmccallister)将在项目上提示您将要使用的数据库类型。这将设置带有正确数据库依赖项的Dockerfile和docker-compose文件。

有一个.dockerignore文件将排除vendornode_modules,以从Docker构建上下文中排除它们。这有助于提高Docker的构建时间

Dockerfile

目标是使用相同的Dockerfile进行本地开发、CI/CD和部署生产镜像。默认情况下,仅安装"生产"操作系统包。

可以安装PHP扩展,如xdebug,但默认情况下不会启用,有一个Makefile命令来启用它!

docker-compose.yaml

为了使本地使用Docker的开发更容易,我们使用docker-compose.yaml来创建数据库、队列和Redis实例。Docker Compose使您可以通过一条命令启动所有服务。

关于此文件的一些注意事项

  • 卷被标记为:cache,以特别提高macOS上Docker的性能,但对其他操作系统没有影响。
  • 如果未使用Laravel Passport,则有一些被注释掉的行。
  • 未指定app和队列容器的镜像,这将默认为根文件夹名称。相反,文件将查看Dockerfile,如果找不到本地镜像,则构建镜像。

预设将提示您安装一些推荐的第三方包。

  1. Laravel Dusk
  2. Laravel Horizon
  3. Laravel Telescope
  4. Laravel Scout
  5. Laravel Socialite

注意:如果您选择安装Horizon,则预设还将提示您使用horizon命令而不是queue:work。这仍然是可选的,但建议在使用Horizon时选择。

Makefile

预设还将安装一个包含许多有用命令的Makefile。以下是可用的命令列表

  • make build 将构建镜像
  • make composer 将在可丢弃的Docker容器内安装composer依赖,并将其复制到您的本地机器
  • make down 将停止或关闭项目服务
  • make horizon 将运行php artisan horizon:install
  • make logs 将显示所有服务日志,带有--follow标志
  • make migrate 将在Docker容器内运行php artisan migrate
  • make migrate:fresh 将在Docker容器内运行php artisan migrate
  • make phpcs 将在 app 目录上应用 .php_cs 修复
  • make phpunit 在容器内运行 phpunit,适用于 CI/CD 环境
  • make reports 在容器内运行 phpunit 并带有 HTML 代码覆盖率
  • make scale 将您的队列容器扩展到 15 个容器。适用于在本地测试后台任务和队列的并发性
  • make seed 在您的容器内运行 db:seed
  • make ssh 将使用 bash shell “ssh” 连接到应用容器
  • make ssh-queuessh 命令相同,但会在队列容器中提供 bash shell
  • make tag 将标记您的 Docker 镜像
  • make tinker 在应用容器内运行 php artisan tinker
  • make telescope 将运行 php artisan telescope:install
  • make testdox 使用 --testdox 标志运行 phpunit 以实现更美观的输出
  • make up 用于启动所有服务
  • make xdebug 将在应用容器内安装 xdebug PHP 扩展

安全

如果您发现任何与安全相关的问题,请通过电子邮件 themccallister@gmail.com 联系我们,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件