在 build.sbt 中使用 Jenkins 内部版本号通过 sbt-native-packager 构建 RPM
Posted
技术标签:
【中文标题】在 build.sbt 中使用 Jenkins 内部版本号通过 sbt-native-packager 构建 RPM【英文标题】:Use Jenkins build number within build.sbt in play to build RPM with sbt-native-packager 【发布时间】:2014-11-12 13:09:48 【问题描述】:这个问题在某种程度上与Using Jenkins BUILD NUMBER in RPM spec file有关。
您可以使用环境变量$BUILD_NUMBER
在 Jenkins 进程中访问内部版本号。但是我如何在我的 Play 中使用这个环境变量! build.sbt
文件将rpmRelease := "..."
设置为实际内部版本号?
RPM 是在 Jenkins 中使用简单的 Shell 命令 activator rpm:packageBin
构建的。
【问题讨论】:
我作为评论回答 b/c 我不确定,但要尝试的一件事是将任意值传递给您的 application.conf。请参阅playframework.com/documentation/2.3.x/Configuration 的最底部。因此,在 Jenkins 中,您可以运行像activator -DrpmRelease=$BUILD_NUMBER dist
这样的终端命令。
【参考方案1】:
您可以将 scala 代码放在 build.sbt 文件中,这样应该可以工作:
rpmRelease := sys.env("BUILD_NUMBER")
或者如果您需要提供默认值:
rpmRelease := sys.env.get("BUILD_NUMBER").getOrElse("SOME DEFAULT VALUE")
【讨论】:
以上是关于在 build.sbt 中使用 Jenkins 内部版本号通过 sbt-native-packager 构建 RPM的主要内容,如果未能解决你的问题,请参考以下文章
使用 sbt-spark-package 插件了解 build.sbt
如何在 sbt 子项目 build.sbt 文件中获取对当前项目的引用