是否可以在Ansible中定义剧本全局变量?

拉贝延斯

我有一本大型Ansible剧本,运行时会在其中构建Docker映像。我正在使用越来越多的标签作为版本的标签。当前,我必须在每个hosts:部分中指定此内容。

我知道有全局变量,但是从我通过搜索“可行的”“全局变量”中发现的内容来看,它们必须在剧本之外进行定义。是否可以定义对于剧本是全局的全局变量?

石油026

如果您使用的标记/版本适用于所有主机,则使用group_vars / all是一个可行的选择。

如果修订号特定于host_vars / host_name文件中的每个主机条目,则可能更好。

如果您想读取并初始化var,然后在每次播放后增加var,则很难在播放簿中将这些信息(或您所说的每个-hosts)持久保存在该播放器中。例如,如果您打算部署N个Docker实例,则可以执行一些动态清单魔术,如下所示:

- hosts: localhost
  tasks:
  - add_host: name=docker_{{item}} groups="dockers,other" tag={{item}}
    with_sequence: start={{ext_def_start}} count={{ext_def_num}}


- hosts: docker_*
  tasks:
  - debug: var=tag

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以在Python中的函数中定义全局变量

是否可以在Python中的函数中定义全局变量

是否可以在PostgreSQL中定义全局变量

在启动时是否可以从用户输入中设置全局变量或定义?

是否可以在Node / Express 4.0中声明全局变量

python中包的全局变量是否可以视为邪恶?

如何在Ansible中从“ ansible-playbook额外变量”定义“全局变量”?

在JavaScript函数中定义全局变量

未在Julia中定义的全局变量

在Julia中定义常量全局变量

全局变量未在函数中定义

无法在C ++中定义全局变量

定义全局变量

在Jest中,定义全局变量是否与在BeforeAll中定义的相同?

我可以在VSTS中跨构建定义定义全局变量吗?

是否可以使用 C++ 中的预处理器指令在函数中定义全局变量并在其他函数中使用该变量?

在Clojure中,如何定义可以从其他名称空间访问的全局变量

JUnit:是否可以模拟在全局变量的初始化中调用的静态方法?

`topmost.__init__.py` 是否可以访问 `topmost.submodule.__init__.py` 中的全局变量?

是否可以将模块注入到导入模块的全局变量中?

Ansible:如何检查剧本中是否加载了变量?

Ansible 2.6:是否可以在角色任务中引用剧本的名称?

是否可以为事件处理程序声明全局变量?

全局变量定义失败

cppzmq:是否可以在不将全局变量创建为全局变量的情况下获得全局上下文?

是否可以使用Keras从自定义损失函数调用/使用实例属性或全局变量?

在q kdb中的函数中定义全局变量

在_ViewStart.cshtml中定义全局变量

如何在terraform中定义全局变量?