Bamboo在哪里寻找文物?

ynk*_*nka 5 bamboo

我创建了一个Bamboo生成计划,该计划应该会生成工件。而且确实如此-我在服务器上看到了生成的文件。不幸的是,Bamboo不会将文件复制到所需位置->不会将它们视为可以从Bamboo服务器下载的工件。

我正在使用Bamboo 4.3.3。该文档告诉我描述工件相对于“工作目录”的位置,因此我尝试将所有内容复制到${bamboo.build.working.directory}

我尝试了其他位置 / 复印模式设置,但无济于事。

我应该放在哪里?我有一个脚本环境,没有Maven或Ant可以帮助我。

ynk*_*nka 1

我终于明白了 Bamboo 没有看到的我的工件和测试结果发生了什么:

  1. 测试结果:有一个已知错误影响 4.4.5 之前的所有版本,该错误在脚本环境中表现出来。幸运的是,它有一个解决方法:JUnit Parser:未找到测试结果

Bamboo使用系统属性bamboo.fs.timestamp. precision来定义FS时间戳分辨率。默认设置为 100(毫秒),请设置为更高的值,以使文件日期检查不那么严格。Bamboo 通过以下方式进行检查:

private boolean isFileRecentEnough(final File file)
{
  return file.lastModified() >= (taskStartDate.getTime() - SystemProperty.FS_TIMESTAMP_RESOLUTION_MS.getTypedValue());
}
Run Code Online (Sandbox Code Playgroud)

其他需要检查的项目

仔细检查任务配置并确认其已配置为在作业的当前工作目录中查找测试结果文件(例如:C:\Users\ssetayeshfar\bamboo-home-445\xml-data\build- dir\PROJECT-PLAN-JOB)而不是子目录(例如 C:\Users\ssetayeshfar\bamboo-home-445\xml-data\build-dir\PROJECT-PLAN-JOB/test-results)。

如果构建未生成测试报告(它是之前生成的),请在 JUnit 任务之前使用“touch”命令。

  1. 工件:在我开始使用 Bamboo 时,我不明白工作目录是按作业定义的,并尝试将前一个作业中生成的内容复制为当前作业的工件。