loadsys / puphpet-release
通过 composer 和 Packagist 提供由 puphpet.com 生成的 vagrant 环境的未打包版本。危险!会覆盖您的项目中的非供应商文件!请务必仔细阅读说明。
Requires
This package is not auto-updated.
Last update: 2022-02-01 12:44:35 UTC
README
通过 composer 和 Packagist 提供由 puphpet.com 生成的 vagrant 环境的未打包版本。
该仓库代表 PuPHPet 项目的快照。它包括最小的工具,用于获取 PuPHPet 发布 ZIP 文件的副本并将其导入到项目中。该项目包含 composer.json 文件,使得可以使用 composer 将 puphpet 包含到另一个目标项目中。
还有一些可以改进的地方。有关这些,请参阅
⚠️ 重要警告 ⚠️
该包使用一个定制的 composer 安装程序,执行非常非标准的、通常很糟糕的事情,包括覆盖 vendor/
目录外部的项目文件。
这是 composer 非常明确地表示我们不应该做的事情。我们打破这个非常好的规则,仅因为我们所使用的工具(vagrant 和 puphpet)没有其他实际的选择。
❗ 使用此包将导致您的现有项目中任何根级别的 /Vagrantfile
和 /puphpet/
文件夹被无通知地覆盖,并创建或修改 /.gitignore
文件。 不要对此抱怨。这正是此包设计要做的,您已经被告知了其危险。
要求
安装
运行以下命令将 PuPHPet 提供的 vagrant 环境包含到您的项目中
$ composer require --dev "phpfu/puphpet:@stable"
使用方法
按照上述说明包含包后,您应该可以立即使用默认配置运行 vagrant。
vagrant up
自定义
要自定义 vagrant 虚拟机,您有两个选择
- 将提供的默认
/puphpet/config.yaml
文件复制到/puphpet.yaml
并编辑它以符合您的需求。当在项目中找到现有的/puphpet.yaml
文件时,它将被复制到/puphpet/config.yaml
以供此包使用。
或者
- 您可以使用 puphpet.com 网页界面生成适当的
config.yaml
文件。下载生成的puphpet.zip
文件后,只取puphpet/config.yaml
文件并将其保存到您的项目中作为puphpet.yaml
。
在任一情况下,您的 puphpet.yaml
文件都应该提交到您自己的项目源代码控制系统,以确保所有项目开发者使用的 vagrant 虚拟机保持一致。
@TODO: 关于 files/
和 exec-*
脚本怎么办?
运行发布抓取器
此项目包含一个shell脚本,用于从puphpet.com抓取最新的puphpet.zip文件,解包它,并将其提交回此仓库。
git clone git@github.com:loadsys/puphpet-release.git
cd puphpet-release
bin/scrape-release.sh
此脚本旨在通过cron计划定期更新仓库。它必须从Packagist已知的远程仓库的克隆版运行,并具有推送到远程仓库的ssh权限。
Packagist期望语义版本,这带来了一定的挑战。puphpet.com项目不遵循semver,且项目频繁进行向后不兼容的更改。为了解决这个问题,发布脚本会自动使用小版本号对每个新版本进行标记。这允许消费项目针对特定的点版本,该版本将不会以破坏性的方式进行自动更新。
结果是,消费项目必须手动更新其目标版本,并验证其是否符合需求(同时检查其puphpet.yaml
文件是否更新。)
贡献
请参阅loadsys/puphpet-release-composer-installer包的“贡献”部分,了解如何与这两个项目一起工作的说明。
许可
MIT。特别是,所有PuPHPet工作归原始作者所有。本项目仅为我们的便利而设。
版权
© Loadsys Web Strategies 2015