CentOS 7 使用Ansible 发布多个 Tomcat 服务

这一篇讲了 CentOS 7下使用 Ansible 发布了一个Tomcat。
发现发布的脚步是可以共用的。使用参数规定区分tomcat服务。

2,比如发布两个tomcat

发布一个手机端,web的和admin的tomcat。
tomcat-mobile
tomcat-web
tomcat-admin
假设分别在 3个服务器上面
192.168.100.101
192.168.100.102
192.168.100.103
tomcat 线上的目录是:
/data/tomcat-mobile
/data/tomcat-web
/data/tomcat-admin

配置/etc/ansible/hosts

[tomcat-mobile]
tomcat-mobile-01 ansible_ssh_host=192.168.100.101 ansible_ssh_port=22 ansible_ssh_user=root
[tomcat-web]
tomcat-web-01 ansible_ssh_host=192.168.100.101 ansible_ssh_port=22 ansible_ssh_user=root
[tomcat-admin]
tomcat-admin-01 ansible_ssh_host=192.168.100.101 ansible_ssh_port=22 ansible_ssh_user=root

3,创建一个通用的tomcat.yml

tomcat部署模板。其中tomcat_root 和 war_file是变量。
在每一个类型的部署yml中定义。

- name: stop tomcat. command: /bin/sh {{ tomcat_root }}/../../bin/catalina.sh stop -force ignore_errors: yes async: 10 - name: rm ROOT. file: state: absent dest: "{{ tomcat_root }}" - name: mkdir ROOT. file: state: directory dest: "{{ tomcat_root }}" - name: unzip war. unarchive: src: "{{ war_file }}" dest: "{{ tomcat_root }}" copy: yes - name: rm war. file: state: absent dest: "{{ war_file }}" - name: start tomcat. command: /bin/sh {{ tomcat_root }}/../../bin/catalina.sh start ignore_errors: yes async: 10

然后创建 3 个yml
tomcat-mobile.yml

--- - name: install tomcat-mobile hosts: tomcat-mobile sudo: False vars: war_file: /data/build/tomcat-mobile.war tomcat_root: /data/tomcat-mobile/webapps/ROOT tasks: - name: Include local facts tasks include: tomcat.yml

tomcat-web.yml:

--- - name: install tomcat-web hosts: tomcat-web sudo: False vars: war_file: /data/build/tomcat-web.war tomcat_root: /data/tomcat-web/webapps/ROOT tasks: - name: Include local facts tasks include: tomcat.yml

tomcat-admin.yml:

--- - name: install tomcat-admin hosts: tomcat-admin sudo: False vars: war_file: /data/build/tomcat-admin.war tomcat_root: /data/tomcat-admin/webapps/ROOT tasks: - name: Include local facts tasks include: tomcat.yml 4,总结

执行部署:
/usr/bin/ansible-playbook tomcat-mobile.yml。
ansible 使用include的解决了脚本的重复编写问题。
将变量设置,可以同时部署多个tomcat。并且根据hosts的分组配置。当tomcat-web部署多台之后,将ssh打通后配置即可。非常简单的就按组进行扩展部署了。

下面关于Ansible的文章您也可能喜欢,不妨参考下:

使用Ansible批量管理远程服务器 

Ansible安装配置与简单使用 

CentOS 7 中安装并使用自动化工具 Ansible 

Ansible和Docker的作用和用法 

CentOS 7上搭建Jenkins+Ansible服务 

Ansible批量搭建LAMP环境

Ansible :一个配置管理和IT自动化工具 

Ansible基础—安装与常用模块 

自动化运维工具之 Ansible 介绍及安装使用 

Ansible入门notify和handlers 

CentOS 6.5安装自动化工具Ansible和图形化工具Tower 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f9edb4963fd4b8005812ca693e7b9068.html