ansible role 中 meta main.yml的写法与作用
时间: 2024-03-10 22:51:06 浏览: 244
在 Ansible 中,每个角色(role)都可以有一个 meta/main.yml 文件,它的作用是提供角色元数据信息。
meta/main.yml 文件可以包含以下信息:
- dependencies:列出该角色依赖的其他角色。
- tags:定义角色的 tags,以便在运行 playbook 时方便地选择性地运行某些角色。
- min_ansible_version:定义该角色所需的最低 Ansible 版本号。
- galaxy_info:定义该角色的 Galaxy 元数据(如果该角色已经上传到 Ansible Galaxy)。
例如,下面是一个 meta/main.yml 文件的示例:
```yaml
---
dependencies:
- { role: common }
- { role: mysql, mysql_version: "5.7" }
tags:
- web
- mysql
min_ansible_version: 2.9
galaxy_info:
author: John Doe
description: A role to install and configure Apache HTTP Server.
license: MIT
min_ansible_version: 2.9
platforms:
- name: CentOS
versions:
- 7
- 8
- name: Ubuntu
versions:
- bionic
- focal
galaxy_tags:
- web
- httpd
```
在上面的示例中,该角色依赖于 common 和 mysql 角色,定义了 web 和 mysql 两个 tags,要求 Ansible 版本不低于 2.9,同时定义了该角色的 Galaxy 元数据信息。
总之,meta/main.yml 文件提供了非常有用的元数据信息,可以帮助我们更好地组织和管理 Ansible 角色。
阅读全文