当我运行Ansible Playbook时,我希望具体执行我的任务名
我的剧本文件:当我运行Ansible Playbook时,我希望具体执行我的任务名,ansible,Ansible,我的剧本文件: --- - hosts : localhost become: yes tasks: - name: To install "{{ item }}" yum: name: "{{ item }}" with_items: - git - tree - wget 当我执行上述剧本文件时,我的输出是: PLAY [localhost] *********************
---
- hosts : localhost
become: yes
tasks:
- name: To install "{{ item }}"
yum:
name: "{{ item }}"
with_items:
- git
- tree
- wget
当我执行上述剧本文件时,我的输出是:
PLAY [localhost] ****************************************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************
ok: [localhost]
TASK [To install "{{ item }}"] **************************************************************************************************************************************************
changed: [localhost] => (item=[u'git', u'tree', u'wget'])
PLAY RECAP **********************************************************************************************************************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
这里任务[安装“{item}”]=>我不想要item这个词,我希望它是特定的。就像在git上出现循环一样,应该是“安装git”。。然后在树上,应该是“安装树”等等,我应该得到3个任务,因为3个安装。
我尝试使用调试模块,但失败了
注意:我希望这些变量(git、tree、wget)出现在我的playbook.yaml文件中
如果您有任何疑问,请告诉我。
提前谢谢 不会在循环的每次迭代中计算任务的名称。为了实现您想要的,可以将任务放在一个单独的文件中,并将其包含在循环中。例如,下面的文件和剧本
shell>cat安装\u pkg.yml
-名称:“安装{{item}}”
调试:
消息:“名称:{{item}}”
shell>cat playbook.yml
-主机:本地主机
任务:
-包括任务:安装
循环:
-吉特
-树
-wget
给出(节略)
shell>ansible playbook playbook.yml
任务[包括任务]****
包括:/scratch/install_pkg.yml,适用于本地主机
包括:/scratch/install_pkg.yml,适用于本地主机
包括:/scratch/install_pkg.yml,适用于本地主机
任务[安装git]****
确定:[本地主机]=>
msg:'名称:git'
任务[安装目录树]****
确定:[本地主机]=>
msg:'名称:树'
任务[安装wget]****
确定:[本地主机]=>
msg:'名称:wget'