jenkins - 存档工件'*'不匹配任何东西
Posted
技术标签:
【中文标题】jenkins - 存档工件\'*\'不匹配任何东西【英文标题】:jenkins - archive artifacts ‘*’ doesn’t match anythingjenkins - 存档工件'*'不匹配任何东西 【发布时间】:2017-04-03 14:18:48 【问题描述】:我正在尝试设置一个步骤来存档工件,并且我想存档所有内容,但是指定 * 不起作用。詹金斯提出 “*”不匹配任何内容
如果我运行作业而不管作业失败并且日志显示: 错误:未找到与文件模式“”匹配的工件。配置错误? 错误:“”不匹配任何内容
我也尝试过使用 **,但又出现了同样的错误
【问题讨论】:
参考issues.jenkins-ci.org/browse/JENKINS-17351 表示无法归档工作区外的工件 【参考方案1】:这是要检查的内容:
存档工件只能在工作空间中工作,而在外部失败
路径应该是工作空间中的相对路径并且不以“.”开头:
archiveArtifacts artifacts: "build/**"
archiveArtifacts artifacts: "./build/**" // Fails
archiveArtifacts artifacts: "$workspace/build/**" // Fails
" *" 匹配目录中的任何文件,** 将匹配包括目录和子目录在内的所有文件,**/.log 将匹配所有带有 potfix 的子目录中的文件
取决于它是 windows 还是 linux 节点,您可能希望以不同的方式表达您的路径
【讨论】:
【参考方案2】:如果您在 Windows 主机上运行 Jenkins,则必须使用 *.*
进行所有操作
【讨论】:
尝试使用**/*
‘/*’不匹配任何内容:‘’存在但不存在‘*/’
也失败并出现相同的错误错误:'/*' 不匹配任何内容:'' 存在但不存在'*/' |错误:未找到与文件模式“*/”匹配的工件。配置错误?
如果你的工作的工作区是空的,你能检查一下吗?如果没有文件,Jenkins 将无法归档工件
那里没有文件【参考方案3】:
*
仅匹配工作空间中的any files
,如果要归档的工件在某些子目录中,则需要**/*.sh
之类的模式来匹配所有子目录中的所有文件,后缀为.sh
。
【讨论】:
我确实说过我需要归档所有内容 然后是**/*
。
也失败并出现相同的错误错误:'/*' 不匹配任何内容:'' 存在但不存在'*/' |错误:未找到与文件模式“*/”匹配的工件。配置错误?
这很有趣,我很确定**/*
正在工作,因为我在发布答案之前尝试过。顺便说一句,您是否使用 '**/*'
或 "**/*"
之类的引号配置它?我用这种方式尝试时遇到了同样的问题。以上是关于jenkins - 存档工件'*'不匹配任何东西的主要内容,如果未能解决你的问题,请参考以下文章
是否将“仅在构建成功时存档工件”设置为 true 意味着,如果构建失败,任何工件都不会在 Jenkins 中创建?