博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ansible 交互提示、tags和block
阅读量:6693 次
发布时间:2019-06-25

本文共 1706 字,大约阅读时间需要 5 分钟。

1、交互提示:使用关键字:vars_prompt

例:使用ansible的交互式功能创建用户和给定一个密码。

---- hosts: test50  remote_user: root  vars_prompt:    - name: user_name      prompt: Enter Username      private: no    - name: user_passwd      prompt: Enter Password      encrypt: "sha512_crypt"      confirm: yes  tasks:    - name: create user      user:        name: "{
{user_name}}" password: "{
{user_passwd}}"

关键字vars_prompt常用选项说明:

private:用户输入的值是否可见,当值为yes时,表示不可见,常用于密码,为no时,可见。

default:设置默认值,当不输入任何值时,使用该默认值。

confirm:再次确认,适合密码。

2、tags标签

  默认情况下,ansible在执行一个playbook的时候,会执行playbook中定义的所以任务。ansible的标签功能可以给角色,文件,任务或者整个playbook打上标签,然后利用这些标签来指定要运行playbook的个别任务。使用关键字tags,如下:

---   - hosts: hadoop    remote_user: root    gather_facts: no    tags: t0    tasks:    - name: test1      debug:         msg: "echo t1"      tags: t1    - name: test2      debug:        msg: "echo t2"      tags: t2,always

当想执行某个任务的时候,指定对应的标签就行,

如:ansible-playbook --tags t1 tags.yml   执行t1这个标签的任务

当想跳过某个任务的时候,使用--skip-tags选项,

如:ansible-playbook --skip-tags t2 tags.yml   跳过t2

在定义标签时的语法如下:

语法1:tags:  - t1  - t2 语法2: tags: t1,t2 语法3: tags: ['t1', 't2']

 

ansible内置的五个标签:

always   #总是执行 never   #总是不执行 tagged   #带标签的 untagged   #不带标签的 all    #全部,默认就是all。

 3、block

  将多个任务组合成一个块,并且可以对这个块做条件判断,以及当块里面的任务失败时,进行失败处理。

如:

---  - hosts: hadoop    remote_user: root    gather_facts: no    tags: t0    tasks:    - name: block1      block:                         #定义块        - shell: ls /123      rescue:                        #当上面的块失败时,该关键字下面的任务将被执行        - debug:            msg: "echo block 1"      always:                         #always关键字,不管block块是否执行成功,该关键字定义的任务都要被执行。        - debug:            msg: "echo done"

 

转载于:https://www.cnblogs.com/yjt1993/p/10972135.html

你可能感兴趣的文章
C# 文件下载四方法
查看>>
Spring JDBC最佳实践(3)
查看>>
windows Socket 通信模型
查看>>
jquery validate案例1
查看>>
Redis应用场景
查看>>
不想工作的一天
查看>>
tomcat查看错误日志
查看>>
关于Jfinal中ContextPathHandler的作用
查看>>
从规范去看Function.prototype.apply到底是怎么工作的?
查看>>
音效原理
查看>>
FFmepg中文例子—指导2:加入音频
查看>>
cocos2dx 3.0 项目部署到android
查看>>
jenkins集成findBugs并生成报告
查看>>
恢复被误操作的~/.bashrc
查看>>
jfinal接口开发的一些要点
查看>>
socket上传输大文件时,如何能提高传输的效率?
查看>>
huffman 编码算法
查看>>
Codeforces Round #277.5 (Div. 2) d
查看>>
经验//java/socket/命令行/java 命令运行/package情况下/fileNo...
查看>>
Indy10 FTP列目录乱码问题
查看>>