Jenkins的指纹存储外部化是Google Code 2020夏季项目。我必威国际有限公司们正在为指纹构建一个可插拔的存储引擎(参见中- 226).

文件指纹是一种跟踪作业/生成使用的文件版本的方法,使依赖项跟踪变得容易。Jenkins的指纹引擎可以跟踪系统内工件、凭证、文件等的使用情况。目前,它通过维护一个基于XML的本地数据库来实现这一点,该数据库依赖于Jenkins控制器的物理磁盘。必威国际有限公司

允许将指纹存储移动到外部存储,降低了Jenkins实例对物理磁盘空间的依赖,还允许跟踪连接到相同外部存储的Jenkins实例之间的指纹流动。必威国际有限公司

使用外部存储驱动的优点:

  • 消除对Jenkins控制器磁盘存储的依赖必威国际有限公司

  • 可以配置按需付费的云存储吗

  • 简单的备份管理

  • 更好的可靠性和可用性

  • 可以在Jenkins实例中跟踪指纹必威国际有限公司

除了这个API,我们还正在开发一个参考实现以插件的形式,由Redis提供动力。

随着项目的第一阶段的结束,这篇博客文章总结了我们向整个Jenkins社区所取得的进展。必威国际有限公司

当前状态

  • 新的API在Jenkins核心中引入的必威国际有限公司正在审查中。一旦合并,它将为开发人员提供扩展功能,以构建外部指纹存储插件。

  • Redis指纹存储插件alpha版本准备好了吗?我们将非常感谢任何反馈。

外部指纹存储演示

为插件开发者引入新的API

PR-4731,我们引入了一个新的指纹存储API,允许配置自定义存储引擎。我们在新版本中公开了以下方法指纹存储类:

  • 孔隙保存()

    • 将给定的指纹保存在存储器中。

  • 指纹负载(String id)

    • 返回带有给定唯一ID的指纹。指纹的唯一ID由fingerprint #getHashString()定义。

  • 删除无效(字符串id)

    • 用给定的唯一ID删除指纹。

  • 布尔isReady ()

    • 如果指纹数据库中有与特定Jenkins实例相对应的数据,则返回true。必威国际有限公司

介绍Redis指纹存储插件

Redis指纹存储插件使用新的外部指纹存储API将指纹存储在Redis实例中。

安装:

alpha版本0.1α1)的插件草案,并可以安装使用实验更新中心

运行Jenkins后,请按照以下步骤下载并安装插件:必威国际有限公司

  1. 选择管理詹金斯必威国际有限公司

  2. 选择管理插件

  3. 先进的标签

  4. 将更新站点URL配置为:https://updates.必威国际有限公司jenkins.io/experimental/update-center.json

  5. 点击提交,然后按检查现在按钮。

  6. 可用选项卡。

  7. 搜索Redis指纹存储插件然后在旁边的方框上打勾。

  8. 点击安装没有重启

插件现在应该安装在您的系统上。

用法

一旦插件已经安装,你可以通过以下步骤配置Redis服务器的详细信息:

  1. 选择管理詹金斯必威国际有限公司

  2. 选择配置系统

  3. 滚动到该部分Redis指纹存储配置并填写所需资料:

    配置复述,

    • 主办—输入Redis运行的主机名

    • 港口—指定Redis运行的端口

    • SSL-如果启用了SSL,请单击

    • 数据库- Redis支持整数索引数据库,可以在这里指定。

    • 连接超时—设置连接超时时间,单位为毫秒。

    • 赔款超时—设置socket超时时间,单位为毫秒。

    • 凭证—配置使用用户名和密码对Redis实例进行认证。

    • 启用-选中此项可启用插件(注意:此插件可能很快就会被删除,并将在默认情况下启用。)

  4. 使用测试复述,连接来验证细节是否正确,Jenkins是否能够连接到Redis实例。必威国际有限公司

  5. 拯救按钮。

  6. 现在,这个Jenkins实例生成的所有指纹都应该保存在配置好的Redis服务器中!必威国际有限公司

未来的工作

我们打算在下一阶段解决的一些主题包括扩展API、指纹清理、迁移(内部→外部、外部→内部、外部→外部)、跟踪、ORM、实现可保存的侦听器等。

确认

Redis指纹存储插件是由Google代码之夏(GSoC)团队为您构建和维护的詹金斯的外部指纹存储必威国际有限公司

特别感谢奥列格Nenashev安德烈法迈克Cirioli杰西•格里克以及整个Jenkins社区对这个项必威国际有限公司目的贡献。

伸出

请随时联系我们,以获得任何关于项目的问题、反馈等吉特海峡或者必威国际有限公司Jenkins开发者邮件列表

我们使用詹金斯必威国际有限公司吉拉跟踪问题。请随时将问题提交到redis指纹存储插件组成部分。

关于作者
苏米特沙林

必威国际有限公司Jenkins谷歌代码2020暑期班学生。Sumit是德里大学Netaji Subhas理工学院工程专业的大四学生。他于2019年12月开始了对Jenkins的贡献之旅。必威国际有限公司他的微小贡献围绕着詹金斯指纹引擎。必威国际有限公司他目前正在从事建筑工作詹金斯的外部指纹存储必威国际有限公司