sweet-tooth-clojure.clojure-uberjar-webapp-app

Clojure Uberjar Webapp : Application

Ce rôle configure un serveur pour exécuter un programme Java autonome en tant que serveur web. Il :

  • Installe les paquets nécessaires pour exécuter un programme Java (openjdk-8-jre)
  • Installe un script upstart pour exécuter le programme en tant que service
  • S’appuie sur des variables d'environnement pour configurer votre programme

Consultez https://github.com/sweet-tooth-clojure/ansible-roles pour un aperçu rapide et des instructions. Consultez Déployer votre première application Clojure... de l'ombre pour un guide d'introduction à Ansible et une explication détaillée de ce rôle.

Exigences

Aucune

Variables du rôle

J'ai essayé de paramétrer autant que possible, mais de définir des valeurs par défaut afin que vous n'ayez qu'à définir quelques variables pour que tout fonctionne. Si vous définissez clojure_uberjar_webapp_domain, alors flyingmachine.clojure-uberjar-webapp-common définira clojure_uberjar_webapp_app_name, qui est utilisé par la plupart des variables ci-dessous.

Par exemple, si votre domaine est foo.bar.com, le nom de l'application sera foo-bar-com. Votre fichier jar Java sera téléchargé dans /var/www/foo-bar-com/foo-bar-com.jar. Le service upstart sera nommé foo-bar-com, et vous trouverez les journaux sous /var/log/foo-bar-com/foo-bar-com.log. Je trouve que cette cohérence facilite la navigation dans le système de fichiers.

Il y a quelques références à des variables datomic, mais celles-ci sont optionnelles. J'espère améliorer les rôles pour que ce rôle ne contienne aucune référence à datomic.

Variable Description
clojure_uberjar_webapp_app_user utilisateur qui possède les fichiers liés à l'application
clojure_uberjar_webapp_app_http_port défini comme variable d'environnement HTTP_SERVER_PORT lors du démarrage du jar
clojure_uberjar_webapp_app_http_env_path où mettre le fichier qui exporte HTTP_SERVER_PORT ; sera source dans upstart
clojure_uberjar_webapp_app_service_name utilisé par upstart, par exemple sudo service xyz start
clojure_uberjar_webapp_app_jar_name nom à utiliser lors de la copie du fichier jar sur le serveur
clojure_uberjar_webapp_app_env_local_path où chercher sur la machine locale le fichier qui définit d'autres variables d'environnement pour l'application uberjar
clojure_uberjar_webapp_app_env_path où sauvegarder le fichier qui définit les variables d'environnement de l'application ; sera source dans le script upstart
clojure_uberjar_webapp_app_check_local_path où chercher sur la machine locale un modèle de script pour vérifier le déploiement
clojure_uberjar_webapp_app_command utilisé dans le script upstart pour démarrer l'application web

Dépendances

Exemple 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"

Dépôt GitHub

https://github.com/sweet-tooth-clojure/ansible-role-clojure-uberjar-webapp-app

Licence

MIT

Informations sur l'auteur

Daniel Higginbotham

À propos du projet

Run an uberjar web app

Installer
ansible-galaxy install sweet-tooth-clojure.clojure-uberjar-webapp-app
Licence
Unknown
Téléchargements
408
Propriétaire