2
---
roles:
    -
        name: Aplyca.S3fs
    -
        name: badpacketsllc.aws_cli
        version: v1.0.3
    -
        name: geerlingguy.nodejs
        version: 5.1.1
    -
        name: geerlingguy.filebeat
        version: 3.0.2
    -
        name: geerlingguy.pip
        version: 2.0.0

collections:
    -   name: nginxinc.nginx_core
        version: 0.1.3

结果

ansible-galaxy install -r galaxy.yml -p ./roles
[WARNING]: - Aplyca.S3fs (master) is already installed - use --force to change version to unspecified
- badpacketsllc.aws_cli (v1.0.3) is already installed, skipping.
- geerlingguy.nodejs (5.1.1) is already installed, skipping.
- geerlingguy.filebeat (3.0.2) is already installed, skipping.
- geerlingguy.pip (2.0.0) is already installed, skipping.

这是我的文件,这是我运行以安装角色和集合的命令。

ansible-galaxy install -r galaxy.yml -p ./roles

我在用Ansible 2.9.13

我看不出我的文件有什么问题,这是官方文档。 https://docs.ansible.com/ansible/latest/user_guide/collections_using.html

---
roles:
  # Install a role from Ansible Galaxy.
  - name: geerlingguy.java
    version: 1.9.6

collections:
  # Install a collection from Ansible Galaxy.
  - name: geerlingguy.php_roles
    version: 0.9.3
    source: https://galaxy.ansible.com
4

1 回答 1

2

要使用一个命令同时安装角色和集合,请运行以下命令:

ansible-galaxy install -r galaxy.yml

指定自定义集合或角色安装路径时,从同一需求文件安装角色和集合将不起作用。在这种情况下,集合将被跳过,命令将像 ansible-galaxy role install 那样处理每个集合。

然后您需要使用此命令安装集合

ansible-galaxy collection install -r galaxy.yml -p ./roles

文档:

https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#install-multiple-collections-with-a-requirements-file

于 2020-11-12T05:18:34.133 回答