📜  在命令行上为 ansible 传递变量 (1)

📅  最后修改于: 2023-12-03 15:37:41.385000             🧑  作者: Mango

在命令行上为 Ansible 传递变量

Ansible 是一款非常强大的自动化管理工具,它可以用来管理不同的主机、配置文件、软件包等。在实际应用中,我们经常需要为 Ansible 传递一些参数或变量来完成一些复杂的操作。

本文将介绍如何在命令行上为 Ansible 传递变量。我们会介绍两种方法:使用 --extra-vars参数和使用 var_file

使用 --extra-vars 参数

使用 ansible-playbook 命令执行 playbook 时,我们可以使用 --extra-vars 参数为 Ansible 传递变量。

假设我们要传递一个名为 my_var 的变量,其值为 my_value,我们可以使用以下命令:

$ ansible-playbook playbook.yml --extra-vars "my_var=my_value"

在 playbook 中,可以使用 {{ my_var }} 的方式来引用该变量。

使用 var_file

除了使用 --extra-vars 参数,我们还可以使用 var_file 文件来传递变量。var_file 中存放了变量名和值的键值对,每个变量占用一行,格式如下:

my_var: my_value

假设我们的 var_file 文件名为 my_vars.yml,我们可以使用以下命令来执行 playbook:

$ ansible-playbook playbook.yml --extra-vars "@my_vars.yml"

其中 @ 符号告诉 Ansible 从指定的文件中读取变量。

在 playbook 中,可以使用 {{ my_var }} 的方式来引用该变量。

总结

本文介绍了两种为 Ansible 传递变量的方法:使用 --extra-vars 参数和使用 var_file。这两种方法都非常方便易用,可以让我们更加灵活地使用 Ansible 来自动化管理不同的主机、配置文件、软件包等。