monofone/ansible-installer

Ansible 角色安装器

安装: 75

依赖项: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 0

公开问题: 0

类型:composer-installer

1.0.0 2014-05-05 19:52 UTC

This package is auto-updated.

Last update: 2024-09-04 22:02:28 UTC


README

这最初是从 composer/installers 中提取的,并适配为 Ansible 角色安装器。

Build Status

这是为 PHP 包作者在他们的 composer.json 中使用的。它将根据指定的包类型将他们的包安装到正确的位置。

安装器 installers 的目标是成为一个简单的包类型安装路径映射。用户还可以按每个包自定义安装路径,包作者可以在安装时修改包名称。

当前支持的包类型:

稳定类型被标记为 粗体,这意味着这些类型的安装路径将不会改变。对这些类型的任何调整都需要创建一个全新的类型,该类型将涵盖所需的变化。

示例 composer.json 文件

这是一个 Ansible 角色的示例。在您的 composer.json 文件中需要设置的唯一重要部分是 "type": "ansible-role",这描述了您的包是什么,以及 "require": { "ansible/installer": "~1.0" },它告诉 composer 加载自定义安装器。

{
    "name": "you/mysql",
    "type": "ansible-role",
    "require": {
        "ansible/installer": "~1.0"
    }
}

当用户运行 php composer.phar install 时,这将安装您的角色到 provisioning/roles/common/ 文件夹。

自定义安装路径

如果您正在使用 ansible/installer 消费包,您可以使用以下额外的配置覆盖安装路径。

{
    "extra": {
        "installer-paths": {
            "your/custom/path/{$name}/": ["ansible/web", "vendor/package"]
        }
    }
}

包类型可以有一个带有 type: 前缀的自定义安装路径。

{
    "extra": {
        "installer-paths": {
            "your/custom/path/{$name}/": ["type:ansible-role"]
        }
    }
}

这将使用您的自定义路径为列出的每个包。您可以在路径中使用以下变量:{$name}{$vendor}{$type}

自定义安装名称

如果您是包作者,需要您的包在安装时有不同的名称,请考虑使用 installer-name 额外选项。

例如,您有一个名为 you/mysql 的包,类型为 ansible-role。使用 ansible/installer 安装将安装到路径 provisioning/roles/mysql。由于命名约定严格,您作为包作者实际上需要包以 provisioning/roles/ownmysql 的名称和路径安装。在您的 package composer.json 中使用以下配置将允许这样做

{
    "name": "you/mysql",
    "type": "ansible-role",
    "extra": {
        "installer-name": "ownmysql"
    }
}

请注意,输入到 installer-name 中的名称将是最终的,且不会变形。