centos 7 使用Ansible 发布tomcat 服务

来源:互联网 发布:ps for mac破解版下载 编辑:程序博客网 时间:2024/05/16 16:11

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51182480 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于ansible


ansible是一个python开放的服务器部署工具。
使用yml,进行配置,非常简单容易学习。

2,安装


http://docs.ansible.com/ansible/intro_installation.html
参考官网网站,centos 7直接yum install 就行了。

 sudo yum install ansible

3,创建tomcat部署yml


ansible的模块有很多超级方便:
http://docs.ansible.com/ansible/list_of_all_modules.html
tomcat在部署的时候直接把webapps里面的文件夹全部删除。
在部署的时候直接部署到webapps/ROOT文件夹里面。
因为webapps里面是tomcat的admin管理和一些demo的,也没有啥用,还有安全隐患,直接删除。
编辑 admin.yml,其中tomcat-admin需要在hosts里面配置好。

- name: install tomcat admin   hosts: tomcat-admin  sudo: True  vars:    war_file: /local-data-dir/admin.war #本地文件    tomcat_root: /remote-data-dir/tomcat/webapps/ROOT #部署的远程ROOT目录  tasks:    - name: stop tomcat.      action: shell {{ tomcat_root }}/../../bin/catalina.sh stop -force    - name: rm ROOT.      file:         state: absent        dest: "{{ tomcat_root }}"    - name: mkdir ROOT.      file:        state: directory        dest: "{{ tomcat_root }}"        owner: root        group: root        mode: 755    - name: unzip war.      unarchive:         src: "{{ war_file }}"        dest: "{{ tomcat_root }}"        copy: yes    - name: start tomcat.      action: shell {{ tomcat_root }}/../../bin/catalina.sh start

使用了 5个命令解决tomcat上线的问题。
1,action: shell 停止tomcat,由于直接将tomcat目录设置成了了root目录。多了个 ../../bin。
2,删除ROOT文件夹 使用file: state:absent,好处防止错误删除文件。
3,使用unarchive命令,copy:yes直接拷贝本地文件到远程,并且解压缩后删除文件。省了几步重复操作。一步搞定。
参考:
http://docs.ansible.com/ansible/unarchive_module.html

直接执行 ansible-playbook admin.yml即可部署。非常简单。

4,总结


本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51182480 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

ansible使用了yml,学起来非常的简单。
非常讨厌的写shell,使用python部署净写一些重复的代码。
而且在部署的时候调试也很麻烦,ansible非常好,调试也很简单加上-debug:标签就行。

0 0
原创粉丝点击