clojure-uberjar-webapp-app
Clojure Uberjar Webapp: Приложение
Эта роль настраивает сервер для запуска самостоятельной Java-программы в качестве веб-сервера. Она:
- Устанавливает пакеты, необходимые для запуска Java-программы (openjdk-8-jre)
- Устанавливает скрипт upstart для запуска программы как службы
- Использует переменные окружения для настройки вашей программы
Смотрите https://github.com/sweet-tooth-clojure/ansible-roles для быстрого обзора и инструкций. См. Развертывание вашего первого приложения Clojure ... из теней для вводного руководства по Ansible и подробного объяснения этой роли.
Требования
Нет
Переменные роли
Я постарался максимизировать количество параметров, чтобы вам нужно было
определить только несколько переменных для того, чтобы все работало. Если вы зададите clojure_uberjar_webapp_domain
,
то flyingmachine.clojure-uberjar-webapp-common
определит
clojure_uberjar_webapp_app_name
, которое используется большинством переменных
ниже.
Например, если ваш домен foo.bar.com
, имя приложения будет
foo-bar-com
. Ваш java jar будет загружен в
/var/www/foo-bar-com/foo-bar-com.jar
. Служба upstart будет
названа foo-bar-com
, и вы найдете логи в
/var/log/foo-bar-com/foo-bar-com.log
. Я считаю, что эта последовательность
облегчает навигацию по файловой системе.
Есть некоторые ссылки на переменные datomic, но они необязательны. Я надеюсь улучшить роли так, чтобы эта роль не содержала ссылок на datomic.
Переменная | Описание |
---|---|
clojure_uberjar_webapp_app_user |
пользователь, владеющий файлами, связанными с приложением |
clojure_uberjar_webapp_app_http_port |
устанавливается как переменная окружения HTTP_SERVER_PORT при запуске jar |
clojure_uberjar_webapp_app_http_env_path |
место для файла, который экспортирует HTTP_SERVER_PORT ; загружается в upstart |
clojure_uberjar_webapp_app_service_name |
используется в upstart, например, sudo service xyz start |
clojure_uberjar_webapp_app_jar_name |
имя, используемое при копировании jar-файла на сервер |
clojure_uberjar_webapp_app_env_local_path |
где искать на локальной машине файл, который устанавливает другие переменные окружения для uberjar приложения |
clojure_uberjar_webapp_app_env_path |
где сохранить файл, который устанавливает переменные окружения приложения; загружается в скрипт upstart |
clojure_uberjar_webapp_app_check_local_path |
где искать на локальной машине шаблон скрипта для проверки развертывания |
clojure_uberjar_webapp_app_command |
используется в скрипте upstart для запуска веб-приложения |
Зависимости
- flyingmachine.clojure-uberjar-webapp-common
- flyingmachine.clojure-uberjar-webapp-nginx
- полезна, но необязательна
Пример плейбука
---
- 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
https://github.com/sweet-tooth-clojure/ansible-role-clojure-uberjar-webapp-app
Лицензия
MIT
Информация об авторе
Дэниел Хиггинботам
ansible-galaxy install sweet-tooth-clojure/ansible-role-clojure-uberjar-webapp-app