phpfu / puphpet
将 puphpet.com 生成的 vagrant 环境的未打包版本通过 composer 和 Packagist 提供使用。危险!会覆盖项目中非 vendor 目录的文件!真的,不要使用这个,至少要仔细阅读 README。
Requires
This package is not auto-updated.
Last update: 2024-09-14 18:27:43 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