本文共 1504 字,大约阅读时间需要 5 分钟。
1、部分机器信息:
/etc/ansible/hosts #hosts文件定义主机与和执行权限/etc/ansible/roles #roles是任务集合,可在roles下面新建多模块,如tomcat,jdk、yum源,防火墙等,分角色方便管理且灵活
##Jenkins配置
1、新建-自由分格项目项目名称:lbbsSvn配置:(这个svn地址也是内网哦)地址:svn://172.17.103.10:3391/lbproject/bs/Playbook path:/etc/ansible/roles/lbbs/lbbs.yml (备注:该路径为ansible的roles)
Inventory:选择File or host list File path or comma separated host list:/etc/ansible/hosts (备注:该路径为ansible的hosts文件)Hostsubset:lbbs (备注:此处为hosts文件中ip或者定义的主机组都行
[root@lbzpf bs]# cat /etc/ansible/roles/lbbs/tasks/main.yml - name: copy package to 103.111 copy: src={ { src_path }}/103.111/ne-ops-1.0.0.war dest={ { dest_path }} backup=yes #开启远程备份,在远程主机/ane/update下备份 when: "ansible_nodename == 'lb_bs1' and ansible_eth0.ipv4.address == '172.17.103.111'" #条件判断 - name: copy package to 103.32 copy: src={ { src_path }}/103.32/ne-ops-1.0.0.war dest={ { dest_path }} backup=yes when: "ansible_nodename == 'bs-web04' and ansible_eth0.ipv4.address == '172.17.103.32'"备注:加when条件判断原因是:war包里有个文件引用了当前的主机ip,没办法,只能这样了[root@lbzpf bs]# cat /etc/ansible/roles/lbbs/vars/main.yml #vars定义了上面用到的两个变量路径src_path: /var/lib/jenkins/workspace/lbbs #源路径dest_path: /ane/update #目标路径
检查执行结果
转载于:https://blog.51cto.com/9682938/2134829