SBT Native Packager SystemVLoader не генерирует сценарии SystemLoader
У меня есть проект scala SBT, где я использую плагин нативного упаковщика. Я связываю как JavaServerAppPackaging
и хотел бы сгенерировать сценарии для автоматической регистрации приложения для запуска и завершения работы с rc.d
скрипты (Amazon Linux). В моих plugins.sbt:
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.2.0-M5")
В build.sbt
lazy val server =
DefProject("some/server", "server")
.settings(serverModuleDeps)
.settings(ServerSettings.allSettings: _*)
.settings(CloudFormation.defaultSettings: _*)
.settings(serverLoading in Universal := Option(ServerLoader.SystemV))
.settings(serviceAutostart:=true)
.settings(startRunlevels:=Option("3"))
.settings(stopRunlevels:=Option("3"))
.settings(stackRegion := "US_WEST_2")
.settings(codedeployAWSCredentialsProvider := Option(new ProfileCredentialsProvider("devcredentialsprovider")))
.dependsOn(sharedJvm)
.dependsOn(langJVM)
.enablePlugins(JavaServerAppPackaging, SystemVPlugin)
.settings(daemonUser:="ec2-user")
.configure(InBrowserTesting.jvm)
когда я бегу sbt stage
Я вижу universal
папка, содержащая bin
папка с файлом sh и cmd для запуска приложения. Однако нет кода для регистрации / запуска приложения в качестве системной службы. Требуется ли дополнительная настройка, чтобы плагин генерировал скрипты для регистрации приложения? Что мне не хватает?
Я создал базовый проект для демонстрации проблемы: https://github.com/MojoJojo/sbt-native-packager-test
1 ответ
Ваша конфигурация верна. Ваша команда SBT не:)
с packageBin (который запускает IIRC universal:packageBin
) генерирует только универсальный zip-файл. Системный загрузчик - это специфическая часть операционной системы. Вот почему это не входит в универсальный почтовый индекс.
Создайте файл debian или rpm с помощью
debian:packageBin
rpm:packageBin
В сгенерированный пакет deb или rpm будут включены файлы системного загрузчика, поскольку они находятся в том месте, где их ожидает система, основанная на rpm / debian.
Связанная проблема: https://github.com/sbt/sbt-native-packager/issues/869