1

我正在尝试为每个构建发布 HTML 报告。我尝试了插件HtmlPublisher (1.22),但是当它在他们的构建页面上发布我的报告时(使用keepAll=true),它会在每个构建目录中创建所有先前构建的报告副本。因此,每个 Jenkins 构建都包含许多旧报告的副本,而且它们越来越大。如果我在项目页面上发布我的报告(使用keepAll=false),旧报告将保留在他们的项目目录中(在我的文件系统中),但只能从 Jenkins 访问最后一个报告。有什么方法可以在不创建副本的情况下在其构建页面上生成报告?也许,我仍然缺少一些参数。

我的管道包括以下 HtmlPublisher 使用:

publishHTML (target: [
  allowMissing: false,
  alwaysLinkToLastBuild: false,
  keepAll: true,
  reportDir: "./htmlReports",
  reportFiles: reportFileNames, //generic variable
  reportName: "Results"
])

编辑: 似乎 publishHTML 发布了整个目录 ( reportDir) 而不是文件 ( reportFiles)。这些文件仅用于发布包装器(由 publishHTML 生成的 HTML)。因此,当我将我的 HTML 工件生成到所有构建的共享目录时,此共享目录中的所有文件都会在发布期间复制到构建目录。

有没有办法我可以只发布特定文件而不归档目录中的所有文件?

谢谢

4

1 回答 1

0

我猜想复制整个目录是因为已发布的 HTML 页面的可能资源。因此,所有文件都归档到 (build/project) 目录。

htmlPublisher 提供可选参数包括允许指定归档文件。

于 2020-04-02T16:34:33.070 回答