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