heptaconnect/playground

0.0.1 2024-08-25 17:37 UTC

This package is auto-updated.

Last update: 2024-09-25 17:49:03 UTC


README

用于评估的游乐场仓库

该项目旨在展示HEPTAconnect,并帮助您评估其是否适合您的用例。您可以在[文档](https://www.heptaconnect.io/guides/playground/)中了解更多关于HEPTAconnect的信息。

安装

composer create-project heptaconnect/playground

配置文档根目录(/public)作为由Web服务器托管,并使用专属主机名。如果您使用macOS,我们推荐使用Laravel Herd

✅ 这样就完成了。系统安装已完成。

开发

  • 您可以通过composer安装额外的门户或门户扩展。
    • 运行 composer require niemand-online/heptaconnect-portal-amiibo
    • 运行 bin/console heptaconnect:portal-node:add 'NiemandOnline\HeptaConnect\Portal\Amiibo\AmiiboPortal' amiibo
  • 您可以通过在目录 /src/Portal 中添加它们来开发自定义门户或门户扩展。
    • 创建一个新的目录 /src/Portal/HelloWorld
    • 在此新目录中创建一个类 HeptaConnect\Production\Portal\HelloWorld\HelloWorldPortal,它扩展了 Heptacom\HeptaConnect\Portal\Base\Portal\Contract\PortalContract
    • 运行 bin/console cache:clear
    • 运行 bin/console heptaconnect:portal-node:add 'HeptaConnect\Production\Portal\HelloWorld\HelloWorldPortal' hello-world
    • 在文档中了解更多关于门户开发的信息。
  • 您可以通过创建迁移来获取可重复的数据库操作,这些操作在每次安装时只运行一次。
    • 运行 bin/console database:create-migration 以在 /src/Integration/Migration 中生成一个新的迁移文件。
    • \HeptaConnect\Production\Integration\Component\Migration\MigrationHelper 类提供了方便的方法,如 addPortalNodeaddRouteactivatePortalExtension
    • 您可以通过 $migrationHelper->getStorageFacade() 使用 \Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface。这将允许您访问管理存储的每个存储操作。
    • 您可以通过 $migrationHelper->getConnection() 使用 \Doctrine\DBAL\Connection。这将允许您直接访问底层数据库。
    • 运行 bin/console system:update:finish 以应用所有新迁移。
  • 您可以使用 laravel/pint 来规范化您的代码风格。

部署

您的部署策略将影响您应用程序的可用性和在部署期间所需维护的数量。由于任何好的部署策略都是根据您特定的需求和情况量身定制的,因此没有通用的解决方案。因此,我们不是提供完整的部署脚本,而是提供推荐步骤的叙述。

  • 建议为您的部署使用某种类型的CI/CD管道。一些最知名的提供商包括
  • 在CI/CD管道中运行 composer install --no-dev
    • 收集您想要部署的文件到一个工件中。
  • 停止目标服务器上的所有正在运行的cron作业和消息消费者。
    • 如果您使用Supervisor,请运行 supervisorctl stop all
    • 如果您使用的是 Cron,请运行 crontab -r
  • 将您的准备好的工件文件复制到您的目标服务器。
  • 还要记得删除您上次部署以来已删除或重命名的目标服务器上的文件。
    • 如果您使用的是 rsync,请使用 --delete 选项。
    • ⚠️ 注意:仅在 /src/vendor 目录中应用删除操作!其他目录包含针对其环境定制的文件,不属于您的版本控制系统(VCS)的一部分。
  • 在目标服务器上运行 bin/console cache:clear 以清除缓存。
  • 在目标服务器上运行 bin/console system:update:finish 以应用数据库迁移。
  • 最后,再次启动您的定时任务和消息消费者。