You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible-role-geoserver/tasks/geoserver.yml

80 lines
3.7 KiB
YAML

---
- block:
- name: Create the Geoserver download directory
file: path={{ geoserver_download_directory }} state=directory
- name: Create the Geoserver webapp directory
file: path={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} state=directory owner={{ item.user }} group={{ item.user }}
with_items: '{{ tomcat_m_instances }}'
- name: Create the Geoserver data directory
file: path={{ geoserver_data_directory }} state=directory owner={{ item.user }} group={{ item.user }}
with_items: '{{ tomcat_m_instances }}'
when: geoserver_create_data_dir
- name: Create the Geoserver log directory
file: path={{ geoserver_log_directory }} state=directory owner={{ item.user }} group={{ item.user }}
with_items: '{{ tomcat_m_instances }}'
- name: Download the Geoserver file distribution
get_url: url={{ geoserver_download_url }} dest={{ geoserver_download_directory }} validate_certs=False
register: geoserver_download
- name: Remove the old geoserver war files
file: dest={{ geoserver_download_directory }}/{{ item }} state=absent
with_items:
- geoserver.war
- target
when: geoserver_download is changed
- name: Unpack the Geoserver zip file
unarchive: copy=no src={{ geoserver_download_directory }}/geoserver-{{ geoserver_version }}-war.zip dest={{ geoserver_download_directory }} creates={{ geoserver_download_directory }}/geoserver.war
- name: Remove the old geoserver instance if it is present
file: dest={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} state=absent
with_items: '{{ tomcat_m_instances }}'
when: geoserver_download is changed
- name: Create the Geoserver webapp directory
file: path={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} state=directory owner={{ item.user }} group={{ item.user }}
with_items: '{{ tomcat_m_instances }}'
- name: Unpack the Geoserver war file
unarchive: copy=no src={{ geoserver_download_directory }}/geoserver.war dest={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} creates={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib owner={{ item.user }} group={{ item.user }}
with_items: '{{ tomcat_m_instances }}'
notify: tomcat multiple-instances restart
- name: Remove the postgres jdbc driver when we want a JNDI profile
shell: rm -f {{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib/postgresql*.jdbc*.jar
with_items: '{{ tomcat_m_instances }}'
when: tomcat_install_pg_jdbc
notify: tomcat multiple-instances restart
- name: Download newer jar files when needed
get_url: url={{ item.1.url }} dest={{ item.0.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib/{{ item.1.file }} owner={{ item.0.user }} group={{ item.0.user }} force=yes
with_together:
- '{{ tomcat_m_instances }}'
- '{{ geoserver_patches_data | default (omit) }}'
when: geoserver_additional_jars
notify: tomcat multiple-instances restart
tags: [ 'geoserver', 'geopatch' ]
when: geoserver_install
tags: geoserver
- block:
- name: Remove the Geoserver webapp directory
file: path={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} state=absent
with_items: '{{ tomcat_m_instances }}'
notify: tomcat multiple-instances restart
- name: Remove the Geoserver download and data directories
file: path={{ item }} state=absent
with_items:
- '{{ geoserver_download_directory }}'
- '{{ geoserver_data_directory }}'
when: not geoserver_install
tags: geoserver