[英]Ansible block vars
如何設置Ansible塊變量(僅對塊中的任務可見)?
我試過了:
---
- hosts: test
tasks:
- block:
- name: task 1
shell: "echo {{item}}"
with_items:
- one
- two
但這似乎是錯誤的方式。
如果要為塊定義變量:
- block: - debug: var: var_for_block vars: var_for_block: "value for var_for_block"
如果您想按照代碼的建議“在塊上循環”,則不能。 它沒有在Ansible中實現。 遵循此線程 。
現在,請考慮將任務保存到單獨的文件中,而改用include
。
@ Shasha99,您也許可以在其中包含帶塊的文件,因此仍然可以從try / catch中受益
includeFile.yml:
- block
- name: Finding the package.
shell: rpm -qa | grep "{{pkgName}}"
register: package
- name: Uninstalling the package.
shell: rpm -e "{{package}}"
always:
- debug: msg="this always executes"
main.yml:
---
- hosts: all
vars:
- packageList : ["pkg1","pkg2","pkg3","pkg4"]
tasks:
- include: includeFile.yml pkgName="{{item}}"
with_items: packageList
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.