我正在尝试在Bamboo构建完成后复制工件。我已将其设置为从maven目标复制以获取站点报告。像这样从目标目录获取所有目录和文件。
/target/
*.*
当我在构建运行后查看工件时,我只有一个目录和构建期间创建的.war文件。我很困惑为什么我没有得到/ site dir和其他人/ cobertura等,
答案 0 :(得分:3)
我认为您使用的是Configuring a job's build artifacts中概述的Bamboo的工件定义,即根据下面的图片,您工件的位置是{{1}它的复制模式是/target/
?
如果请注意,复制模式不是常见的DOS / UNIX通配符,而是Ant file copy pattern:
通常,模式被视为相对于任务的相对路径 依赖基目录[...]。 仅考虑在该基本目录下找到的文件。
这特别允许创建模式,以便从整个目录层次结构中选择性地包含和排除文件,而不仅仅是从顶级目录(当然可能包括整个目录)。后者显然是你应用DOS / UNIX通配符*.*
的实际意图,但作为Ant模式,它只匹配顶级目录中的所有文件:
匹配是按目录完成的。这意味着首先是第一个 模式中的目录与第一个目录匹配 匹配的路径。然后匹配第二个目录,依此类推。对于 例如,当我们有模式
*.*
和路径时/?abc/*/*.java
,第一个/xabc/foobar/test.java
与?abc
匹配,然后xabc
与*
匹配,最后foobar
与*.java
匹配。
此外,您可以使用特殊模式test.java
来匹配多个目录级别:
当**用作模式中目录的名称时,它匹配 零个或多个目录。例如:
**
匹配所有/test/**
下的文件/目录,例如/test/
或/test/x.java
,但不是/test/foo/bar/xyz.html
。
长话短说,为了在指定的位置 /xyz.xml
中包含所有文件和目录,您只需使用target
。