Linux:ansible批量部署Tomcat

ansible批量部署Tomcat

基础内容:在运行ansible的机器上添加所有被管理资产的域名解析,并且传公钥,这里不再赘述,既然是要使用ansible的同学,这些操作应该很清楚了。

文件结构

[root@tomcat-1 roles]# tree .
.
└── tomcat
    ├── files
    │   ├── apache-tomcat-7.0.73.tar.gz
    │   └── jdk-8u181-linux-x64.tar.gz
    ├── tasks
    │   ├── install.yaml
    │   └── main.yaml
    └── vars
        └── main.yaml

file目录用来存放使用到的安装包和文件;
tasks目录主要存放需要执行那些task的yaml文件;
vars目录下主要存放需要使用到的变量,写在main.yaml文件中。

vars

[root@tomcat-1 roles]# cd tomcat/vars/
[root@tomcat-1 vars]# cat main.yaml
software_path: /opt/
java_env_path: /etc/profile.d/java.sh
jdk_package_name: jdk-8u181-linux-x64.tar.gz
tomcat_package_name: apache-tomcat-7.0.73.tar.gz

tasks

[root@tomcat-1 roles]# cd tomcat/tasks/
[root@tomcat-1 tasks]# cat main.yaml
---
- import_tasks: install.yaml
[root@tomcat-1 tasks]# cat install.yaml
---
- name: 解压JDK、Tomcat到/opt目录
  unarchive:
    src: "{
    
    { item }}"
    dest: "{
    
    { software_path }}"
  loop:
  - "{
    
    { jdk_package_name }}"
  - "{
    
    { tomcat_package_name }}"
- name: 创建java.sh
  copy:
    content: "export JAVA_HOME=/opt/jdk1.8.0_181\nexport PATH=${PATH}:${JAVA_HOME}/bin"
    dest: "{
    
    { java_env_path }}"
    mode: 755
- name: 加载java环境变量
  shell: source /etc/profile.d/java.sh

playbook

[root@tomcat-1 ansible]# cd playbook/
[root@tomcat-1 playbook]# pwd
/etc/ansible/playbook
[root@tomcat-1 playbook]# cat install_tomcat.yaml
---
- name: 安装Tomcat
  hosts: tomcat
  gather_facts: false
  user: root
  roles:
  - tomcat

执行

[root@tomcat-1 playbook]# ansible-playbook --syntax-check install_tomcat.yaml

playbook: install_tomcat.yaml
[root@tomcat-1 playbook]# ansible-playbook install_tomcat.yaml

PLAY [安装Tomcat] ****************************************************************************************************************************************************************************

TASK [tomcat : 解压JDK、Tomcat到/opt目录] ********************************************************************************************************************************************************
changed: [tomcat-1] => (item=jdk-8u181-linux-x64.tar.gz)
changed: [tomcat-3] => (item=jdk-8u181-linux-x64.tar.gz)
changed: [tomcat-3] => (item=apache-tomcat-7.0.73.tar.gz)
changed: [tomcat-1] => (item=apache-tomcat-7.0.73.tar.gz)
changed: [tomcat-2] => (item=jdk-8u181-linux-x64.tar.gz)
changed: [tomcat-2] => (item=apache-tomcat-7.0.73.tar.gz)

TASK [tomcat : 创建java.sh] ******************************************************************************************************************************************************************
changed: [tomcat-2]
changed: [tomcat-3]
changed: [tomcat-1]

TASK [tomcat : 加载java环境变量] *****************************************************************************************************************************************************************
changed: [tomcat-3]
changed: [tomcat-2]
changed: [tomcat-1]

PLAY RECAP *********************************************************************************************************************************************************************************
tomcat-1                   : ok=3    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
tomcat-2                   : ok=3    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
tomcat-3                   : ok=3    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

需要注意的是,执行完之后,敲java命令是没有的,需要重连终端才能敲出java。

猜你喜欢

转载自blog.csdn.net/rookie23rook/article/details/110748898