首页 > 其他分享 >Ansible register 变量详解【转】

Ansible register 变量详解【转】

时间:2023-01-01 20:35:44浏览次数:47  
标签:name register ansible Ansible playbook debug servera 详解 user

编写 playbook,我们通过 whoami 这个 shell 命令去查看当前登录的用户,并将结果赋值给 register 变量 user,然后通过 debug 模块输出 user 变量的信息;

it@workstation:~/ansible$ vim test.yml 
it@workstation:~/ansible$ cat test.yml
---
- name: Check the user 
  hosts: servera
  tasks:
    - name: View the logged in user name
      shell: whoami
      
      register: user
    - debug:
        var: user

运行 playbook,在运行 debug 模块时,显示了输出的结果;

it@workstation:~/ansible$ ansible-playbook test.yml 
BECOME password: 

PLAY [Check the user] ******************************************************************************

TASK [Gathering Facts] *****************************************************************************
ok: [servera]

TASK [View the logged in user name] ****************************************************************
changed: [servera]

TASK [debug] ***************************************************************************************
ok: [servera] => {
    "user": {
        "changed": true,
        "cmd": "whoami",
        "delta": "0:00:00.002775",
        "end": "2021-01-19 08:53:22.611335",
        "failed": false,
        "rc": 0,
        "start": "2021-01-19 08:53:22.608560",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "root",
        "stdout_lines": [
            "root"
        ]
    }
}

PLAY RECAP *****************************************************************************************
servera                    : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

change: 表示执行命令的状态,如果命令执行了,则为 true;

cmd: 表示的则是你当前执行的命令;

delta: 表示命令执行所花费的时间

start: 表示命令开始执行的时间

end: 表示命令结束的时间

failed: 表示命令执行的结果,如果为 false 则表示命令执行成功,true 则表示命令执行失败

rc: 表示命令执行的返回码(return code),0 表示执行成功;

stderr:命令输出的标准错误信息

stderr_lines: 按换行符分割输出的内容,在多行输出时,显示的效果比 stderr 更加直观

stdout: 命令的标准输出信息

stdout_lines: 按换行符分割输出的内容,在多行输出时,结果更加直观

我们可以在 playbook 中,很方便地调用这些输出。

编写 playbook,在 playbook 中调用 register 变量中的输出,然后调用该变量的输出信息,打印出一条消息:

it@workstation:~/ansible$ vim test.yml 
it@workstation:~/ansible$ cat test.yml
---
- name: Check the user 
  hosts: servera
  tasks:
    - name: View the logged in user name
      shell: whoami
      
      register: user
    - debug:
        msg: "Logged in as user {{ user.stdout }}"

运行 playbook,在运行 debug 模块时,我们看到了输出的消息

it@workstation:~/ansible$ ansible-playbook test.yml 
BECOME password: 

PLAY [Check the user] ******************************************************************************

TASK [Gathering Facts] *****************************************************************************
ok: [servera]

TASK [View the logged in user name] ****************************************************************
changed: [servera]

TASK [debug] ***************************************************************************************
ok: [servera] => {
    "msg": "Logged in as user root"
}

PLAY RECAP *****************************************************************************************
servera                    : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

后面会分享更多运维方面的内容,感兴趣的朋友可以关注下!

转自

Ansible register 变量详解 - 知乎
https://zhuanlan.zhihu.com/p/367906095

标签:name,register,ansible,Ansible,playbook,debug,servera,详解,user
From: https://www.cnblogs.com/paul8339/p/17018533.html

相关文章

  • 我的第一天学习-HelloWorld详解
    HelloWorld详解1.随便新建一个文件夹存放代码2.新建一个Java文件文件后缀名为.javaHello.java[注意]系统可能没有显示文件后缀名,需要我们手动打开,在文件查看中......
  • RNN详解(12)
    本文部分参考和摘录了以下文章,在此由衷感谢以下作者的分享!​​​https://zhuanlan.zhihu.com/p/28054589​​​​​​https://zhuanlan.zhihu.com/p/28687529​​​​​......
  • 详解前端缓存,解决前端换包之后环境中仍会出现旧版效果
    前端项目修改了很多东西:比如bug啊,样式啊。当你把前端项目打包之后满心欢喜的在Nginx(测试环境)换上它,然后在Jira上修改bug状态@测试人员复测。然后测试人员开始找你ba......
  • SVN中trunk,branches,tags用法详解
    Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开......
  • mongodb的aggregate聚合操作详解
    ################################### 在工作中会经常遇到一些mongodb的聚合操作,特此总结下。mongo存储的可以是复杂类型,比如数组、对象等mysql不善于处理的文档型结构,并且......
  • Django——全局配置settings详解
    Django设置文件包含你所有的Django安装配置。这个文件一般在你的项目文件夹里。比如我们创建了一个名为mysite的项目,那么这个配置文件setting.py就在项目里的mysite文件夹......
  • Gitlab CI 配置文件 .gitlab-ci.yaml 详解
    转载:GitlabCI配置文件.gitlab-ci.yaml详解(上)-腾讯云开发者社区-腾讯云(tencent.com)本文档用于描述.gitlab-ci.yml语法,.gitlab-ci.yml文件被用来管理项目的......
  • KMP字符串模式匹配详解
    KMP字符串模式匹配详解KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度......
  • 目标检测中的Anchor详解
    目标检测中的Anchor详解......
  • 万字长文详解 YOLOv1-v5 系列模型
    yolov1作者提出了一种新的目标检测方法YOLO,之前的目标检测工作都是重新利用分类器来执行检测。作者的神经网络模型是端到端的检测,一次运行即可同时得到所有目标......