1. 程式人生 > >ansible之配置tomcat

ansible之配置tomcat

自動化運維

創建目錄:

cd /etc/ansible/roles
mkdir {tomcat}/{files,vars,templates,tasks} -pv
[root@node1 roles]# tree  tomcat
tomcat
├── files   #tomcat安裝包存放路徑
├── tasks     #任務文件main.yml
├── templates   #模版文件存放在該目錄下
└── vars #變量文件main.ym

編寫task:

[root@node1 tomcat]# cat tasks/main.yml 
#- name: tomcat
#  copy: 
#    src=apache-tomcat-8.5.23.tar.gz
#    dest={{ dest_path }}/
- name: 判斷tomcat是否已經安裝
  stat: path={{ tomcat_path01 }}
  register: reg
- name: unzip 
  #shell: tar zxvf {{ dest_path }}/apache-tomcat-8.5.23.tar.gz -C /ane
  unarchive: src=apache-tomcat-8.5.23.tar.gz  dest=/ane 
  when: not reg.stat.exists  #當/ane/tomcat目錄不存在時執行解壓操作
- name: rename
  command: chdir=/ane   mv apache-tomcat-8.5.23 tomcat01
  when: not reg.stat.exists #當 /ane/tomcat01不存在的時候執行rename操作
  #ignore_errors: True
- name: conf
  template: 
    src=server.xml.j2 dest={{ tomcat_path01 }}/conf/server.xml
- name: tocmat_startup.sh    
  template:
    src=startup8.sh.j2 dest={{ tomcat_scripts01 }}/startup01.sh mode=655
- name: start_service
  shell: sh {{ tomcat_startup01 }}/startup01.sh

備註:
1、因為生產服務器tomcat路徑相同,故此添加了全局變量,所有的roles都可以直接引用.
1.1、在/etc/ansible下,新建group_vars目錄

mkdir /etc/ansible/group_vars

1.2、新建all文件,設置全局變量

cat /etc/ansible/group_vars/all
tomcat_home: /ane/tomcat01
dest_home: /ane/soft
tomcat_startup01: /ane/scripts/

2、tomcat啟動腳本中添加了jmx監控,其中ip設置為變量,推過去後自動替換為當前主機IP,(能偷懶就偷懶)
技術分享圖片

ansible之配置tomcat