ansible-剧本错误!字段';主机';是必需的,但未设置
ansible新手:尝试一个剧本,其中有一个任务和一个预任务。任务正在复制成功执行的文件。pretask正在检查是否有自制软件,如果没有,则检查是否已安装。这让我犯了这个错误 错误!“主机”字段是必填字段,但未设置 我已经将剧本顶部的hosts值设置为localhost,因为我只使用本地主机。 我已将整个剧本粘贴在此处: 谢谢你的帮助。谢谢ansible-剧本错误!字段';主机';是必需的,但未设置,ansible,Ansible,ansible新手:尝试一个剧本,其中有一个任务和一个预任务。任务正在复制成功执行的文件。pretask正在检查是否有自制软件,如果没有,则检查是否已安装。这让我犯了这个错误 错误!“主机”字段是必填字段,但未设置 我已经将剧本顶部的hosts值设置为localhost,因为我只使用本地主机。 我已将整个剧本粘贴在此处: 谢谢你的帮助。谢谢 --- - hosts: localhost tasks: - copy: src: "~/.master.testconfig"
---
- hosts: localhost
tasks:
- copy:
src: "~/.master.testconfig"
dest: "~/.testconfig"
- pre_tasks:
- name: Ensure Homebrew is Installed
stat:
path: /usr/local/bin/brew
register: homebrew_check
- name: Fail If Homebrew Is Not Installed
fail:
msg: Homebrew is missing.. Install from http://brew.sh/
when:
- not homebrew_check.stat.exists
- name: Installing Homebrew
shell: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
when:
- not homebrew_check.stat.exists
- install_homebrew_if_missing
输出:
[警告]:未分析任何资源清册,只有隐式localhost可用
[警告]:提供的主机列表为空,只有本地主机可用。请注意,隐式
localhost与“all”不匹配
播放[本地主机]************************************************************************************
任务[收集事实]******************************************************************************
确定:[本地主机]
任务[副本]*****************************************************************************************
确定:[本地主机]
错误!“主机”字段是必需的,但未设置该字段。该错误是由于语法错误造成的:对于
预处理任务
,您不需要-
。另一个问题是缩进是不正确的
正确的语法是:
---
- hosts: localhost
tasks:
- copy:
src: "~/.master.testconfig"
dest: "~/.testconfig"
pre_tasks:
- name: Ensure Homebrew is Installed
stat:
path: /usr/local/bin/brew
register: homebrew_check
- name: Fail If Homebrew Is Not Installed
fail:
msg: Homebrew is missing.. Install from http://brew.sh/
when: not homebrew_check.stat.exists
- name: Installing Homebrew
shell: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
when:
- not homebrew_check.stat.exists
- install_homebrew_if_missing
谢谢。我只需要更正寄存器缩进以与stat对齐:只是一个小问题,这部分没有执行名称:安装Homebrew它失败并随着执行而停止实际上我想在预任务中安装Homebrew,如果失败后不存在message@user1403505条件是正确的。系统中是否存在Ruby?你面临什么样的错误?