前言
Ansible 入门详解参考等源于此
适用于自己的Ansible playbook
获取阿里云Ansible的源,安装Ansible
Centos7
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
Centos6
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
安装Ansible
yum -y install ansible
下载Tomcat
mkdir -p /data/ansible-script/ && cd /data/ansible-script/
vim tomcat.yml
- 手动下载一个对应版本的tomcat.tar.gz,并放在相应目录
Tomcat官网
编写剧本
# 指明在webservers组内所有主机上执行任务
# tempip是指目标服务器IP地址:SSH端口(或修改主机清单ansible/host使用别名也可)
# 例如 192.168.2.25:22
# 指明在webservers组内所有主机上执行任务
- hosts: tempip
#远程执行任务的用户为
remote_user: root
#自定义变量
vars:
- tomcat: "/data/source/apache-tomcat-9.0.19.tar.gz"
- path: "/data1"
#任务列表
tasks:
#声明
- name: mkdir {{ path }} && installation
#shell 模块
shell: mkdir -p {{ path }}/installation
- name: copy Tomcat
copy: src={{ tomcat }} dest={{ path }}/apache-tomcat-9.0.19.tar.gz backup=yes
- name: tar && mv
shell: cd {{ path }} && tar -xvf apache-tomcat-9.0.19.tar.gz && mv apache-tomcat-9.0.19/ tomcat
- name: mv tomcat package
shell: mv {{ path }}/apache-tomcat-9.0.19.tar.gz {{ path }}/installation/
- name: check JAVA_HOME in /etc/profile
#shell: cat /etc/profile
shell: cat ~/.bashrc
register: bashrc_result
- name: 引用环境变量
when: bashrc_result.stdout.find('JAVA_HOME') == -1
shell: source /etc/profile
执行剧本
ansible-playbook tomcat.yml
报错相关
若需要密码(嫌麻烦),或失败。请先打通单向登录免密即可
单向登录命令与脚本