Ansible 我们可以在一个任务中有2个带\u项的任务吗
以下是条件Ansible 我们可以在一个任务中有2个带\u项的任务吗,ansible,Ansible,以下是条件 - name: Find the image slurp: src: "{{ IMAGE }}" register: slurp_results - name: Upload image shell: | skopeo copy -docker-archive:{{ item }}.tar docker://{{ URL }}/TESTIMAGE with_items: "{{ (slurp_results.content|b64decode).sp
- name: Find the image
slurp:
src: "{{ IMAGE }}"
register: slurp_results
- name: Upload image
shell: |
skopeo copy -docker-archive:{{ item }}.tar docker://{{ URL }}/TESTIMAGE
with_items: "{{ (slurp_results.content|b64decode).splitlines() }}"
上述代码有效
但是我还需要将“TESTIMAGE”替换为{{item}},如下所示
skopeo copy -docker-archive:{{ item }}.tar docker://{{ URL }}/{{ item }}
如何在一个shell任务中定义2个with_项,并获得2个不同的slurp结果我相信您可以使用
子元素
模块。这是一个链接。尝试使用以下示例:
- name: Setup MySQL users, given the mysql hosts and privs subkey lists
mysql_user:
name: "{{ item.0.name }}"
password: "{{ item.0.mysql.password }}"
host: "{{ item.1 }}"
priv: "{{ item.0.mysql.privs | join('/') }}"
with_subelements:
- "{{ users }}"
- mysql.hosts
用户被称为item.0,主机被称为item.1,依此类推 如果您在任务中使用
{{IMAGE}}
代替{item}}
会怎么样?如果我使用{IMAGE}
那么我需要定义为变量,但我需要使用2和{u items-一个用于定义docker归档:{item}.tar
,另一个用于{URL}/{item}
。如何实现这一点?2在单个任务中使用_项变量