我有一个由teamcity构建的多模块maven项目。这是有效的,产生的工件是:
/core/target/core-system-1.2.3.war
/plugins/plugin-a/target/plugin-a-1.2.3.jar
/plugins/plugin-b/target/plugin-b-1.2.3.jar
/plugins/plugin-c/target/plugin-c-1.2.3.jar
/plugins/...
目前,在常规设置下使用此工件收集工件:
core/**/target/*.war => dist/core
plugins/**/target/*.jar => dist/plugins
所以,我在dist
- 文件夹中有所有需要的文件(之后它们通过ssh被推送到部署服务器)。但是,teamcity会保留" target" -folder(这里也会提到[1]):
/dist/core/target/core-system-1.2.3.war
/dist/plugins/plugin-a/target/plugin-a-1.2.3.jar
/dist/plugins/plugin-b/target/plugin-b-1.2.3.jar
/dist/plugins/plugin-c/target/plugin-c-1.2.3.jar
我需要从结果中删除target
目录:
/dist/core/core-system-1.2.3.war
/dist/plugins/plugin-a/plugin-a-1.2.3.jar
/dist/plugins/plugin-b/plugin-b-1.2.3.jar
/dist/plugins/plugin-c/plugin-c-1.2.3.jar
有很多插件,它们会不时发生变化,所以我不想用静态路径来定义它们。因此,使用plugins/plugin-a/target/*.jar => dist/plugins/plugin-a
是可能的,但不可行。
那么,如何从工件路径中删除target
目录,而不选择不在target
目录中的其他jar?
TeamCity是10.0.4
答案 0 :(得分:0)
你有没有试过这样的事情:
core/**/target*/*.war => dist/core
plugins/**/target*/*.jar => dist/plugins
根据TeamCity文档,您引用了它:
[..]也就是说,TeamCity将从模式中第一次出现通配符开始创建目录。