Scala 使用deb文件和SBT为生产设置日志记录/配置

Scala 使用deb文件和SBT为生产设置日志记录/配置,scala,debian,sbt,sbt-native-packager,Scala,Debian,Sbt,Sbt Native Packager,我正在搜索在deb文件中使用 a、 )我想将我的reference.conf和logback.xml从我的代码库复制到/etc/my-app/reference.conf或/etc/my-app/logback.xml我想这在某种程度上可能与linuxPackageMappings有关,但我还没有找到一个例子,我仍在努力了解SBT和插件是如何协同工作的。 b、 )我需要告诉我的jvm,当通过创建的upstart启动时,我应该使用此配置和此logback配置-如何将build.scala中的参数传

我正在搜索在deb文件中使用

a、 )我想将我的
reference.conf
logback.xml
从我的代码库复制到
/etc/my-app/reference.conf
/etc/my-app/logback.xml
我想这在某种程度上可能与
linuxPackageMappings有关,但我还没有找到一个例子,我仍在努力了解SBT和插件是如何协同工作的。

b、 )我需要告诉我的jvm,当通过创建的upstart启动时,我应该使用此配置和此logback配置-如何将build.scala中的参数传递到jvm运行脚本

这是我当前的项目val:

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"))

谢谢

听到了很多问题

a) 因此,您可以通过将conf和xml文件包含在debian包中来安装它们。构建debian软件包不是内置到sbt开箱即用的。您可以尝试,但最好退出sbt,只使用许多常规方法中的一种来创建debian软件包

请注意,您不应该在linux设备上登录到/etc。日志应置于/var下

b) 您可以安装一个init脚本,该脚本包含-D peramiters,告诉play在哪里可以找到它的conf和logback.xml文件

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

c) 您应该登录到/var下的某个目录

您可以在postinst脚本中创建目录,该脚本是debian包的一部分。puppet(或类似的东西)可以更好地管理部署框上的配置文件。

a)有关记录输出的信息,请参阅。配置输入可以很容易地用

mappings in Universal <+= (packageBin in Compile, baseDirectory ) map { (_, base) =>
    val conf = base / "conf" / "reference.conf"
    conf -> "conf/application.conf"
} 
Universal中的
映射
val conf=base/“conf”/“reference.conf”
conf->“conf/application.conf”
} 
按照惯例,Universal打包在conf文件夹中定义配置文件。对于debian,它会自动映射到/etc/your app/filename


b) 向脚本传递参数也是通过配置文件完成的。使用0.7.0-M3并按照说明进行操作,查看感谢标记。我已经在使用sbt native packager(我将编辑我以前的文章)。问题主要是sbt本机软件包,该软件包将创建初始化脚本并为deb文件设置路径。如果您可以发布build.scala,hear上的某个人可能会帮助您了解详细信息。