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

Clojure Uberjar Webapp: App

Diese Rolle konfiguriert einen Server, um ein eigenständiges Java-Programm als Webserver auszuführen. Es:

  • Installiert die benötigten Pakete, um ein Java-Programm auszuführen (openjdk-8-jre)
  • Installiert ein Upstart-Skript, um das Programm als Dienst auszuführen
  • Nutzt Umgebungsvariablen, um dein Programm zu konfigurieren

Siehe https://github.com/sweet-tooth-clojure/ansible-roles für einen schnellen Überblick und Anleitungen. Siehe Deploying Your First Clojure App ...From the Shadows für eine Einführung in Ansible und eine ausführliche Erklärung dieser Rolle.

Anforderungen

Keine

Rollenvariablen

Ich habe versucht, so viel wie möglich zu parametrisieren, um Standardwerte zu definieren, damit du nur ein paar Variablen angeben musst, damit alles funktioniert. Wenn du clojure_uberjar_webapp_domain definierst, dann wird flyingmachine.clojure-uberjar-webapp-common clojure_uberjar_webapp_app_name definieren, welches von den meisten Variablen unten verwendet wird.

Zum Beispiel, wenn deine Domain foo.bar.com ist, wird der App-Name foo-bar-com sein. Deine Java-JAR wird hochgeladen nach /var/www/foo-bar-com/foo-bar-com.jar. Der Upstart-Dienst wird foo-bar-com genannt, und du findest die Protokolle unter /var/log/foo-bar-com/foo-bar-com.log. Ich finde, dass diese Konsistenz es einfacher macht, im Dateisystem zu navigieren.

Es gibt einige Verweise auf Datomic-Variablen, aber diese sind optional. Ich hoffe, die Rollen so zu verbessern, dass diese Rolle keine Verweise auf Datomic enthält.

Variable Beschreibung
clojure_uberjar_webapp_app_user Benutzer, der die app-bezogenen Dateien besitzt
clojure_uberjar_webapp_app_http_port Wird als HTTP_SERVER_PORT Umgebungsvariable beim Starten der JAR gesetzt
clojure_uberjar_webapp_app_http_env_path Wo die Datei platziert wird, die HTTP_SERVER_PORT exportiert; wird in Upstart verwendet
clojure_uberjar_webapp_app_service_name Wird von Upstart verwendet, z.B. sudo service xyz start
clojure_uberjar_webapp_app_jar_name Name, der beim Kopieren der JAR-Datei auf den Server verwendet wird
clojure_uberjar_webapp_app_env_local_path Wo lokal nach der Datei gesucht wird, die andere Umgebungsvariablen für die Uberjar-App setzt
clojure_uberjar_webapp_app_env_path Wo die Datei gespeichert wird, die die Umgebungsvariablen der App setzt; wird im Upstart-Skript verwendet
clojure_uberjar_webapp_app_check_local_path Wo lokal nach einer Skriptschablone gesucht wird, um die Bereitstellung zu überprüfen
clojure_uberjar_webapp_app_command Wird im Upstart-Skript verwendet, um die Web-App zu starten

Abhängigkeiten

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

GitHub Repository

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

Lizenz

MIT

Autoreninformation

Daniel Higginbotham

Über das Projekt

Run an uberjar web app

Installieren
ansible-galaxy install sweet-tooth-clojure.clojure-uberjar-webapp-app
GitHub Repository
Lizenz
Unknown
Downloads
408