本文共 2841 字,大约阅读时间需要 9 分钟。
今天实现ansible的roles来安装jenkins
root@centos-mysql01:/data/sh/ansible_role# tree jenkinsjenkins├── files│ ├── jenkins #jenkins的defaults的配置文件│ ├── jenkins.io.key # jenkins的key密钥文件│ └── jenkins.list #jenkins的源地址文件├── handlers│ └── main.yml├── tasks│ └── main.yml└── vars └── main.yml
root@centos-mysql01:/data/sh/ansible_role# cat jenkins/handlers/main.yml - name: restart jenkins listen: jenkins status service: name=jenkins enabled=yes state=restarted - name: reload jenkins listen: jenkins status service: name=jenkins state=reloaded
root@centos-mysql01:/data/sh/ansible_role# cat jenkins/tasks/main.yml - name: wget install apt: name=wget state=latest - name: 获取jenkins的key 导入系统 shell: wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - - name: 导入list文件 shell: sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' - name: 安装jenkins apt: name=jenkins state=present - name: jenkins conf change copy: src=jenkins dest={ {jenkins_conf}} notify: - restart jenkins - name: 获取initalAdminPassword shell: filepass=`cat /var/lib/jenkins/secrets/initialAdminPassword` && echo $filepass register: say_hi #重点显示 - debug: var=say_hi.stdout #重点显示
- name: 获取initalAdminPassword shell: filepass=`cat /var/lib/jenkins/secrets/initialAdminPassword` && echo $filepass register: say_hi #重点显示 - debug: var=say_hi.stdout #重点显示在ansible中,任何一个模块都会返回json格式的数据,即使是错误信息都是json格式的。在ansible中,json格式的数据,其内每一项都可以通过变量来引用它。当然,引用的前提是先将其注册为变量。例如,下面的playbook是将shell模块中echo命令的结果注册为变量,并使用debug模块输出。 - hosts: benji tasks: - shell: echo hello world register: hanye - debug: var=hanye root@centos-mysql01:/data/sh/ansible_role# ansible-playbook register.yml TASK [debug] *********************************************************************************************************************** ok: [192.168.1.124] => { "hanye": { "changed": true, "cmd": "echo hello world", "delta": "0:00:00.066617", "end": "2018-12-25 14:17:35.571232", "failed": false, "rc": 0, "start": "2018-12-25 14:17:35.504615", "stderr": "", "stderr_lines": [], "stdout": "hello world", "stdout_lines": [ "hello world" ] } }
- hosts: benji tasks: - shell: echo hello world register: hanye - debug: var=hanye.stdout
- hosts: benji tasks: - shell: echo hello world register: hanye - debug: var=hanye.stdout[0]
ansible benji -m setup -a "filter=*eth*"
转载于:https://blog.51cto.com/9025736/2335024