gpt4 book ai didi

scala - 随着时间的推移,Scala 项目和任意统计数据的持续集成

转载 作者:行者123 更新时间:2023-12-02 20:12:40 25 4
gpt4 key购买 nike

我正在寻找Continuous Integration各种工具Scala项目。到目前为止我发现Jenkins ,它显然通过 Sbt 的插件支持 Scala 项目。 ,和 Pulse ,它并不直接支持 Scala 项目,但声称它可以轻松集成任何与 Sbt 匹配的命令行构建工具。我没有任何 CI 实践经验,但读过几篇有关 CI 的文章,通常与 Java 相关。

除了常见的功能外,例如支持各种代码版本控制系统发布夜间版本我希望能够记录大量统计数据,随时间绘制它们并触发通知强> 如果某些数字发生意外变化,即变化超过定义的因素。本质上,测试套件中的每个测试最后都会打印一些统计信息,这些统计信息可以通过正则表达式提取,然后保留(与它们来自的测试用例相关联)。

理想情况下,还有一种简单的方法可以对记录的统计数据创建查询,例如,将测试套件的最后一次运行与之前的运行进行比较。然而,这可能无法直接在 CI 工具中完成,但至少应该可以以可查询的格式导出记录的数据,例如 XML 或 JSON。

欢迎任何提示、链接或经验报告!


编辑1:

从某种意义上说,这些统计信息不是 JVM 统计信息,例如代码覆盖率或内存消耗。它们与项目执行的实际工作相关,例如排序算法执行的比较次数,或 SAT 求解器中冲突分配的数量。这些数字在每次运行结束时打印到 stdio,或写入文件。 CI 工具应该“只”允许我将它们呈现为随时间变化的图表,或者执行简单的分析(总和、子午线),或者在数字偏离平均值时发送邮件。

最佳答案

您可以编写一个 Jenkins 插件来收集此标准输出并执行您要求的所有操作。作为抓取标准输出的替代方法,可以将该输出重定向到文件,然后让插件读取该文件。

无论如何,有很多插件可以做这样的事情。只需查找 Jenkins 教程,也许可以获取一个具有类似功能的插件作为示例。

最后一点,我知道 Travis CI也支持Scala,虽然我没有这方面的经验,所以我不知道他们是否支持你的要求。

关于scala - 随着时间的推移,Scala 项目和任意统计数据的持续集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com