heptaconnect / playground
0.0.1
2024-08-25 17:37 UTC
Requires
- php: ^8.2
- composer-runtime-api: ^2.0
- ext-pdo: *
- heptacom/heptaconnect-bridge-shopware-platform: ^0.9.8
- heptacom/heptaconnect-core: ^0.9
- heptacom/heptaconnect-dataset-base: ^0.9
- heptacom/heptaconnect-package-web-frontend: ^1.0
- heptacom/heptaconnect-portal-base: ^0.9
- heptacom/heptaconnect-storage-base: ^0.9
- heptacom/heptaconnect-storage-shopware-dal: ^0.9
- niemand-online/heptaconnect-portal-amiibo: ^1.4
- psy/psysh: ^0.12.4
- symfony/framework-bundle: ^5.4
- symfony/runtime: ^6.4
Requires (Dev)
- laravel/pint: ^1.13
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
类提供了方便的方法,如addPortalNode
、addRoute
和activatePortalExtension
。- 您可以通过
$migrationHelper->getStorageFacade()
使用\Heptacom\HeptaConnect\Storage\Base\Bridge\Contract\StorageFacadeInterface
。这将允许您访问管理存储的每个存储操作。 - 您可以通过
$migrationHelper->getConnection()
使用\Doctrine\DBAL\Connection
。这将允许您直接访问底层数据库。 - 运行
bin/console system:update:finish
以应用所有新迁移。
- 运行
- 您可以使用
laravel/pint
来规范化您的代码风格。- 编辑
pint.json
以自定义您定义的规则。 - 运行
composer cs:lint
以检查您的代码是否违反了您定义的规则。 - 运行
composer cs:fix
以自动将您定义的规则应用于您的代码。
- 编辑
部署
您的部署策略将影响您应用程序的可用性和在部署期间所需维护的数量。由于任何好的部署策略都是根据您特定的需求和情况量身定制的,因此没有通用的解决方案。因此,我们不是提供完整的部署脚本,而是提供推荐步骤的叙述。
- 建议为您的部署使用某种类型的CI/CD管道。一些最知名的提供商包括
- 在CI/CD管道中运行
composer install --no-dev
。- 收集您想要部署的文件到一个工件中。
- 停止目标服务器上的所有正在运行的cron作业和消息消费者。
- 如果您使用Supervisor,请运行
supervisorctl stop all
。 - 如果您使用的是 Cron,请运行
crontab -r
。
- 如果您使用Supervisor,请运行
- 将您的准备好的工件文件复制到您的目标服务器。
- 还要记得删除您上次部署以来已删除或重命名的目标服务器上的文件。
- 如果您使用的是 rsync,请使用
--delete
选项。 - ⚠️ 注意:仅在
/src
和/vendor
目录中应用删除操作!其他目录包含针对其环境定制的文件,不属于您的版本控制系统(VCS)的一部分。
- 如果您使用的是 rsync,请使用
- 在目标服务器上运行
bin/console cache:clear
以清除缓存。 - 在目标服务器上运行
bin/console system:update:finish
以应用数据库迁移。 - 最后,再次启动您的定时任务和消息消费者。