私はネイティブパッケージャプラグインを使用しているスカラSBTプロジェクトを持っています。私はJavaServerAppPackaging
としてバンドルしており、スタートアップとシャットダウン用のアプリケーションをrc.d
スクリプト(Amazon Linux)で自動的に登録するためのスクリプトを生成したいと考えています。私plugins.sbtで :build.sbtで addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.2.0-M5")
SBTネイティブパッケージャSystemVLoaderがSystemLoaderスクリプトを生成しない
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
を実行したとき、私はアプリケーションを起動するために、SHとCMDファイルでbin
フォルダを含むuniversal
フォルダを見ることができます。ただし、アプリケーションをシステムサービスとして登録/開始するコードはありません。プラグインにアプリケーションを登録するためのスクリプトを生成させるために追加の設定が必要ですか?私は何が欠けていますか?
私はこの問題を実証するための基本的なプロジェクトを作成しました:https://github.com/MojoJojo/sbt-native-packager-test
あなたは、 'Debianのを実行する必要がDebianパッケージを作成したい場合。 – kardapoltsev