frastel / puphpeteer-installer
使用PHP和Composer安装版本化的Puppet模块
dev-master
2013-07-04 00:48 UTC
Requires
- php: >=5.3.3
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-23 13:27:08 UTC
README
使用PHP和Composer安装版本化的Puppet模块。
默认的puppet模块安装器对您来说太复杂,或者将Puppet模块作为git子模块添加感觉不自然?那么这个安装程序可能对您有用。
所需的Puppet模块通常通过Composer安装在vendor
目录中,但它们在Composer安装后会被复制到定义的模块目录。之后,所有Puppet模块都位于一个主目录中,可以从那里执行Puppet配置。
结果文件夹结构如下
puppet/
manifests/
<your manifest>.pp
modules/
<the installer copies the puppet modules here>
vendor/
<user>/
<project-name>/
<the original downloaded puppet module>
应从git中忽略modules
和vendor
目录的内容。
此设置假设您已在机器上安装了PHP和Composer。因此,您不能在干净的安装上使用此设置。但无论如何,这只是在PuPHPet的开发过程中的一个想法,也许在某些情况下对您有所帮助。
所需的Puppet模块不需要composer.json,安装仍然可以正常工作,但没有版本控制。向模块中添加composer.json将添加版本控制支持。
在composer.json中的用法
将frastel/puphpeteer-installer
添加到所需的包中。
"require": {
"frastel/puphpeteer-installer": "dev-master"
},
将Puppet模块安装器添加到scripts
部分
"scripts": {
"post-install-cmd": "Frastel\\Puphpeteer\\Installer::build",
"post-update-cmd": "Frastel\\Puphpeteer\\Installer::build"
},
定义Puppet模块应该复制到哪个位置,以及它们在安装过程中应该如何重命名
"extra": {
"puppet-modules-dir": "puppet/modules",
"puppet-modules": {
"jfryman/puppet-nginx": "nginx",
"puppetlabs/postgresql": "postgresql",
"frastel/puppet-phpmyadmin": "phpmyadmin",
"frastel/puppet-symfony": "symfony"
}
},
- puppet-modules-dir:相对于composer.json的相对路径
- puppet-modules:一个列表,列出了通过Composer安装的模块,应该复制到
puppet-modules-dir
。键是原始项目名称,值是预期的Puppet模块名称。
示例: Demo