1、需求
通过指定标签 tags ,来说明是安装 tomcat8 还是 tomcat9
1、准备入口 main.yml 文件,然后包含 install_tomcat8.yml 以及install_tomcat9.yml
2、在执行 main.yml 时,需要通过 --tags 指明要安装的版本
2、实战-示例
2.1、编写 main.yml 入口文件
cat << 'CAT_END' > main.yaml
- name: install tomcat 8 version
include: install_tomcat8.yaml
tags: tomcat8
- name: install tomcat 9 version
include: install_tomcat9.yaml
tags: tomcat9
CAT_END
2.2、编写tomcat8 playbook
cat << 'CAT_END' > install_tomcat8.yaml
- hosts: httpd
vars:
- tomcat_version: 8.5.88
- install_dir: /usr/local
tasks:
- name: install java-1.8.0-openjdk
yum: name=java-1.8.0-openjdk state=present
- name: download tomcat
get_url:
url: "https://dlcdn.apache.org/tomcat/tomcat-8/v{{tomcat_version}}/bin/apache-tomcat-{{tomcat_version}}.tar.gz"
dest: /tmp
validate_certs: no
- name: "unarchive tomcat-{{tomcat_version}}"
unarchive:
src: "/tmp/apache-tomcat-{{tomcat_version}}.tar.gz"
dest: "{{install_dir}}/"
copy: no
- name: link tomcat home
file:
src: "{{install_dir}}/apache-tomcat-{{tomcat_version}}"
path: "{{install_dir}}/tomcat8"
state: link
- name: start tomcat server
shell:
chdir: "{{install_dir}}/tomcat8/bin"
cmd: nohup ./startup.sh &
CAT_END
2.3、编写tomcat9 playbook
cat << 'CAT_END' > install_tomcat9.yaml
- hosts: httpd
vars:
- tomcat_version: 9.0.75
- install_dir: /usr/local
tasks:
- name: install java-1.8.0-openjdk
yum: name=java-1.8.0-openjdk state=present
- name: download tomcat
get_url:
url: "https://dlcdn.apache.org/tomcat/tomcat-9/v{{tomcat_version}}/bin/apache-tomcat-{{tomcat_version}}.tar.gz"
dest: /tmp
validate_certs: no
- name: "unarchive tomcat-{{tomcat_version}}"
unarchive:
src: "/tmp/apache-tomcat-{{tomcat_version}}.tar.gz"
dest: "{{install_dir}}/"
copy: no
- name: link tomcat home
file:
src: "{{install_dir}}/apache-tomcat-{{tomcat_version}}"
path: "{{install_dir}}/tomcat9"
state: link
- name: start tomcat server
shell:
chdir: "{{install_dir}}/tomcat9/bin"
cmd: "nohup ./startup.sh &"
CAT_END
2.4、运行测试
ansible-playbook main.yaml --tags tomcat8
ansible-playbook main.yaml --tags tomcat9