geerlingguy.composer

Ansible 角色:Composer

CI

在任何 Linux 或 UNIX 系统上安装 PHP 依赖管理工具 Composer。

需求

  • 必须安装并正常工作的 php(版本 5.4+),可以使用 geerlingguy.php 角色进行安装。
  • 必须安装并正常工作的 git,可以使用 geerlingguy.git 角色进行安装。

角色变量

可用的变量如下所示,以及默认值(见 defaults/main.yml):

composer_path: /usr/local/bin/composer

Composer 安装路径,系统中可用的路径。应在用户的 $PATH 中,以便能够简单使用 composer 来运行命令,而不是完整路径。

composer_keep_updated: false

设置为 true 时,每次运行剧本时都会更新 Composer 到最新版本。

composer_home_path: '~/.composer'
composer_home_owner: root
composer_home_group: root

COMPOSER_HOME 路径和目录所有权;这是全局包安装的目录。

composer_version: ''

可以安装特定版本的 Composer,例如 composer_version: '1.0.0-alpha11'。如果留空,将安装最新的开发版本。注意,composer_keep_updated 将覆盖此变量,因为它总是会安装最新的开发版本。

composer_version_branch: '--2'

可以选择要使用的 Composer 主分支。默认是 --2。注意,composer_keep_updated 将更新此分支的最新版本。

composer_global_packages: []

要全局安装的包列表(使用 composer global require)。如果要全局安装任何包,请添加包含包的 namerelease 的字典列表项,例如 - { name: phpunit/phpunit, release: "4.7.*" }release 是可选的,默认是 @stable

composer_add_to_path: true

如果为 true,并且有配置的 composer_global_packages,则 composer_home_path 内的 vendor/bin 目录将添加到系统的默认 $PATH(对所有用户)。

composer_project_path: /path/to/project

Composer 项目的路径。

composer_add_project_to_path: false

如果为 true,并且已配置 composer_project_path,则 composer_project_path 内的 vendor/bin 目录将添加到系统的默认 $PATH(对所有用户)。

composer_github_oauth_token: ''

用于避免在使用 Composer 构建和重建应用程序时出现 GitHub API 速率限制错误的 GitHub OAuth 令牌。如果遇到速率限制错误,请按照 GitHub 的说明 创建个人访问令牌

php_executable: php

PHP 可执行文件的名称或完整路径。如果不覆盖变量,则默认值为 php

保持使用 Composer 1

在项目升级以支持 Composer 2 时,使用 Composer 1 可能会很有帮助。要做到这一点,设置以下变量:

composer_version_branch: ''
composer_version: '1.10.12'

依赖关系

无(但请确保您已经安装了 PHP;推荐使用 geerlingguy.php 角色)。

示例剧本

- hosts: servers
  roles:
    - geerlingguy.composer

剧本运行后,composer 将被放置在 /usr/local/bin/composer(此位置是可配置的),并将通过普通系统账户访问。

许可证

MIT / BSD

作者信息

此角色由 Jeff Geerling 创建于 2014 年,他是 Ansible for DevOps 的作者。

关于项目

Composer PHP Dependency Manager

安装
ansible-galaxy install geerlingguy.composer
许可证
mit
下载
9.3M
拥有者
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns