tomcat
Ansible роль tomcat
Установите и настройте tomcat на вашей системе.
GitHub | GitLab | Скачивания | Версия |
---|---|---|---|
Пример плейбука
Этот пример взят из molecule/default/converge.yml
и тестируется при каждом пуше, пул-реквесте и релизе.
---
- name: Converge
hosts: all
become: true
gather_facts: true
vars:
# tomcat_address: "127.0.0.1"
tomcat_instances:
- name: "tomcat"
# - name: "tomcat-version-7"
# version: 7
# shutdown_port: 8007
# non_ssl_connector_port: 8082
# ssl_connector_port: 8445
# ajp_port: 8011
# - name: "tomcat-version-8"
# version: 8
# shutdown_port: 8008
# non_ssl_connector_port: 8083
# ssl_connector_port: 8446
# ajp_port: 8012
# - name: "tomcat-version-9"
# version: 9
# shutdown_port: 8019
# non_ssl_connector_port: 8084
# ssl_connector_port: 8447
# ajp_port: 8013
# - name: "tomcat-specific"
# user: "specificuser"
# group: "specificgroup"
# shutdown_port: 8020
# shutdown_pass: shutme
# non_ssl_connector_port: 8085
# ssl_connector_port: 8448
# ajp_port: 8014
# xms: 256M
# xmx: 512M
# - name: "tomcat-with-wars"
# shutdown_port: 8021
# non_ssl_connector_port: 8086
# ssl_connector_port: 8449
# ajp_port: 8015
# wars:
# - url: https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war
# - url: "https://github.com/aeimer/java-example-helloworld-war/raw/master/dist/helloworld.war"
# - name: "tomcat-java_opts"
# shutdown_port: 8022
# non_ssl_connector_port: 8087
# ssl_connector_port: 8449
# ajp_port: 8016
# java_opts:
# - name: UMASK
# value: "0007"
# - name: "tomcat-with_lib"
# shutdown_port: 8023
# non_ssl_connector_port: 8088
# ssl_connector_port: 8450
# ajp_port: 8017
# libs:
# - url: "https://search.maven.org/remotecontent?filepath=io/prometheus/simpleclient/0.6.0/simpleclient-0.6.0.jar"
# - name: "tomcat-access-logs"
# shutdown_port: 8024
# non_ssl_connector_port: 8089
# ssl_connector_port: 8451
# ajp_port: 8018
# access_log_enabled: true
# access_log_directory: "my-logs"
# access_log_prefix: my-access-logs
# access_log_suffix: ".log"
# access_log_pattern: "%h %l %u %t "%r" %s %b"
# - name: "tomcat-config-files"
# shutdown_port: 8025
# non_ssl_connector_port: 8090
# ssl_connector_port: 8452
# ajp_port: 8019
# ajp_secret: "SoMe-SeCrEt"
# config_files:
# - src: "{{ role_path }}/files/dummy.properties"
# dest: "./"
# mode: "0644"
roles:
- role: robertdebock.tomcat
Машина должна быть подготовлена. В CI это делается с помощью molecule/default/prepare.yml
:
---
- name: Prepare
hosts: all
become: true
gather_facts: false
roles:
- role: robertdebock.bootstrap
- role: robertdebock.core_dependencies
- role: robertdebock.java
# __java_version:
# default: 8
# Debian: 11
# Debian-bookworm: 17
# java_version: "{{ _desired_java_version[ansible_distribution ~ '-' ~ ansible_distribution_release] | default(_desired_java_version[ansible_distribution] | default(_desired_java_version['default'])) }}"
Также смотрите полное объяснение и пример того, как использовать эти роли.
Переменные роли
Значения по умолчанию для переменных установлены в defaults/main.yml
:
---
# файл настроек по умолчанию для tomcat
# Некоторые "разумные" значения по умолчанию.
tomcat_name: tomcat
tomcat_directory: /opt
tomcat_version: 9
tomcat_user: tomcat
tomcat_group: tomcat
tomcat_xms: 512M
tomcat_xmx: 1024M
tomcat_non_ssl_connector_port: 8080
tomcat_ssl_connector_port: 8443
tomcat_shutdown_port: 8005
tomcat_shutdown_pass: SHUTDOWN
tomcat_ajp_enabled: true
tomcat_ajp_port: 8009
tomcat_ajp_secret: "SoMe-SeCrEt"
tomcat_jre_home: /usr
tomcat_service_state: started
tomcat_service_enabled: true
# Вы можете привязать Tomcat к указанному адресу глобально с помощью этой переменной или
# в `tomcat_instances`. Переменная `tomcat_instances.address` более специфична,
# поэтому имеет приоритет над `tomcat_address`.
tomcat_address: "0.0.0.0"
# Настройте журналы доступа tomcat
tomcat_access_log_enabled: true
tomcat_access_log_directory: logs
tomcat_access_log_prefix: localhost_access_log
tomcat_access_log_suffix: ".txt"
tomcat_access_log_pattern: "%h %l %u %t "%r" %s %b"
# Эта роль позволяет устанавливать несколько экземпляров Apache Tomcat, каждый в своем
# месте, потенциально разных версий.
# Это достигается путем определения "tomcat_instances", где "name:" является уникальным
# идентификатором экземпляра.
# По умолчанию tomcat_instances - это один экземпляр с использованием значений по умолчанию,
# описанных в defaults/main.yml.
tomcat_instances:
- name: "{{ tomcat_name }}"
version: "{{ tomcat_version }}"
user: "{{ tomcat_user }}"
group: "{{ tomcat_group }}"
xms: "{{ tomcat_xms }}"
xmx: "{{ tomcat_xmx }}"
non_ssl_connector_port: "{{ tomcat_non_ssl_connector_port }}"
ssl_connector_port: "{{ tomcat_ssl_connector_port }}"
shutdown_port: "{{ tomcat_shutdown_port }}"
ajp_enabled: "{{ tomcat_ajp_enabled }}"
ajp_port: "{{ tomcat_ajp_port }}"
ajp_secret: "{{ tomcat_ajp_secret }}"
# Вы можете выбрать адрес для каждого экземпляра:
# address: "127.0.0.1"
packet_size: 8192
java_opts:
- name: JRE_HOME
value: "{{ tomcat_jre_home }}"
access_log_enabled: "{{ tomcat_access_log_enabled }}"
access_log_directory: "{{ tomcat_access_log_directory }}"
access_log_prefix: "{{ tomcat_access_log_prefix }}"
access_log_suffix: "{{ tomcat_access_log_suffix }}"
access_log_pattern: "{{ tomcat_access_log_pattern }}"
service_state: "{{ tomcat_service_state }}"
service_enabled: "{{ tomcat_service_enabled }}"
# Явная версия, которую следует использовать при обращении к короткому имени.
tomcat_version7: "7.0.109"
tomcat_version8: "8.5.73"
tomcat_version9: "9.0.55"
tomcat_version10: "10.1.12"
# Место, откуда можно скачать Apache Tomcat.
tomcat_mirror: "https://archive.apache.org"
Требования
- Пакеты pip, указанные в requirements.txt.
Состояние используемых ролей
Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.
Требование | GitHub | GitLab |
---|---|---|
robertdebock.bootstrap | ||
robertdebock.core_dependencies | ||
robertdebock.java | ||
robertdebock.service |
Контекст
Эта роль является частью многих совместимых ролей. Посмотрите документацию этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:
Совместимость
Эта роль была протестирована на следующих образах контейнеров:
Контейнер | Теги |
---|---|
EL | 9 |
Debian | все |
Fedora | все |
Ubuntu | все |
Минимальная версия Ansible, необходимая для работы, составляет 2.12, были проведены тесты для:
- Предыдущей версии.
- Текущей версии.
- Разработческой версии.
Если вы обнаружите проблемы, пожалуйста, сообщите о них в GitHub.
Лицензия
Информация об авторе
Пожалуйста, рассмотрите возможность поддержки меня.
ansible-galaxy install robertdebock/ansible-role-tomcat