2015-08-04 2 views
3

У меня возникли некоторые проблемы, связанные с созданием дистрибутива моего Play приложения. Деб файл создан правильно, и я могу установить его на Ubuntu 15.04, но запускать и останавливать службы не могут быть установлены:Развертывание приложения Play как пакета Debian

[email protected]:~/dev/projects/test/target$ sudo dpkg -i test_0.2_all.deb 
Selecting previously unselected package test. 
(Reading database ... 350339 files and directories currently installed.) 
Preparing to unpack test_0.2_all.deb ... 
Unpacking test (0.2) ... 
Setting up test (0.2) ... 
Adding test to autostart using update-rc.d 
update-rc.d: error: initscript does not exist: /etc/init.d/test 
Failed to start test.service: Unit test.service failed to load: No such file or directory. 
test could not be registered or started 

Я также попытался включить в пакет с «производственной версии» применения. conf и некоторые jvmopts, не повезло (deb-файл имеет версию application.conf из/conf, а не из src/universal/conf -is, что правильный путь? - и jvmopts, кажется, полностью игнорируется).

Это build.sbt я использую в моем проекте:

import RjsKeys._ 

import com.typesafe.sbt.packager.archetypes.ServerLoader.{SystemV, Upstart} 

serverLoading in Debian := SystemV 

bashScriptConfigLocation := Some("${app_home}/../conf/jvmopts") 

bashScriptExtraDefines += """addJava "-Dconfig.file=${app_home}/../conf/application.config"""" 

name := """test""" 

version := "0.2" 

maintainer in Linux := "Me <[email protected]>" 

packageSummary in Linux := "Test" 

packageDescription := "Test" 

daemonUser in Linux := normalizedName.value 

daemonGroup in Linux := (daemonUser in Linux).value 

doc in Compile <<= target.map(_/"none") 

lazy val root = (project in file(".")).enablePlugins(PlayScala,JavaServerAppPackaging,DebianPlugin) 

linuxPackageMappings in Debian := linuxPackageMappings.value 

scalaVersion := "2.11.1" 

pipelineStages := Seq(rjs, digest, gzip) 

resolvers += Resolver.sonatypeRepo("snapshots") 

libraryDependencies ++= Seq(
    jdbc, 
    anorm, 
    cache, 
    ws, 
    filters, 
    "org.webjars" %% "webjars-play" % "2.3.0", 
    "org.webjars" % "jquery" % "2.1.3", 
    "org.webjars" % "bootstrap" % "3.3.4", 
    "org.webjars" % "bootbox" % "4.4.0", 
    "org.webjars" % "angularjs" % "1.3.15", 
    "org.webjars" % "angular-ui-bootstrap" % "0.13.0", 
    "org.webjars" % "nervgh-angular-file-upload" % "1.1.5-1", 
    "org.webjars" % "angular-uuid4" % "0.3.0", 
    "org.webjars" % "requirejs" % "2.1.14-1", 
    "org.webjars" % "d3js" % "3.5.5-1", 
    "org.webjars" % "d3-tip" % "0.6.6", 
    "com.google.inject" % "guice" % "3.0", 
    "ws.securesocial" %% "securesocial" % "master-SNAPSHOT", 
    "org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23" 
) 

scalacOptions ++= Seq(
    "-target:jvm-1.7", 
    "-encoding", "UTF-8", 
    "-deprecation", 
    "-feature", 
    "-unchecked", 
    "-Xlint", 
    "-Ywarn-adapted-args", 
    "-Ywarn-value-discard", 
    "-Ywarn-inaccessible", 
    "-Ywarn-dead-code", 
    "-language:reflectiveCalls" 
) 

fork in run := false 

webJarCdns := Map("org.webjars" -> "//cdn.jsdelivr.net/webjars") 
+0

Создал ли 'application.ini' путь к' PID'? –

+0

Нет, я этого не сделал, но PID создается при запуске приложения вручную по умолчанию. – Dario

+0

Вы нашли решение? У меня такая же проблема. –

ответ

0
Failed to start test.service: Unit test.service failed to load: No such file or directory. 

... предполагает, что пакет строитель не доставка или правильно устанавливать systemd блок файла с или не правильно используя sysvinit shim. Вы можете выполнить следующую команду:

dpkg -c test_0.2_all.deb 

sudo не требуется. Это отобразит содержимое файла .deb. Если мы видим файл .service, мы должны увидеть файл .postinst пакета, чтобы узнать, делает ли он что-то глупое (или больше похожее на отсутствие какой-либо строчки установки initscript).

+0

У меня такая же проблема, как у автора. Выполнение указанной выше команды не отображает файл .service. Я использую последнюю версию игры, 2.5. –

Смежные вопросы