Ansible判断执行失败

文章讲述了如何在Ansible脚本中检查Java是否已安装,如果已安装则避免重复执行安装步骤。通过`shell`模块执行`java-version`并存储结果到变量`res`,然后使用`when`条件判断`res.failed`来决定是否解压并安装JDK。如果`res.failed`为`False`,说明Java已安装,可以选择失败(`fail`)但会中断后续任务,或者仅在检测失败时执行解压缩任务。

比如我们要安装java,但如果已经安装了,就没必要再执行了,怎么实现呢?

如下图,把shell执行结果输出到变量 res

- name: Check java
  shell: source /etc/profile && java -version
  register: res
  ignore_errors: True

- name: Decompression jdk.tar.gz
  unarchive: src=jdk-8u161-linux-x64.tar.gz dest=/app/
  when: res.failed == True

或者设置为fail 但这样所有后面的脚本都会中断

- name: Check java
  fail: msg="java已经安装"
  when: res.failed == False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值