问题标签 [sbt-native-packager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
playframework - sbt-native-packager:如何创建包的变体,例如带有配置扩展的包?
在带有 sbt-native-packager (0.7.x) 的 Play 框架 (2.3.x) Java 项目中,如何创建客户特定的 .deb 和 .rpm 包变体?
二进制包(.deb、.zip)是使用通用设置创建的。一些客户需要根据他们的规范使用守护程序用户名或日志位置等特殊信息。我想保持通用包及其设置不变,并添加例如带有一些覆盖的新配置,以便我可以使用activator customer:packageBin
.
到目前为止,我尝试的是创建一个新的 SBT 配置,它是 sbt-native-packager 的配置,因此我的有限理解应该继承它的设置和任务extend
。Debian
然后我希望能够设置 eg daemonUser in Customer := "custom"
,否则使用现有的 Debian 设置。
我build.sbt
的示例 Play-Java 项目 ( activator new
› play-java
):
如您所见,我现在可以设置 eg daemonUser in Customer
。在 Play 控制台中,我可以看到它已正确应用inspect customer:daemonUser
. 我可以用 .deb 创建一个 .deb 包activator customer:packageBin
。但是包几乎是空的,并且不包含应用程序:
每个客户的额外配置是可行的方式还是不像我想象的那样工作?
有没有不同的方法来实现我需要的东西,例如子项目?
docker - SbtNativePackager“在 Dockerfile 中找不到 EXPOSE 指令”
我正在使用播放 2.2。
这是我的 build.sbt
当我运行 deploy:stage 时,生成的 Dockerfile 中缺少 EXPOSE 指令。
这是生成的 Dockerfile
docker - 如何在 sbt-native-packager 0.8.0-M2 和 Play 中使用 Docker
我正在尝试在 Play 2.2 项目上构建 Docker 映像。我在 Ubuntu Linux 上使用 Docker 版本 1.2.0。
我在 Build.scala 中的 Docker 特定设置如下所示:
生成的 Dockerfile:
输出看起来像 dockerBaseImage 被忽略了,默认
需要做些什么来完成这项工作?
我可以从命令行使用 Docker 构建映像:
rpm - 如何在 sbt-native-packager rpm 构建中包含 libsigar?
我正在尝试使用 sbt-native-packager 构建一个 rpm 包,并且我想包含 sigar 二进制文件。我收到一个错误“错误:noarch 包中的 Arch 依赖二进制文件”并且设置 packageArchitecture 似乎没有帮助。关于如何适当配置它的任何建议?
我目前正在通过 unmanagedDependencies 添加 sigar 依赖项。
scala - sbt native-packager RPM 安装目录问题
我试图修改我的 RPM 的安装目录。这似乎可行,但是我的 RPM 现在缺少init.d
启动脚本。当我查看时target/universal/tmp/bin
,我没有看到 systemv-init。
下面是我的代码片段build.sbt
,显示了我如何覆盖安装目录。src/templates
我的 scala fat jar 应用程序的目录中有自定义启动脚本。当我删除下面的安装目录覆盖时,RPM 包可以正常安装并在/usr/share
. 非常感谢您对此问题的任何帮助。
sbt - 类型安全配置无法解析带有变量的 url
我需要基于 ENV 变量连接到 PostgreSQL 服务器。ENV 变量由 Docker 设置。我正在使用 sbt-native-packager 创建我的 akka/play 项目的 docker 容器。
所以我尝试将变量添加到我的 conf 中:
不幸的是,无法再解析配置文件:
45: 期望右大括号 } 或逗号,得到 ':'(如果您希望 ':' 成为 'url' 值的一部分,请尝试将值括在双引号中,或者您可以重命名文件。属性而不是 .conf)
(其中 45 是 url= 行)
当在 url 字符串周围使用 " 时,${host} 变量不再被替换,播放应用程序将抛出 HostNotFoundException。
有没有人建议如何在类型安全配置中使用的 JDBC url 中包含 ENV 变量?
git - 组织多个 scala 相互关联的 sbt 和 git 项目 - 最佳实践建议
使用scala
,sbt
用于构建和git
版本控制,当您的团队代码超出单个项目时,什么是组织团队代码的好方法?在某个时候,您开始考虑将代码分离到单独的库或项目中,并根据需要在它们之间导入。你会如何组织这些事情?或者你会避免诱惑,只管理同一个 sbt 和 git 单一“项目”下的所有包吗?
兴趣点是:(随意更改)
- 避免发明过度设计想象需要的新“头痛”。
- 在给定的开发机器或
CI server
. - 用于生产的包装:能够用来
SbtNativePackager
包装您的东西以用于生产,而不会带来太多痛苦。 - 轻松控制您在给定开发机器上使用的每个库的版本,并能够在它们之间无缝切换。
- 避免 git 操作变得比通常情况下更糟。
此外,您会使用某种“本地 sbt/maven 团队存储库”吗?可能需要做些什么来完成它?希望这不是必需的。
谢谢!
sbt - 为什么“sbt stage”会因 Not a valid command 而失败?
当我尝试使用以下方式暂存我的应用程序时出现错误sbt clean compile stage
:
我已经在其他机器上做了数百次没有问题。我有 SBT 0.13.5 - 有人见过这个吗?我已经阅读了这篇文章,但我不在 Heroku 上。谢谢。
scala - 使用通用 sbt-native-packager 创建一个没有根目录的 zip
我使用通用 sbt-native-packager 生成一个 zip 文件分发。
提取后生成的 zip 文件包含名为我的 zip 文件的主目录中的所有内容:
如何创建一个没有根文件夹的 zip,以便在提取时具有这样的结构?
谢谢
sbt - sbt-native-packager 无法将 NativePackagerKeys._ 导入 Build.scala
标题说明了一切。我敢肯定这是一件小事,但我已经用了几个小时了,无法舔到它。
- SBT 13.7
- sbt-native-packager 1.0.0-M1
- 使用自动插件
- 斯卡拉 2.10.4
- 使用 Build.scala
- 使用 sbt 脚本进行标准化
我的project
文件夹看起来像这样
plugins.sbt
Build.scala
哪个,当尝试编译时,吐出
我试过移动这些导入语句,但还没有看到任何不同。有任何想法吗?谢谢。