我正在尝试在网页中显示结果。我想从buildbot的瀑布页面链接这个。但是当我使用<a href="link to the page">click</a>
时,所需的网页无法打开。我已将此新网页放在templates目录中。还有什么需要做的吗?
答案 0 :(得分:1)
由于您要显示的结果是由您的某个构建产生的, 瀑布网页模板不相关,因为它们是模板 对于整个瀑布,包括所有构建,无论它们是否存在 是产生这些特定结果的构建。
如果您希望提供指向构建生成的某些文件的链接,请选择
构建中的构建步骤,或者为此目的创建一个构建步骤
瀑布显示中其状态框内的那些链接(例如,在
ShellCommand
buildstep提供其stdio
日志链接的方式。
例如,您可以使用描述向构建添加最后一步
报告或发布。
您必须编写自定义的BuildStep
类来执行您选择的步骤
或创造。您的自定义BuildStep
课程必须来自LoggingBuildStep
,
或者来自ShellCommand
已经派生的类LoggingBuildStep
。
必要的自定义是使用覆盖createSummary
方法
您自己的实现,并在该实现中调用addURL
方法来添加URL
到要发布到buildstep状态框的文件。你可以添加为
你喜欢的很多网址。这是一个大纲示例:
class ReportingStep(ShellCommand):
...
command = ['upload','report',to','some','server']
...
def createSummary(self,log):
...
url = "url/to/the/report/on/the/server"
self.addURL("Report", url)
现在,当ReportingStep
完成时,其状态框将包含
标记为Report
的链接指向该步骤已上传到服务器的报告。
Google“buildbot buildstep createSummary”获取更多潜在客户。
如果我的文件在本地保存怎么办?现在我只想让用户有一个下载压缩文件的链接? 据我所知,上述定制将有助于提供外部URL。
用户点击从 buildmaster 提供的链接。如果你的 build只是在本地保存这些文件,然后它们保存在 buildslave 上。 因此,除非您的buildslave与buildmaster位于同一台计算机上,否则该链接必须是“外部”文件的URL。
另一方面,如果您的buildstep将文件上传到 buildmaster , 然后链接可以成为本地文件的链接 - 在buildmaster上的本地文件 正在提供链接。
如果你的buildlave 与你的buildmaster在同一台机器上,那么显然 你不需要做任何上传:
addURL("Report",file:///path/to/the/zipfile.zip)
但请记住,如果您希望这些链接中的内容具有持久性
/path/to/the/zipfile.zip
最好不要被某个遭到破坏的地方
每个构建。