簡體   English   中英

Ansible塊變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM