java中items是什么意思,Ansible - 如何使用with_items中的寄存器名称

在我目前的剧本中,我有以下内容:

- name: Copy cov-analysis-linux64-8.0.0.tgz

copy: src=/home/devops/chroot/cov-analysis-linux64-8.0.0.tgz dest=/var/tmp/cov-analysis.tgz owner=devops

register: coverity

- name: Copy fortidev-2.02.chroot.tar.bz2

copy: src=/home/devops/chroot/fortidev-2.02.chroot.tar.bz2

dest=/var/tmp/fortidev2.chroot.tar.bz2 owner=devops

register: fortidev2

列表越来越长,为了代码可读性,我想使用with_items来完成它 . 我把它更新为:

- name: copy chroot tarball to the servers

copy: src={{ item.src }} dest={{ item.dest }} owner=devops

register: "{{ item.register }}"

with_items:

- { src: /home/devops/chroot/cov-analysis-linux64-8.0.0.tgz,

dest: /var/tmp/cov-analysis.tgz,

register: coverity

}

- { src: /home/devops/chroot/fortidev-2.02.chroot.tar.bz2,

dest: /var/tmp/fortidev2.chroot.tar.bz2,

register: fortidev2

}

- { src: /home/devops/chroot/fmdev-6.0.tar.xz,

dest: /var/tmp/fmdev6.tar.xz,

register: fmdev6

}

问题是,当我想在后续任务中引用其中一个寄存器时,它找不到变量 . 引用它的代码是:

- name: umount fortidev2 /proc|/dev|/tmp|/cov-analysis

command: umount {{ item }}

become: yes

when: fortidev2.changed

with_items:

- /home/devops/fortidev2/proc

- /home/devops/fortidev2/dev

- /home/devops/fortidev2/tmp

ignore_errors: yes

错误是{“失败”:true,“msg”:“条件检查'fortidev2.changed'失败 . 错误是:评估条件时出错(fortidev2.changed):'fortidev2'未定义\ n \ n出现错误进入'/var/lib/jenkins/jobs/Devops/jobs/update_chroot/workspace/roles/chroot/tasks/main.yml':第70行,第3列,但可能在文件的其他位置,具体取决于确切的语法问题 . \ n \ n违规行似乎是:\ n \ n#unmount / proc和/ dev首先删除文件夹\ n-名称:umount fortidev2 / proc | / dev | / tmp | / cov-analysis \ n ^这里\ n“}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值