一尘不染

如何仅在Jenkins上为一个子模块执行包?

jenkins

我有4个模块SBT项目:module-amodule-bmodule-cmodule-d

每个模块都可以打包为WAR。我想在Jenkins上建立一个部署,该部署将仅构建4个模块之一并将其部署到容器中。

详细地说,我想有4个詹金斯工作- ,job-ajob-bjob-cjob-d每个建筑物仅定义模块(a至d)。

现在,我使用clean update test packageJenkins sbt构建的命令,但这导致打包所有4个模块是不必要的。

我已经尝试过了,project -module-a clean update test package但是没有运气。


阅读 641

收藏
2020-07-25

共1个答案

一尘不染

你可能也想执行项目作用域cleantest任务如下:

sbt module-a/clean module-a/test

对于以下命令适用于哪个项目,解决方案稍短一些,更清楚一些。

您不需要执行update任务,因为它由隐式执行,test如中所述inspect tree test

有一种方法可以使它更干净。在中使用以下内容build.sbt

addCommandAlias("jenkinsJob4ModuleA", "; module-a/clean; module-a/test")

使用别名,执行jenkinsJob4ModuleA具有与上述解决方案相同的效果。

2020-07-25