我刚刚启动了ansible,并创建了一个简单的攻略来在目标服务器上部署nginx。YAML playbook文件(myplaybook.yml)看起来像这样:
- name: Configure webserver with nginx
hosts: webservers
sudo: True
tasks:
- name: install nginx
- apt: name=nginx update_cache=yes
environment:
http_proxy: myproxy.com:8088
https_proxy: myproxy.com:8088当我执行时:
$ansible-攻略myplaybook.yml
我得到:-
ERROR:装入YAML脚本时出现语法错误,nginx-ansible.yml注意:错误实际上可能出现在此位置之前:第7行,第23列
- apt: name=nginx update_cache=yes
environment:
^我不明白为什么会发生这个错误--主机文件包含webservers部分--有人能帮忙吗?
谢谢!
发布于 2015-07-15 22:11:37
你的YAML有几个问题。首先,- name和- apt不应该都有-前缀。这使得Ansible认为你有一个任务的名称是install nginx,但没有模块或任何其他相关的东西,然后你有第二个任务没有名称,但调用了apt模块。
第二个问题是缩进。在单词YAML前面有一个额外的空格,这会使environment认为您正在开始一个新的子元素,而不仅仅是向当前任务添加属性。所以你的整个任务应该看起来像这样(记住间隔是很关键的):
tasks:
- name: install nginx
apt: name=nginx update_cache=yes
environment:
http_proxy: myproxy.com:8088
https_proxy: myproxy.com:8088https://stackoverflow.com/questions/31431977
复制相似问题