首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如果在amazon-linux-extras上安装docker失败,则停止Ansible playbook

如果在amazon-linux-extras上安装docker失败,则停止Ansible playbook
EN

Stack Overflow用户
提问于 2019-05-31 06:43:35
回答 2查看 178关注 0票数 0

如果下面的"**Install docker**“任务不成功,

需要对下面的代码进行哪些特定的更改,以便ansible攻略失败?

目前,剧本将"changed“报告为下面的"Install docker”任务的结果,因此无论docker的安装是否成功,剧本都会继续执行后续任务。

代码语言:javascript
复制
---
- name: Install some stuff.
  hosts: firstgroup, secondgroup
  remote_user: someuser
  become: true
  become_method: sudo
  become_user: root

  tasks:  

     - name: Install docker 
       command: amazon-linux-extras install -y docker

如您所见,这是在Amazon Linux2中运行的,并且安装是使用amazon-linux-extras完成的。

EN

回答 2

Stack Overflow用户

发布于 2019-05-31 12:30:50

您可以尝试以下代码:

代码语言:javascript
复制
---
- name: Install some stuff.
  hosts: firstgroup, secondgroup
  remote_user: someuser
  become: yes

  tasks:  

     - name: Install docker 
       command: amazon-linux-extras install -y docker
       register: result
       failed_when: result.rc != 0 

您可以添加注册选项并获取该命令的返回代码。如果它是零,那么它将继续,否则它将失败。关于用户的其他事情,只需输入“成为:是”就足以作为根用户运行

票数 1
EN

Stack Overflow用户

发布于 2019-05-31 07:15:06

这是因为,如果一个任意命令以前已经运行过,那么确定它是否需要执行是一个极其困难(如果不是不可能)的问题。

您可以做的是处理命令的输出,以确定应用程序是否已安装。这可以使用registers来完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56386539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档