sweet-tooth-clojure.clojure-uberjar-webapp-app
Clojure Uberjar Webapp: Aplikacja
Ta rola konfiguruje serwer do uruchamiania samodzielnego programu java jako serwera internetowego. Zawiera:
- Instalację pakietów potrzebnych do uruchomienia programu java (openjdk-8-jre)
- Instalację skryptu upstart, aby uruchomić program jako usługę
- Wykorzystanie zmiennych środowiskowych do skonfigurowania programu
Zobacz https://github.com/sweet-tooth-clojure/ansible-roles, aby uzyskać szybki przegląd i instrukcje. Zobacz Jak wdrożyć swoją pierwszą aplikację Clojure... Z cienia dla wprowadzenia do Ansible i szczegółowego wyjaśnienia tej roli.
Wymagania
Brak
Zmienne roli
Starałem się jak najlepiej z parametryzować, aby zdefiniować domyślne wartości, tak aby trzeba było jedynie zdefiniować kilka zmiennych, aby wszystko działało. Jeśli zdefiniujesz clojure_uberjar_webapp_domain
, to flyingmachine.clojure-uberjar-webapp-common
zdefiniuje clojure_uberjar_webapp_app_name
, które jest używane przez większość poniższych zmiennych.
Na przykład, jeśli Twoja domena to foo.bar.com
, nazwa aplikacji będzie foo-bar-com
. Twój plik java jar zostanie przesłany do /var/www/foo-bar-com/foo-bar-com.jar
. Usługa upstart będzie miała nazwę foo-bar-com
, a logi znajdziesz w /var/log/foo-bar-com/foo-bar-com.log
. Uważam, że ta spójność ułatwia poruszanie się po systemie plików.
Są pewne odniesienia do zmiennych datomicznych, ale są one opcjonalne. Mam nadzieję, że ulepszymy role, aby ta rola nie zawierała odniesień do datomic.
Zmienna | Opis |
---|---|
clojure_uberjar_webapp_app_user |
użytkownik, który jest właścicielem plików związanych z aplikacją |
clojure_uberjar_webapp_app_http_port |
ustawiana jako zmienna środowiskowa HTTP_SERVER_PORT przy uruchamianiu jar |
clojure_uberjar_webapp_app_http_env_path |
gdzie umieścić plik, który eksportuje HTTP_SERVER_PORT ; jest używane w upstarcie |
clojure_uberjar_webapp_app_service_name |
używane przez upstart, np. sudo service xyz start |
clojure_uberjar_webapp_app_jar_name |
nazwa używana przy kopiowaniu pliku jar na serwer |
clojure_uberjar_webapp_app_env_local_path |
gdzie szukać na lokalnej maszynie pliku, który ustawia inne zmienne środowiskowe dla aplikacji uberjar |
clojure_uberjar_webapp_app_env_path |
gdzie zapisać plik, który ustawia zmienne środowiskowe aplikacji; jest źródłem w skrypcie upstart |
clojure_uberjar_webapp_app_check_local_path |
gdzie szukać na lokalnej maszynie szablonu skryptu do sprawdzenia wdrożenia |
clojure_uberjar_webapp_app_command |
używane w skrypcie upstart do uruchomienia aplikacji internetowej |
Zależności
- flyingmachine.clojure-uberjar-webapp-common
- flyingmachine.clojure-uberjar-webapp-nginx
- jest przydatne, ale opcjonalne
Przykład Playbooka
---
- 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"
Repozytorium GitHub
https://github.com/sweet-tooth-clojure/ansible-role-clojure-uberjar-webapp-app
Licencja
MIT
Informacje o autorze
Daniel Higginbotham
ansible-galaxy install sweet-tooth-clojure.clojure-uberjar-webapp-app