1. ansible-hoc 单条命令的实现
调用 shell 模块,构建步骤填写如下
运行任务,查看执行结果是否正确返回 webservers 主机的 hostname
inventory 部分也可以直接选择 Inline content 选项填写文件内容
调用 file 模块,构建步骤填写如下运行任务,在 webservers 主机上查看 test.log 文件是否生成
2. ansible-playbook yml文件的实现
获取目标主机的的 ip,并将返回的结果存储在 result 变量中
[root@jenkins ~]#vim /data/jenkins/test.yml
- hosts: webservers
remote_user: root
tasks:
- name: excute cmd
shell:
cmd: hostname -I
register: result
- name: show result
debug:
msg: "{{ result }}"
构建步骤填写如下
3. 实现多环境部署
yml 文件如下
[root@jenkins ansible]#vim /data/jenkins/test.yml
- hosts: webservers
remote_user: root
tasks:
- name: excute cmd
shell:
cmd: hostname -I
register: result
- name: show result
debug:
msg: "{{ result }}"
hosts 文件如下[root@jenkins ansible]#vim test-hosts
[webservers]
10.0.0.202 ansible_ssh_user=root
10.0.0.203 ansible_ssh_user=root
[root@jenkins ansible]#vim product-hosts
[webservers]
10.0.0.205 ansible_ssh_user=root
10.0.0.206 ansible_ssh_user=root
选择参数,定义变量名称,并添加不同环境 hosts 选项
构建步骤填写如下,host list 使用选项名称使用 $ 符号引用变量
4. 实现 ansible-playbook 参数化
yml 文件如下
[root@jenkins ansible]#vim /data/jenkins/test.yml
- hosts: "{{ ansible_hosts }} "
remote_user: root
tasks:
- name: excute cmd
shell:
cmd: hostname -I
register: result
- name: show result
debug:
msg: "{{ result }}"
hosts 文件如下
[root@jenkins ansible]#vim hosts-test
[webservers]
10.0.0.202 ansible_ssh_user=root
[appservers]
10.0.0.203 ansible_ssh_user=root
[root@jenkins ansible]#vim hosts-product
[webservers]
10.0.0.205 ansible_ssh_user=root
[appservers]
10.0.0.206 ansible_ssh_user=root
添加第一个选项参数
添加第二个选项参数
构建步骤填写如下
高级选项填写如下,key 是 ansible host 文件中的 hosts 变量,value 选项参数名称用 ${} 符号引用