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

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

Acerca del proyecto

Run an uberjar web app

Instalar
ansible-galaxy install sweet-tooth-clojure.clojure-uberjar-webapp-app
Licencia
Unknown
Descargas
408
Propietario