如何在 Play 从 git 克隆到 Jenkins 下的单个目录中执行 sbt 任务?



目前HudsonPluginForPlay不支持Play 2.x,作者已经有一段时间没有更新插件了。所以我正在尝试找出一种方法来使用 sbt-launcher 插件自行自动化构建和测试,如 Play 框架 2.0 持续集成设置所强调的那样。

但是,我遇到了一个问题,我的 git 结帐结构是这样的,

project/
project1/ (Play project 1)
project2/ (Play project 2)

现在 sbt 似乎在project/下的根上运行,它什么也没做。

有没有办法让它说,在project1/下运行 sbt 命令,然后project2/?我尝试使用 shell 命令cd目录,但这似乎没有特别的作用。

您可能非常成功地做到了以下几点:

(cd project1; sbt package); (cd project2; sbt package)

以在项目中执行package命令。它实际上与 sbt 无关,因为我只利用了您在 Unix 上构建项目的事实,并且只cd每个项目。

对于 sbt 来说,你无能为力,因为将项目定义为子模块或父项目会禁用project--每个 Play 项目构建的一部分,即 sbt 也可以通过 sbt 项目内目录中project/Scala 代码定义,但它只能在根项目中。如果已将目录project定义为根项目,则子模块可能会损坏。

最新更新