3

sbt-native-packagerを使用して、deb ファイル内で本番環境のログ/構成をセットアップする最良の方法を探しています。

a.)コード リポジトリからorにreference.confandをコピーしたい。 どういうわけか可能だと思いますが、まだ例を見つけることができず、SBTとプラグがどのように連携するかについてまだ苦労しています。logback.xml/etc/my-app/reference.conf/etc/my-app/logback.xmllinuxPackageMappings

b.) 作成された upstart を介して開始されたときに、この構成とこの logback 構成を使用する必要があることを jvm に伝える必要があります - build.scala から jvm-runscript にパラメーターを渡すにはどうすればよいですか

これは私の現在のプロジェクトの値です:

lazy val root = Project(id = appName, base = file("."), settings = JavaServerAppPackaging.settings  ++ packageSettings ++ allSettings ++ Project.defaultSettings)

  lazy val allSettings = Seq(
    resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases",
    resolvers += "Sonatype OSS Snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/",
    libraryDependencies ++= dependencies)

  lazy val packageSettings = packageArchetype.java_server ++ Seq(
    bashScriptExtraDefines := Seq("aha"),
    version := appVersion,
    packageSummary := appName,
    packageDescription := appName,
    maintainer := appAuthor,    
    debianPackageDependencies in Debian ++= Seq("openjdk-7-jre-headless"))

ありがとう

4

2 に答える 2

0

たくさんの質問が混ざり合って聞こえます...

a) したがって、conf および xml ファイルを debian パッケージに含めることでインストールできます。Debian パッケージのビルドは、そのままでは sbt に組み込まれていません。https://github.com/sbt/sbt-native-packagerを試すこともできますが、sbt をやめて、debian パッケージを作成する多くの通常の方法のいずれかを使用する方がよい場合があります。

Linux ボックスでは /etc にログインしないでください。ログは /var の下にある必要があります

b) -D パラメーターを持つ init スクリプトをインストールして、conf および logback.xml ファイルの場所を play に伝えることができます。

$JAVA_HOME/bin/java -Dconfig.file=/etc/foo.comf -Dlogger.file=/etc/logger.xml

c) /var の下のディレクトリにログを記録する必要があります。

debian パッケージの一部である postinst スクリプトでディレクトリを作成できます。ただし、puppet (または同様のもの) は、展開されたボックスの構成ファイルを管理するためのより良い方法になる可能性があります。

于 2013-12-23T12:34:32.217 に答える