sweet-tooth-clojure.clojure-uberjar-webapp-app
Clojure Uberjar Webapp: App
Este rol configura un servidor para ejecutar un programa de Java independiente como un servidor web. Hace lo siguiente:
- Instala los paquetes necesarios para ejecutar un programa de Java (openjdk-8-jre).
- Instala un script de upstart para ejecutar el programa como un servicio.
- Se basa en variables de entorno para configurar tu programa.
Consulta https://github.com/sweet-tooth-clojure/ansible-roles para una visión rápida y instrucciones. Consulta Desplegando Tu Primera Aplicación Clojure ...Desde las Sombras para una guía introductoria sobre Ansible y una explicación detallada de este rol.
Requisitos
Ninguno
Variables del Rol
He tratado de parametrizar tanto como he podido, pero definiendo valores predeterminados de modo que solo necesites definir un par de variables para que todo funcione. Si defines clojure_uberjar_webapp_domain
, entonces flyingmachine.clojure-uberjar-webapp-common
definirá clojure_uberjar_webapp_app_name
, que se utiliza en la mayoría de las variables a continuación.
Por ejemplo, si tu dominio es foo.bar.com
, el nombre de la aplicación será foo-bar-com
. Tu archivo jar de Java se subirá a /var/www/foo-bar-com/foo-bar-com.jar
. El servicio de upstart se llamará foo-bar-com
, y encontrarás los registros en /var/log/foo-bar-com/foo-bar-com.log
. Creo que esta consistencia facilita la navegación por el sistema de archivos.
Hay algunas referencias a variables de datomic, pero son opcionales. Espero mejorar los roles para que este rol no contenga referencias a datomic.
Variable | Descripción |
---|---|
clojure_uberjar_webapp_app_user |
usuario que posee los archivos relacionados con la aplicación |
clojure_uberjar_webapp_app_http_port |
se establece como la variable de entorno HTTP_SERVER_PORT al iniciar el jar |
clojure_uberjar_webapp_app_http_env_path |
donde poner el archivo que exporta HTTP_SERVER_PORT ; se carga en upstart |
clojure_uberjar_webapp_app_service_name |
utilizado por upstart, por ejemplo, sudo service xyz start |
clojure_uberjar_webapp_app_jar_name |
nombre a usar al copiar el archivo jar al servidor |
clojure_uberjar_webapp_app_env_local_path |
dónde buscar en la máquina local el archivo que establece otras variables de entorno para la aplicación uberjar |
clojure_uberjar_webapp_app_env_path |
dónde guardar el archivo que establece las variables de entorno de la aplicación; se carga en el script de upstart |
clojure_uberjar_webapp_app_check_local_path |
dónde buscar en la máquina local un modelo de script para verificar el despliegue |
clojure_uberjar_webapp_app_command |
utilizado en el script de upstart para iniciar la aplicación web |
Dependencias
- flyingmachine.clojure-uberjar-webapp-common
- flyingmachine.clojure-uberjar-webapp-nginx
- es útil pero opcional
Ejemplo de Playbook
---
- hosts: webservers
become: true
become_method: sudo
roles:
- "sweet-tooth-clojure.clojure-uberjar-webapp-common"
- "sweet-tooth-clojure.clojure-uberjar-webapp-nginx"
- "sweet-tooth-clojure.clojure-uberjar-webapp-datomic-free"
- "sweet-tooth-clojure.clojure-uberjar-webapp-app"
Repositorio de GitHub
https://github.com/sweet-tooth-clojure/ansible-role-clojure-uberjar-webapp-app
Licencia
MIT
Información del Autor
Daniel Higginbotham
ansible-galaxy install sweet-tooth-clojure.clojure-uberjar-webapp-app