sweet-tooth-clojure.clojure-uberjar-webapp-app
Clojure Uberjar Webapp: アプリ
この役割は、スタンドアロンのJavaプログラムをウェブサーバーとして実行するためのサーバーを設定します。以下のことを行います:
- Javaプログラムを実行するために必要なパッケージ(openjdk-8-jre)をインストールします
- プログラムをサービスとして実行するためのアップスタートスクリプトをインストールします
- プログラムの設定に環境変数を使用します
簡単な概要や指示については、こちらを参照してください。 Ansibleに関する導入ガイドや、この役割の詳細な説明については、初めてのClojureアプリのデプロイを参照してください。
要件
特になし
役割の変数
できるだけ多くのパラメータを設定するようにしましたが、すべてが機能するために必要な変数が少しだけで済むようにデフォルトを定義しています。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
にアップロードされます。アップスタートサービスはfoo-bar-com
と名付けられ、ログは/var/log/foo-bar-com/foo-bar-com.log
に保存されます。この一貫性があると、ファイルシステムをナビゲートしやすくなります。
データモードの変数に関する参照がありますが、これはオプションです。この役割がデータモードに関する参照を含まないように改善していきたいと考えています。
変数 | 説明 |
---|---|
clojure_uberjar_webapp_app_user |
アプリ関連のファイルを所有するユーザー |
clojure_uberjar_webapp_app_http_port |
jarファイルを起動する際にHTTP_SERVER_PORT 環境変数に設定される |
clojure_uberjar_webapp_app_http_env_path |
HTTP_SERVER_PORT をエクスポートするファイルを置く場所; アップスタートでソースされる |
clojure_uberjar_webapp_app_service_name |
アップスタートで使用される、例: 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 |
アプリの環境変数を設定するファイルを保存する場所; アップスタートスクリプトでソースされる |
clojure_uberjar_webapp_app_check_local_path |
デプロイメントを確認するためのスクリプトテンプレートをローカルマシンで探す場所 |
clojure_uberjar_webapp_app_command |
ウェブアプリを起動するためにアップスタートスクリプトで使用される |
依存関係
例プレイブック
---
- 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
著者情報
ダニエル・ヒギンボトム