- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将一个变量传递给通知处理程序,但在 SO、文档或 github 存储库中的问题、如何做的任何地方都找不到。我正在做的是部署多个 webapps,当这些 webapps 之一的代码发生更改时,它应该重新启动该 webapp 的服务。
来自 this SO question ,我让这个工作,有点:
- hosts: localhost
tasks:
- name: "task 1"
shell: "echo {{ item }}"
register: "task_1_output"
with_items: [a,b]
- name: "task 2"
debug:
msg: "{{ item.item }}"
when: item.changed
with_items: task_1_output.results
ansible-playbook test.yml -c local
运行它。)
with_items
连同
include
已弃用。
site.yml
列出一个组的角色,然后在
group_vars
对于那个组,我定义了应该安装的 webapps 列表(包括版本)。这对我来说似乎是正确的,因为这样我可以使用相同的剧本来进行分期和制作。但也许唯一的解决方案是多次定义角色,并复制用于登台和生产的角色列表。
最佳答案
Ansible 中的变量是全局变量,因此没有理由将变量传递给处理程序。如果您试图以某种方式对处理程序进行参数化,就像您尝试在处理程序的名称中使用变量一样,您将无法在 Ansible 中做到这一点。
您可以做的是创建一个处理程序来轻松地遍历服务列表,这是一个可以在本地进行测试的工作示例:
- hosts: localhost
tasks:
- file: >
path=/tmp/{{ item }}
state=directory
register: files_created
with_items:
- one
- two
notify: some_handler
handlers:
- name: "some_handler"
shell: "echo {{ item }} has changed!"
when: item.changed
with_items: files_created.results
关于ansible:将 with_items 与通知处理程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25694249/
我有两个项目列表: list1: - element1 - element2 list2: - element1 - element2 以及 group_vars 中定义的变量 env: x
我有我在每个系统上创建的完整用户列表。如何为每个系统创建一个条件来创建仅在 group_vars 中定义的用户变量 system_users ? 变量:users.yml users: user1
使用with_items有什么区别与 loops在安西尔贝? 最佳答案 更新:最新的Documentation列出差异如下 The with_ keywords rely on Lookup Plug
我只想传递 yml 文件中的 rpm 包列表,并在我的任务中的 with_items 中调用它。yml 文件应该是什么格式。请帮我。我用谷歌搜索了很多,仍然很困惑。我需要实现这样我就可以只更改外部文件
我编写了一个 ansible 任务来使用 with_items 迭代设置列表。 .现在,当我运行 ansible 时,我的所有设置都会被记录下来。它非常冗长,让人很难看出发生了什么。但是,如果我使用
我在一个变量中有一个列表,我需要对其执行 shell 命令。 - name: Set Percentage value to "yes" to all disks for NFS SERVERS
这是我的剧本。很简单。问题在于“with_items”。它遍历所有项目,但是,它只将最后一个项目写入 crontab 文件。我认为它正在覆盖它。为什么会这样? - name: Create cron
我想使用带有 with_items 的 iptables 模块来循环这些规则 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j
在这里看一个问题时,遇到了另一个问题。 让我们假设一个带有字典列表的变量,如下所示: some_var: - k: key1 m: value1 - k: key2 m: va
我想将一个变量传递给通知处理程序,但在 SO、文档或 github 存储库中的问题、如何做的任何地方都找不到。我正在做的是部署多个 webapps,当这些 webapps 之一的代码发生更改时,它应该
我正在尝试使用 ansible 遍历列表列表以安装一些软件包。但是 {{item}} 返回子列表中的每个元素,而不是子列表本身。我有一个来自外部 ansible list 列表的 yaml 文件,它看
是否可以将项目列表应用于 Ansible 剧本中的多个任务?举个例子: - name: download and execute hosts: server1 tasks: - get_u
安全的 1.9.4。 该脚本应仅在定义了某些变量的主机上执行某些任务。它正常工作,但它不适用于 with_items陈述。 - debug: var=symlinks when: symlinks
我有一堆服务器,上面有四个物理驱动器(/dev/sda、sdb、sdc 和 sdd)。 sda 上安装有操作系统。 我需要格式化除 sda 之外的每个驱动器。我需要检查每个驱动器上是否有数据。如果是这
基于这个问题 Ansible recursive checks in playbooks 我还有一个。 我们需要遍历这个结构 区域规范 https://gist.github.com/git001/9
我想根据条件跳出 with_items 循环。为了参数的缘故,该条件是命令的标准输出是否等于特定字符串。 显然下面的示例不起作用,但这是我想做的事情的想法。 例如: - name: testing l
我使用的是一个简单的模板,其中仅包含变量。这就是我的任务在我的剧本中的样子(实际上是我的剧本中使用的角色): - name: Ensure the conf file exists templat
寻求帮助来解决我几个小时以来一直困扰的问题。我想迭代一个列表,运行一个命令,注册每个命令的输出,然后通过调试迭代每个唯一的寄存器 {{ someregister }}.stdout 例如,以下代码将输
我有以下任务来创建 MySQL 用户,并将 database_staging_users 传递给 with_items。我想在 vpc_environment == "生产" 时传递它 databas
我想知道 - shell: > hostname; whoami; 和 - shell: "{{item}}" with_items:
我是一名优秀的程序员,十分优秀!