eadesignro/ composerrepo
Requires
- php: ~5.6.0|7.0.2|~7.0.6|~7.1.0|~7.1.3|~7.2.0
- eadesignro/module-eacore: >=0.2.6
- magento/framework: ^100.1.0 | ^101.0.0|102.0.*
- magento/module-backend: ^100.1.0| ^100.2.0|101.0.*
- magento/module-sales: ^100.1.0| ^101.0.0|102.0.*
Requires (Dev)
- friendsofphp/php-cs-fixer: ~2.13.0
- lusitanian/oauth: ~0.8.10
- pdepend/pdepend: 2.5.2
- phpmd/phpmd: @stable
- phpunit/phpunit: ~6.5.0
- sebastian/phpcpd: ~3.0.0
- squizlabs/php_codesniffer: 3.3.1
This package is auto-updated.
Last update: 2024-09-07 14:10:32 UTC
README
致谢
- 我们受到了https://github.com/Genmato 的启发。
Composer Repository for Magento 2
- 此扩展作为 Magento 2 私有存储管理器,适用于销售 Magento 2 扩展的开发者,并希望提供易于安装的 composer。该扩展最初由 Genmato 为 Magento 1 实现,但我们修改了代码并将其提供给 Magento 2。逻辑与 M1 模块非常相似,但我们实际上重新创建了扩展。
要求
- Magento 2.x
- Composer
- Satis
工作原理
该扩展使用 Satis、composer.json 和包(存储在服务器上)。对于通过网店订购的每个包,它将检查订购的产品是否为 M2 包(基于 product_id),并将其插入 customer_packages 表中,以便用户可以访问购买包。如果没有客户认证密钥,则会生成一个。
以下概述了扩展的 3 个步骤的工作原理
-
客户可以使用认证密钥和密钥从命令文件中安装包。为此,Composer 将从存储库请求 packages.json。根据使用的密钥和密钥,检查客户_id 可用包,并构建输出。
-
当请求下载时,它请求 /composer/download/file/ 参数(m/[package_name]/h/[package_hash]/v/[normalized_version],再次基于使用的密钥和密钥检查对文件和版本的访问权限,如果允许,则从 [satis 归档目录] 发送文件到用户。
-
通过 notify-batch URL 记录用户的包安装(存储 IP、包、版本和用户 ID)。
配置
Satis 安装
在 Magento Webroot 外安装 Satis,但可从 Magento Web 用户访问。要安装它,请在控制台中运行以下命令
php bin/magento eadesign:composerrepo
[路径] → 您想安装 Satis 目录的位置。
注意 !!!
Satis 安装文件夹不应从网络访问。它仅用于收集 composer 的 json 文件和生成下载文件。
存储库配置
安装扩展后,转到:商店 => 配置 => EADESIGN 设置 => Composer Repo,并完成以下字段
[配置]
-
存储库名称:此名称用于 composer config 存储库(例如:Eadesign 的存储库),
-
存储库 URL:提供存储库的 URL(例如:[ 您的域名 ]/composer/packagist/index ),
-
包含 dev-master:可选地启用允许访问 dev-master 包的选项(默认禁用),
-
更新周期:用户可以免费获得较新版本更新的月份周期,当周期结束时,用户只能访问周期结束前的版本。当启用 dev-master 时不可用,留空为无限更新,
-
电子邮件激活:是或否。(通过启用此选项,您可以在某人从您的商店购买产品时设置,也可以通过生成的密钥将安装说明发送给 composer)。
[Satis 配置]
-
Satis 命令路径:Satis 可执行文件的路径(例如: [ your project ]/satis/bin/satis ),
-
Satis 配置路径:satis.json 配置文件的路径(例如:[ your project ]/satis/satis.json ),
-
名称:存储库名称(用于 satis.json),
-
主页 URL:存储库 URL(用于 satis.json,示例:[ your domain ]/composer/packagist/index ),
-
输出目录:Satis Web 目录的路径(例如: [您的项目]/satis/web),
[Satis 归档]
-
格式:包的导出格式(zip 或 tar)(例如:zip)
-
绝对目录:下载的包应该放置的路径(例如:[您的项目]/satis/packages/)
M2 包配置
Magento 2 包/扩展应该存储在仓库中,重要的是 Satis 运行的账户能够访问下载此仓库。
添加 M2 包
要添加 Magento 2 包,请访问:Eadesign => Composer 仓库 => 包 => 添加新包
[包信息]
-
包名: Composer 包名(例如:eadesign/composerrepo),
-
状态:启用,
-
包类型:普通 / 打包(打包包将始终在 packages.json 中可用,这对于必需的库包可能很有用。),
-
包标题: 用于在客户菜单中描述包,
-
Magento 产品 ID: 匹配订购项目的实体_id,
-
仓库 URL: 到仓库的 Git URL(例如:git@github.com:EaDesgin/m2-ComposerRepo.git)
-
仓库选项: 在 satis.json 中仓库可用的选项的 json 格式(有关详细信息,请参阅 https://composer.php.ac.cn/doc/articles/handling-private-packages-with-satis.md)。
构建仓库数据
当配置和包准备就绪时,可以使用以下命令构建配置:
php bin/magento eadesign:composerrepo
此命令还可以安排为每天(或您喜欢的任何频率)运行,并自动更新仓库数据。
待办事项
- 添加电子邮件模板;
- 添加统计信息;
- 代码改进。