【问题标题】:Jenkins and monitoring artefacts (like jupyter notebooks)Jenkins 和监控人工制品(如 jupyter 笔记本)
【发布时间】:2018-05-31 15:07:14
【问题描述】:

哪种方法最适合以下任务? 我们使用 Jenkins 进行数据科学实验(experiment = jenkins build)。

我希望(对于我要配置的工作)每个构建都显示: a)其生产的 jupyter notebook(该工作已作为构建的一部分完成)。也许这被称为“构建工件”?我对吗? b)实时(就像它正在监视'控制台输出'上的标准输出)jupyter笔记本视图,构建正在运行。 (对于不熟悉 ipython 笔记本的人 - 作为管道的一部分,构建将使用 bash 命令启动 jupyter 笔记本服务器并运行特定文件。然后 jupyter 服务在它运行的节点上创建 - 在本地主机网络服务器上在特定端口上...我希望在 jenkins->job->build ... meybe 中显示该端口的 Web 应用程序输出在插件页面上,我当然不想覆盖控制台输出)

是否已经有一个插件?还是我应该自己做一个?还是应该使用一些技巧更容易? 最好的方法是什么?

谢谢!

【问题讨论】:

    标签: python jenkins jupyter-notebook jupyter data-science


    【解决方案1】:

    我认为最好构建您的项目,根据需要提取任何依赖项(即 pip/conda install ...),或者使用 nbviewer 呈现笔记本的静态版本?

    这样,您可以直接从您的 Jenkins 节点使用 HTML Publisher Plugin 从从属服务器运行它,或者推送到 S3、内部 Web 服务器等。

    如果您必须运行笔记本,我会避免从奴隶运行它。它最初可能有效,但随着时间的推移,如果您也使用节点资源为笔记本提供服务,这将使您更难分配构建负载。

    希望有所帮助 布鲁诺

    【讨论】:

    • 感谢您的想法,我会看看 HTML 发布者!问题是,jupyter 每次运行时都会生成新地址......无论如何,我已经在我的工作中安装了所有要求,所以没关系。实际上,我真的很想运行笔记本,因为我使用 Jenkins 作为节点及其 gpus 的资源管理器(以使事情自动化,从而不需要在我的计算机上使用 ssh ;))至于“我会避免”-> 我们实际上现在使用节点资源为笔记本提供服务,所以这只是向前迈出的一步 :) 我认为这是构建操作和机器学习操作之间的区别。
    • 查看了 html 发布者,不幸的是,它不允许在作业运行时显示内容(我只需要 jenkins 显示我,可能使用我自己的插件......?,节点的内容localhost:8080 在选项卡中或我可以从浏览器中看到的某个地方 - 显然无法从我的浏览器直接链接到 localhost:8080 :) )
    猜你喜欢
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多